20211916 2021-2022-2 《网络攻防实践》第四周作业

1.实践内容

在网络攻防实验环境(以 SEED_VM 作为攻击机,Linux Metasploitable/Windows Metasploitable 作为靶机)中完成TCP/IP协议栈重点协议的攻击实验,具体包括ARP缓存欺骗攻击、ICMP重定向攻击、SYN Flood攻击、TCP RST攻击以及TCP会话劫持攻击(bonus)。

1.1 ARP欺骗攻击

原理:ARP协议在设计时认为局域网内部的所有用户都是可信的,这使得ARP缓存非常容易被注入伪造的IP地址到MAC地址的映射关系。
攻击过程:

攻击工具:DSniff中的Arpspoof、arpison、Ettercap、Netwox。netwox 33 -b MAC(A) -g IP(B) -h MAC(A) -i IP(A)

防范措施:静态绑定关键主机的IP地址和MAC地址映射关系、使用相应的ARP防范工具、使用虚拟子网细分网络拓扑、加密传输。

1.2 ICMP路由器重定向攻击

原理:利用ICMP路由重定向报文改变主机路由表,向目标主机发送重定向消息,伪装成路由器,使得目标机器的数据报文发送至攻击机从而加强监听。
攻击过程:

工具:netwox netwox 86 -f "host 靶机IP" -g 攻击机IP -i 网关IP

防范措施:根据类型过滤一些ICMP数据包、设置防火墙过滤、对ICMP重定向报文判断是不是来自本地路由器的

1.3 TCP SYN Flood拒绝服务攻击

原理:基于TCP三次握手的缺陷,向目标主机发送大量的伪造源地址的SYN连接请求,消耗目标主机的连接队列资源,从而无法正常服务。
攻击过程:

工具:entwox 76 -i 靶机IP -p 端口号

防范措施:SYN-Cookie技术(在连接信息未完全到达前不进行资源的分配);防火墙地址状态监控技术(将到目标服务器的TCP连接状态分为NEW、GOOD、BAD)。

1.4 TCP RST攻击
原理:TCP协议头有一个reset,该标志位置为1,接收该数据包的主机即将断开这个TCP会话连接。tcp重置报文就是直接关闭掉一个TCP会话连接。
攻击过程:

工具:netwox 78 -i 靶机IP

1.5 TCP会话劫持攻击
原理:TCP会话劫持是劫持通信双方已经建立的TCP会话连接,假冒其中一方的身份,与另一方进行进一步通信。其中最核心的就是通过TCP对会话通信方的验证。
攻击过程:

防范措施:禁用主机上的源路由、采用静态绑定IP-MAC映射表以及避免ARP欺骗、引用和过滤ICMP重定向报文

2.实践过程
在此次实验中的相关主机的IP和MAC地址如下所示

kali-linux攻击机:192.168.200.6 / 00:0c:29:f3:9c:0c
winX攻击机:192.168.200.2
seedUbuntu:192.168.200.3/00:0C:29:6C:CD:C0
蜜网网关:192.168.200.8
linux靶机:192.168.200.125 / 00:0C:29:34:06:0B
windows2k靶机:192.168.200.116 / 00:0C:29:D3:D7:6F

2.1 ARP欺骗攻击
A:kali攻击机:192.168.200.6 /00:0c:29:f3:9c:0c
B:windows2k靶机:192.168.200.125 / 00:0C:29:34:06:0B
C:WinXPAttacker:192.168.200.2 / 00:0c:29:7d:d3:3d

接着在主机B上ping主机C,这样主机B就建立了ARP映射表,如图

在Kali主机上,使用命令netwox 80 -e 主机A的MAC地址 -i 主机C的IP地址
netwox 80 -e 00:0c:29:f3:9c:0c -i 192.168.200.2

如图,再次在可以看到B主机的ARP映射表已经被修改,目的达到!

2.2 ICMP重定向攻击
环境:
A:seedUbuntu:192.168.200.3/00:0C:29:6C:CD:C0

B:kali攻击机:192.168.200.6 /00:0c:29:f3:9c:0c

在seed上打开Wireshark查看数据流量,在终端【ping baidu.com】,可以看到seed桥接之后直接访问外网

在Kali上执行命令【netwox 86 -f "host 192.168.200.3" -g 192.168.200.6 -i 192.168.200.1】,打开wireshark捕包,即以192.168.200.1的名义发送ICMP重定向报文,使192.168.200.6(Kali)成为其默认路由。

观察kali中wireshark的数据包,访问百度的数据包已经被重定向。

2.3 SYN Flood攻击
这里用SEED Ubuntu向靶机MetaSploitable发起telnet服务访问,用kali攻击靶机的telnet服务端口
使用SEED Ubuntu向靶机MetaSploitable发起telnet服务访问,然后输入账号密码,可正常登录。

然后在kali上通过指令netwox 76 -i 192.168.200.125 -p 23可对靶机的23号端口进行攻击

随后再次尝试使用SEED Ubuntu向靶机MetaSploitable发起telnet服务访问,发现不可访问,说明攻击成功

kali中用Wireshark捕包,可以看到攻击机向靶机发送了大量的虚假ip发出的SYN连接请求。

2.4 TCP RST攻击
这里同样先利用SEED Ubuntu向靶机MetaSploitable发起telnet服务访问,然后回到kali通过指令netwox 78 -i 192.168.200.125,发现SEED上的连接已经被关闭

再次访问,也无法访问

2.5 TCP会话劫持

这里同样先利用SEED Ubuntu向靶机MetaSploitable发起telnet服务访问

然后在kali上打开wireshark,设置过滤条件tcp.port == 23,然后在seed上输入账号:msfadmin,密码:msfadmin远程登录,回到kali的wireshark查看,会有m、s、f、a、d、m、i、n的数据包。

m:

s:

f:

d:

m:

i:

n:

然后打开最后一个包,观察源端口,目的端口,NEXT Seq NMU和ACK的值

通过指令
netwox 40 --ip4-dontfrag --ip4-offsetfrag 0 --ip4-ttl 64 --ip4-protocol 6 --ip4-src 192.168.200.6 --ip4-dst 192.168.200.125 --tcp-src 23 --tcp-dst 40079 --tcp-seqnum 655 --tcp-acknum 141 --tcp-ack --tcp-psh --tcp-window 64 --tcp-data "6c"伪造包

然后可以在wireshark里观察到发送的值:l

3.学习中遇到的问题及解决

问题1:

解决办法:在kali中输入sudo apt-get update,完成更新,就可以下载最新的资源包,再下载netwox就行了。

4.学习感想和体会
这次实验除了开始网络出了点问题、以及更改kali用户名有问题,后面做的还是比较顺利,感谢同学们的帮助。

参考资料

1、老师分享视频

2、https://www.cnblogs.com/wyrr/p/12616557.html

posted @ 2022-04-04 23:18  banlichestnut  阅读(204)  评论(0编辑  收藏  举报