# [20212901薛德凡 2021-2022-2 《网络攻防实践》第四次作业 ]
[20212901 薛德凡2021-2022-2 《网络攻防实践》第四次作业 ]
1、实践内容
通过实验了解TCP/IP协议栈的几种攻击:ARP缓存欺骗攻击、ICMP重定向攻击、SYN Flood攻击、TCP RST攻击、TCP会话劫持攻击。
2、实验相关知识
APR协议: ARP(Address Resolution Protocol)地址转换协议,工作在OSI模型的数据链路层,在以太网中,网络设备之间互相通信是用MAC地址而不是IP地址,ARP协议就是用来把IP地址转换为MAC地址的。而RARP和ARP相反,它是反向地址转换协议,把MAC地址转换为IP地址。
ICMP重定向攻击:ICMP重定向信息是路由器向主机提供实时的路由信息,当一个主机收到ICMP重定向信息时,它就会根据这个信息来更新自己的路由表。由于缺乏必要的合法性检查,如果一个黑客想要被攻击的主机修改它的路由表,黑客就会发送ICMP重定向信息给被攻击的主机,让该主机按照黑客的要求来修改路由表。
SYN Flood:一种拒绝服务(DDoS)攻击,其目的是通过消耗所有可用的服务器资源使服务器不可用于合法流量。通过重复发送初始连接请求(SYN)数据包,攻击者能够压倒目标服务器机器上的所有可用端口,导致目标设备根本不响应合法流量。
TCP RST攻击:A和服务器B之间建立了TCP连接,此时C伪造了一个TCP包发给B,使B异常的断开了与A之间的TCP连接,就是RST攻击了。
TCP会话劫持攻击:由于 TCP 协议并没有对 TCP 的传输包进行身份验证,所以在我们知道一个 TCP 连接中的 seq 和 ack 的信息后就可以很容易的伪造传输包,假装任意一方与另一方进行通信,我们将这一过程称为 TCP 会话劫持
3、实验内容
1、ARP缓存欺骗攻击
虚拟机 | ip | MAC |
---|---|---|
Kali | 192.168.200.10 | 00:0c:29:a0:70:df |
Win2KServer | 192.168.200.131 | 00:0c:29:24:58:04 |
Linux MetaSploitable | 192.168.200.132 | 00:0c:29:fa:dd:2a |
(1) 使用命令测试MetaSploitable和Win2KServer之间的连通性,ping 192.168.200.131
,结果正常:
(2)输入arp -a查看arp表将其记录,如图所示:
(3) Kali攻击机ping 靶机MetaSploitable查看连通性
(4)kali使用sudo apt-get install netwox
进行安装
(5)Kali输入sudo netwox 80 -e 00:0c:29:d2:c3:ff -i 192.168.200.131 对MetaSploitable_Ubuntu进行攻击,
(6)kali发动arp攻击之后,再次查看靶机MetaSploitable的ARP表,发现192.168.13.131
对应的mac地址已经被修改为00:0c:29:d2:c3:ff
(7)时使用ping命令测试与Win2KServer的连通性,发现已经ping不通了,数据包全部丢失:
(8)在kali攻击机停止ARP攻击后,MetaSploitable又再次能够ping通Win2KServer
2、ICMP重定向攻击
虚拟机 | ip |
---|---|
Kali | 192.168.200.10 |
SEEDUbuntu | 192.168.200.9 |
(1)查看靶机SEEDUbuntu路由为192.168.200.9。
(2)靶机SEEDUbuntu ping www.baidu.com测试联通性
(3)查看靶机SEEDUbuntu路由信息route -n
(4)在Kali上使用netwox的86号工具伪造重定向数据包,命令为sudo netwox 86 -f "host 192.168.200.9" -g 192.168.200.10 -i 192.168.200.1
3、SYN Flood攻击
虚拟机 | ip |
---|---|
Kali | 192.168.200.10 |
SEEDUbuntu | 192.168.200.9 |
Linux MetaSploitable | 192.168.200.132 |
(1)在SEEDUbuntu中输入telnet 192.168.200.132(Linux MetaSploitable的对应ip),将SEEDUbuntu和MetaSploitable_Ubuntu之间建立telnet联系,可以看到顺利建立连接并登录。
(2)在Kali输入netwox 76 192.168.200.132 -p 23,对Linux MetaSploitable的23号端口进行攻击。
(3)在SEEDUbuntu靶机再次输入telnet 192.168.200.132,使得SEEDUbuntu与Linux MetaSploitable建立联系,发现链接超时无法建立连接。
(4)在攻击机kali中打开wireshark,发现大量TCP SYN数据包,表明了SYN flood攻击。
4、TCP RST攻击
虚拟机 | ip |
---|---|
Kali | 192.168.200.10 |
SEEDUbuntu | 192.168.200.9 |
Linux MetaSploitable | 192.168.200.132 |
(1)在SEEDUbuntu靶机再次输入telnet 192.168.200.132,使得SEEDUbuntu与Linux MetaSploitable建立联系,可以发现顺利连接。
(2)紧接上个攻击实验,利用Kali上已经部署的netwox的78号工具进行TCP RST攻击,命令为sudo netwox 78 -i 192.168.200.132
(3)在SEEDUbuntu处再次输入telnet 192.168.200.132,发现连接请求被拒绝。
(3)在Kali攻击机中打开wireshark,发现大量的RST数据包使得连接不成功。
5、TCP会话劫持攻击
虚拟机 | ip |
---|---|
Kali | 192.168.200.10 |
SEEDUbuntu | 192.168.200.9 |
Linux MetaSploitable | 192.168.200.123 |
(1)在kali中可以使用sudo ettercap -G
命令,打开ettercap图形化界面进行操作
(2)打开Ettercap Menu->Hosts->Host List
(3)由于hostlist中只有局域网,因此要修改Linux MetaSploitable的ip为192.168.200.123
(4)此时发现ettercap的hostlist包含Linux MetaSploitable的ip地址即可进行下一步
(5)之后点击MITM Menu->ARP poisoning,然后点击OK:
(6)点击后出现如下界面,选择ok
(7)打开Ettercap菜单选择view,选择connections:
(8)能够在Connections中看到建立的telnet连接
(9)打开后能够看到登录使用的用户名、密码
4.学习中遇到的问题及解决
问题1:由于Linux MetaSploitable靶机和kali攻击机不在一个局域网内,ettercap无法发现Linux MetaSploitable
问题1解决方案:修改Linux MetaSploitable为vmnet1主机模式,平且利用命令sudo vim /etc/rc.local修改对应的ip
5.实践总结
通过本次实验,我对几种常见的网络协议所包含的数据包更加熟悉,运用了一些常见的网络攻击手段,在kali攻击机中运用了netwox、ettercap等工具,为日后网络异常流量分析、网络攻击打下基础。