0


安全学习记录——网络篇(一)

这个只是我的个人笔记,因为安全越学越多,笔记分类越来越多;现在自己又不安定,家里的所有电子设备都得跟着我到处跑。所以干脆写在这里,一是方便自己能随时看到,二是有错的地方还可能有人能帮忙纠正。因为我是商科生,今年才开始正式学计算机,加上入世不深,肯定有不少的错误和遗漏,发现了请随意指出。

我在最开始了解网安时,懂一点英语的人会跟我说这是web security,所以叫它web安全;而习惯了中文表达的人则会跟我说它叫网络安全。但在我的认知中web和网络是两个东西,web按照我们一般的认知应该是通过浏览器访问到的网页(当然实际上并不全是,我只是具体化了);但是网络应当是一个保证信息交换的东西,涵盖面应当比web更广。那么为什么很多人会把web和网络安全混在一起说呢?在《白帽子讲web安全》中提到了:因为防火墙、ACL使得暴露在网络上的系统得到保护,使得绝大部分针对网络、操作系统和软件等领域的攻击被隔绝。但是web的应用越来越多,而且为了保证客户的正常使用访问,不能像对待服务器一样一刀切,攻击方式五花八门,而且用户一般很难像服务端一样有自我保护的能力,所以现在攻击web的价值极高,web安全几乎等于网络安全,于是大家就常常将两个混着说了。

但是既然想要研究安全,就不能只关注web,我觉得为了渗透成功而只学最明显的漏洞,针对性反复练习根本不算在学习,而是应试。因此需要了解一些最基本的原理,避免“一定是我打开方式不对”而反复尝试无结果的问题。那么我就要从网络基础开始。

一、为什么要学网络

能发动攻击的一切前提就是能建立连接。无论什么攻击方式,和找对象是一样的,如果对方不听不看不理不睬,完全沉浸在自己的世界中,拒绝一切交互方式,那根本就没得谈。所以我们需要知道,谁,通过什么方式,可以建立连接,以及,谁,能给我带来什么价值。

二、一般的网络结构

OSI一共有七层,每一层都详细讲原理太麻烦了,比如物理层,我们只需要知道网络设备有哪些,以及他们的作用即可,这些设备又不贵,难道还要买电子元件来自己焊吗(笑)。

常规的网络设备有终端 end、交换机 switch、路由route、防火墙 firewall。

其中终端包括所有在我们手上能用的设备,是我们和虚拟世界交互的窗口。

交换机可以识别储存MAC地址并发送数据包到预期端口balabala...,但其实它所讲述所有功能和原理都是全自动的,根本不需要在意,除非想要手搓或者去搞设计。我身边有很多人反驳我说如果我搞安全的不懂原理,别人制造时给我设备安后门怎么办。首先说这些话的人他们自己连什么是后门都不知道。其次,安全的基础就是我们必须要对这个世界有一定的信任,怀疑一切则寸步难行。扯远了,交换机最大的作用就是创建虚拟局域网vlan,其目的是为了控制内部的访问权限。比如财务的设备全部处于同一vlan10下,但是采购的设备在另一个vlan20中,这样采购的人就没办法访问财务的电脑,杜绝了中饱私囊的可能(我们要相信采购的人不会趁财务人员上厕所时偷偷操作财务的电脑,财务离开时会退出系统,否则网络安全就是空谈,这也不是网络要研究的问题)。

  • vlan的配置方式是:
  1. 创建vlan batch
  2. 进入端口设置属性:access(只允许一个vlan,用来连终端)、trunk(允许多个vlan,只有缺省vlan或者叫默认vlan1,英文原名port default vlan id,用来连交换机或路由,毕竟所有的终端都要通过一个端口发出去,当然有钱的话也可以一个vlan一个交换机,但这还有配置的必要吗)、hybrid(混合,听名字就知道了,混动车的英文也是这个,混合的是数据帧打不打标签的规则,华为交换机端口默认这个,实际需要配置时只用前两个,就行)
  3. 进入每个端口,给端口配置vlan就行。

路由是我们最最熟悉的东西,毕竟每个人家里都有,很多人对于路由的一些最初步的认知就是:一旦没了路由器,所有没有流量卡的的设备全都不能无线上网。我们不用去在乎路由的协议是什么样的,地址是怎么交换的,和交换机一样,全自动,只要连上就能上网。我们只需要知道,DHCP、NAT等全都需要依靠路由来实现。

  • IP是这其中最重要的东西,IP决定了我们能否有访问对方的方法,但是仅仅有IP是不能直接连通的,首先两台设备要在物理层面连通,而且必须要在同一个路由下,在这种条件下,必须要网段相同或者直连才能通。我们熟悉的IP是192.168.1.1,但这其实是二进制位的十进制写法,实质是11000000.10101000.00000001.00000001。两台设备直连就能不在乎一切直接连通,要注意的是,一台设备只有一个网络接口,这种方式只能两两通信,还不如插u盘。比如

  • 但是一旦添加了交换机或者路由,那就必须要网段相同了,网段是由子网掩码决定的,子掩码一般是11111111.11111111.11111111.00000000,换成十进制就是255.255.255.0,把掩码和IP的二进制数做与(and)运算,1+1=1,1+0=0,0+0=0,就得到了网段192.168.1.0,三个255表示网段有三位,第四位随便设,都在同一网段下。同理,两个255表示网段有两位,最后两位随便设。我们一般把网段简写为8、16、24表示二进制掩码的个数。所以,通过交换机连接的设备的通信就像这样,交换机可以换成路由:
  • 路由的最大作用在于将不同网段的设备连接起来,只要路由的发送口上添加了目标IP就能ping通,但是一次全新的连接,在第一次是无法找到MAC地址,所以需要ARP解析,MAC地址是机器的物理地址,绝对唯一且绝对不可更改,和IP不一样,ARP解析就是通过IP得到MAC的过程,这样发进内网才能找到正确的物理对象,不用去管它是怎么工作的。在解析的过程中因为第一找不到MAC发不出包所以杀掉进程,后续有了内部储存的MAC地址就可以发包保持连通。配置方式就是
  1. 给路由对内和对外的端口分别添加IP作为连接这个端口终端的网关,每个端口的IP都必须和连接这个端口的设备在同一网段上,这样设备才能访问到路由。
  2. 网关必须和端口IP相同,否则路由没有对应的IP储存无法将信息转发出去。
  3. 对方配置相同,这样就构成了跨网段传输。
  4. 具体实现方式就是:
  • 当然,路由还可以跳路由传输,原理都是一样,保证访问端口和原端口在同一网段,终端网关和对应访问端口相同就行,然后在每个路由上增加访问目标端口IP和中继访问IP就行,这就是路由地址交换,每一次记录相邻路由上自身没有的IP称为一跳。简单来看就是访问到目的端需要通过几个路由。最多15跳,这就是rip协议。
  • 而大名鼎鼎的NAT也是通过路由来实现的。我们私人配网只有三类地址可使用,10、172.16-172.31、192.168,没有原因,规定就是这样。那么有限的地址要如何被无限的设备使用呢,那当然是重复使用。NAT路由将网络分成了两个部分,不同内网的地址随便来,只要同一内网地址不重复就行,而对外的地址是唯一的。这就导致端没有办法访问到端了,服务器必须在外网上才可被访问,服务器传回的包也会由路由转发给自己复制的端中。经常有人会将内外网、公私网混淆,虽然问题不大但还是细分一下:内外是一个区域上的概念,一般以NAT为边界。而公私是一个协议上的概念,以可否随意访问为判断依据。NAT配置方法一般为:
  1. 设置对内端口IP,设置对外端口IP,可以完全不一样。
  2. 使用ACL规定允许的网段,或者使用默认路由。
  3. IP转发,在进入内网的端口开启nat设置对外IP和对内IP,并且绑定ACL输出。
  • 当然现在大家一般不会自己配置IP了,因为路由通过DHCP自动分配同一网段下的IP、掩码、网关给设备,还可以自动分配dns服务器地址(留到我学了web再写)。只要终端和路由都打开了DHCP并且路由设定了可分配IP范围就自动完成了。因为NAT,我们现在不需要担心IP地址冲突的问题,所以可以随意分配。

至于防火墙,它不一定是个设备,也可能是软件,其目的就是拦在访问路径上对所有数据包过滤筛选,并且记录行动日志,就像在手机亮起时抢过手机查看消息来源的女朋友一样,都是为了防备外来者,只不过防火墙是为了防止服务器被攻击,而女朋友是为了准备攻击我们。比如WPF/IPS可以拦截异常流量请求和不正常文件传入,哔哩哔哩就用了这个。不同防火墙的配置方式不同,规则也不同,所以每办法总结出配置方法,只能根据原理和说明来一步一步做。

(三)学习网络设备和安全的关系

有一个玩笑话叫做高端的黑客往往采用最简单的物理方式骇入。无论何时,插U盘、连网线等手段绝对是效率最高的渗透方法。只不过我们现在不连网线,改为连无线了。连接是一切渗透的前提,那么在渗透之前我们需要做的第一步就是信息收集,了解什么东西是我们可以连接的,通过脑中已经有的网络设备基础知识去猜测并验证对方的网络拓补图。这样我们就可以开始分析对方可能存在的威胁和风险分别来自哪里,以及通过什么方式来扩大或创造威胁和风险。比如我们通过学习发现一切的设备想要上网,想要办理一切业务都需要通过路由,而路由中比较重要的是ARP协议,我们知道路由第一次收到请求包时如果本机没有储存IP映射的MAC地址,或者说这个设备没有联网,那么路由就会去找它,不发包,直到成功或者失败,所以第一响应一定是超时,而路由不会去验证回应。现在我们知道这个原理,那么我们有没有办法主动让路由来找到我们呢?

  • 比如现在有两个设备A、B,如果A想访问B,那么路由只靠从A那里收到的IP是不行的,还必须知道IP对应的物理地址,所以路由会去找MAC地址,如果没有,路由就会广播出去问:身份证尾号xxx.xxx.xxx的朋友快告诉我你在哪,如果这位朋友回应了,路由就会保存一段时间这个映射地址,得到这个过程是全自动的,不透明的。这个时候C站出来说:是我,就是我!然后给出了一张身份证,于是路由就会把C当作B使得A和C连接。于是A在干任何事C都知道。具体方法是:
  1. 知道目标机的IP,然后进行ping扫描
  2. 开启IP转发,原理在上面NAT部分也讲了,如果一台机器的MAC地址被冒充了,相当于这台机器没有IP了,根本没人能找到它,因此它就没有办法再上网。而开启IP转发可以通过一个新的IP继续上网。
  3. 开始arp欺骗,我不会写脚本,就用工具吧,注意使用虚拟机时需要打开桥接模式才能自己打自己。(别乱用,犯法的) arpspoof -i eth0 -t 目标IP 自己IP
  4. 成功之后我们就可以查看对方正在执行的操作了,拍照使用 driftnet -i eth0

ARP欺骗的前提是能连上同一个路由,关键还是要连上,所以在实际情况中,我们可以自己在公共场合架设免费WiFi,这样既保证了我自己能连上,也可以让别人连上WiFi。不管什么时候总有几个倒霉蛋连着公共WiFi上网输入敏感信息。但凡截到一个,并且没控制住自己就可以蹲号子了。

等我看看脚本怎么写再来写记录。

标签: 学习 网络 安全

本文转载自: https://blog.csdn.net/2401_82449242/article/details/137131481
版权归原作者 爆肝的麻薯 所有, 如有侵权,请联系我们删除。

“安全学习记录——网络篇(一)”的评论:

还没有评论