20199126 2019-2020-3 《网络攻防实践》第五周作业
前言
这个作业属于哪个课程:https://edu.cnblogs.com/campus/besti/19attackdefense
这个作业的要求在哪里https://edu.cnblogs.com/campus/besti/19attackdefense/homework/10553
我在这个课程的目标是:学习网络攻防技术相关知识,掌握相关技能。
这个作业在哪个具体方面帮助我实现目标 :初步学习TCP/IP网络协议攻击。
1.实践内容
1.1 TCP/IP网络协议栈攻击概述
-
网络安全属性:
- 机密性:是指网络中的信息不被非授权实体获取和使用,通常基于加密算法进行保障。
- 完整性:是指信息未经授权不能进行改变的特性,即信息在存储和传输过程中保持不被修改、不被破坏和丢失的特性。
- 可用性:是指被授权实体访问并按需求使用的特性,即当需要时能够正常地存取和访问所需的信息与服务。
- 真实性:是指确保通信对方是它所声称的真实实体,而非假冒实体。
- 不可抵赖性:是指在通信中确保任何一方无法抵赖自己曾经做过的操作的安全特性,包括对自己行为的不可抵赖及对行为发生时间的不可抵赖,有时也被称为不可否认性和可审查性( Accountability)。
-
基本攻击模式:截获、中断、篡改、伪造
-
TCP/IP网络协议栈的安全缺陷与技术
- Netwox ,可以创建任意TCP/UDP/IP数据报文的开源工具包。
1.2 网络层协议攻击
1.2.1 IP源地址欺骗
- IP源地址欺骗原理:IP协议在设计时只使用数据包中的目标地址进行路由转发,而不对源地址进行真实性的验证,则通过修改IP协议包头,就可以发送出看起来是另一台主机发送的报文。
- 步骤:①对受信任主机进行拒绝服务攻击,使其丧失工作能力,避免其在接受到响应包后影响欺骗过程;
②对目标主机的TCP初始序列号(ISN)进行取样与猜测,TCP初始序列号是指目标主机在按受SYN报文后,返回SYNACK报文中的SEQ值,攻击主机只有在随后进-步伪造的ACK报文中,将ACK值正确地设置为目标主机的ISN+1,才能够通过目标主机的验证,真正建立起连接,达到欺骗效果。
③伪造源地址为受信任主机IP的SYN数据包,发送给目标主机:
④等待目标主机将SYNACK包发给已瘫痪的受信任主机;
⑤再次伪装成被信任主机向目标主机发送ACK包,设置发送数据包的ACK值为预测目标主机ISN+I,可以通过发送大量不同ACK值的数据包以提高命中的可能性;
⑥连接建立,假冒被信任主机与目标主机通信。
- 防范措施:(1)使用随机化的初始序列号,使得远程攻击者无法猜测到通过源地址欺骗伪装建立TCP连接所需的序列号,降低被源地址欺骗的风险:
(2)使用网络层安全传输协议如IPsec,对传输数据包进行加密,避免泄露高层协议可供利用的信息及传输内容;
(3)避免采用基于IP地址的信任策略,以基于加密算法的用户身份认证机制来替代这些访问控制策略:
(4)在路由器和网关上实施包过滤。
1.2.2 ARP欺骗
-
ARP欺骗:ARP协议用于将网络主机的IP地址解析成其MAC地址,然后在局域网内通过MAC地址进行通信。而当主机ARP缓存中不存在目标主机IP地址所对应的MAC地址时会向本地局域发送ARP请求广播包。此时,攻击机可以进行应答并伪造虚假的IP-MAC映射同时大量发送响应包以阻止发送方获取正确映射。使发送方将IP映射到攻击机身上,之后发送方将数据包发送给攻击机,此时攻击机就假冒了目标节点。
-
防范措施:静态绑定关键主机的IP地址与MAC地址映射关系、使用相应防范工具、使用VLAN虚拟子网细分网络拓扑,加密传输数据以降低被欺骗后的损失。
1.2.3 ICMP路由重定向攻击
- 重定向机制:ICMP路由重定向主要用于应对网络故障时的数据包处置,路由器使用ICMP重定向报文来更新主机的路由表,重新选择条更优化的路由路径来传输数据,以提高网络的传输效率。
- ICMP重定向攻击原理:利用ICMP路由重定向报文来改变主机的路由表,向目标机器发送重定向消息,自己则可以伪装成为路由器,使目标机器的数据报发送至攻击机从而加强监听。
- 防范措施:根据类型过滤ICMP数据包,设置防火墙过滤,对于ICMP重定向报文判断是不是来自本地路由器等。
1.3 传输层协议攻击
1.3.1 TCP RST攻击
- 原理:TCP协议头中有一个
reset
标志位,用来表示会话中断。通过伪造reset
为1的会话报文关闭TCP会话连接。
1.3.2 TCP会话劫持
- 原理:劫持通信双方已建立的TCP会话连接,假冒其中一方(通常是客户端)的身份,与另一方进行进一步通信。 通常一些网络服务 会在建立TCP会话之后进行应用层的身份认证,客户端在通过身份认证之后,就可以通过TCP会话连接对服务端进行控制或获取资源,期间不再需要再次进行身份认证。
- 防范措施:禁用主机上的源路由,采用静态绑定IP-MAC映射表以避免ARP欺骗,引用和过滤ICMP重定向报文。
1.3.3 TCP SYN Flood拒绝服务攻击
- 原理:利用TCP三次握手协议的缺陷,向目标主机发送大量的伪造源地址的SYN连接请求,消耗目标主机的连接队列资源,从而不能够为正常用户提供服务。
- 防范措施:SYN-Cookie技术和防火墙地址状态监控技术
1.3.4 UDP Flood拒绝服务攻击
- 原理:通过向目标主机和网络发送大量的UDP数据包,造成目标主机显著的计算负载提升,或者目标网络的网络拥塞,从而使得目标主机和网络陷入不可用的状态,造成拒绝服务攻击。
- 防范措施:禁用或过滤监控和响应服务、禁用或过滤其他的UDP服务、利用防火墙和代理机制来过滤流量。
1.4 TCP/IP网络协议栈攻击防范措施
-
监测、预防与安全加固
-
网络安全协议
- 网络接口层:WEP(Wired Equivalent Privacy)、WPA/WPA2、802.1X协议
- 网络互联层:IPsec协议簇
- 传输层:TLS(Transport Layer Security)
- 应用层:HTTPS、安全电子邮件协议
- IPv6
2.实践过程
2.1 ARP缓存欺骗攻击
首先开启攻击机IP路由转发,echo 1 >/proc/sys/net/ipv4/ip_forward
,使用echo
表示重启后设置回归默认
使用arpspoof
进行ARP欺骗,arpspoof -i ens33 -t 192.168.200.125 192.168.200.2
对192.168.200.125
将本机ip伪装为192.168.200.2
使用snort
进行嗅探
结果交由wireshark解析
可以看到ARP数据包上192.168.200.2
的MAC地址为00:0c:29:d7:c7:0d
实际上上述MAC地址的真实IP为192.168.200.7
或者使用etteracp -G
按照以上步骤,针对target1
与target2
完成ARP欺骗
2.2 ICMP重定向攻击
使用netwox
工具,
上述表示向靶机192.168.200.2
发送ICMP重定向报文,将路由地址192.168.200.1
改为攻击机地址192.168.200.7
此时,靶机数据包传输将经过攻击机,使用ettercap -Tq -i ens33
嗅探可以直接抓到我在靶机上登录bbs的账号密码
使用wireshark可以看到数据包是经由攻击机192.168.200.7
发送的
2.3 SYN Flood攻击
使用netwox
进行洪泛攻击,netwox 76 -i "192.168.200.2" -p 23
目标为192.168.200.2
靶机的23号端口
受到洪泛攻击,靶机端口队列积压大量待处理报文,导致无法进行正常连接
使用wireshark可以看到靶机接收了大量TCP报文,且这些报文来个不同的虚假的IP地址,报文中来源MAC地址为空
2.4 TCP RST攻击
使用netwox
进行TCP RST攻击,目标靶机断开所有TCP连接
使用wireshark抓包可以看到中断连接的TCP报文,reset
被置为1
2.5 TCP会话劫持攻击
一开始使用hunt
进行会话劫持
如上图,hunt
为发现可用连接,转而使用ettercap
192.168.200.2
对Metasploitable2靶机192.168.200.125
发起telnet
通信
ettercap
进行ARP欺骗后可直接回去通信内容,可以通过Inject Data
注入指令,达到劫持会话的目的
当然,既然已经进行了ARP欺骗,那么可以获取两机之间通信内容,在两机会话期间,可以直接根据已进行的会话构造通信报文进行劫持。
3.实践总结
了解不同协议的原理与弱点,可以发起针对性的有效攻击行为,证明网络协议安全性极为重要。