20212919 2021-2022-2《网络攻防实践》第六周作业
学号 2021-2919王雨婷 《网络攻防实践》实践四报告
1.实践内容
在网络攻防实验环境中完成TCP/IP协议栈重点协议的攻击实验,包括ARP缓存欺骗攻击、ICMP重定向攻击、SYN Flood攻击、TCP RST攻击、TCP会话劫持攻击。
ARP 欺骗攻击:ARP 是个早期的网络协议,RFC826在 1980就出版了。早期的互联网采取的是信任模式,在科研、大学内部使用,追求功能、速度,没考虑网络安全。ARP 欺骗就是非法的宣称自己是某个 IP 的 MAC 地址,使询问者错误的更新 ARP 缓存表,这样被欺骗主机发送的数据就会发送到发起攻击的主机,而不是理想的目的 IP 主机。如果攻击者将目的主机也欺骗,就可以实现对两台主机之间数据传输的控制。仅能在以太网(局域网如机房、内网、公司网络等)进行。无法对外网(互联网、非本区域内的局域网)攻击。
ICMP重定向攻击:ICMP重定向信息是路由器向主机提供实时的路由信息,当一个主机收到ICMP重定向信息时,它就会根据这个信息来更新自己的路由表。由于缺乏必要的合法性检查,如果一个黑客想要被攻击的主机修改它的路由表,黑客就会发送ICMP重定向信息给被攻击的主机,让该主机按照黑客的要求来修改路由表。
SYN Flood攻击:SYN Flood(半开放攻击)是一种拒绝服务(DDoS)攻击,其目的是通过消耗所有可用的服务器资源使服务器不可用于合法流量。通过重复发送初始连接请求(SYN)数据包,攻击者能够压倒目标服务器机器上的所有可用端口,导致目标设备根本不响应合法流量。
TCP RST攻击:A和服务器B之间建立了TCP连接,此时C伪造了一个TCP包发给B,使B异常的断开了与A之间的TCP连接。
TCP会话劫持攻击:TCP会话劫持目标是劫持通信双方已建立的TCP会话连接,假冒其中一方(通常是客户端)的身份,与另一方进行进一步通信。
2.实践过程
(1) ARP缓存欺骗攻击
将Kali,Seed Ubuntu,Metaolitable三个虚拟机打开,分别查询ip地址与mac地址
虚拟机 | IP | Mac |
---|---|---|
kali | 192.168.200.10 | 00:0c:29:01:31:c7 |
Seed Ubuntu | 192.168.200.11 | 00:0c:29:DE:82:05 |
Metaolitable | 192.168.200.123 | 00:0c:29:7f:db:68 |
Win2k | 192.168.200.122 | 00:0c:29:FB:A5:57 |
下图为Kali查询结果,IP为192.168.200.10
下图为Seed Ubuntu查询结果,IP为192.168.200.11
下图为 Metaolitable查询结果,IP为192.168.200.123
下图为 Win2k查询结果,IP为192.168.200.122
虚拟机之间两两互ping:
Kali,Seed Ubuntu之间互ping检查为成功
Kali,Metaolitable之间互ping检查为成功
Metaolitable,Seed之间互ping检查为成功
MetaSploitable和Win2KServer之间互ping检查为成功
在kali上 ping Linux MetaSploitable虚拟机,得到arp缓存表。
再在 Linux MetaSploitable上用arp -a查看arp缓存表,IP地址为192.168.200.122下的Win2k的mac地址为00:0C:29:FB:A5:57。
Kali安装netwox
执行指令netwox 80 -e 00:0c:29:02:c3:ff -i 192.168.200.122对Win2k进行攻击。
回到MetaSploitable用arp -a再次查看缓存表,发现IP地址为192.168.200.122下的Win2k的mac地址已经被修改为00:0c:29:d2:c3:ff,即成功实施攻击。
使用ping命令测试与Win2KServer的连通性,发现已经ping不通了
在kali攻击机停止ARP攻击后,MetaSploitable又能ping通Win2KServer了
(2)ICMP 重定向攻击
虚拟机 | IP | MAC |
---|---|---|
kali | 172.20.10.2 | 00:0c:29:01:31:c7 |
SEED | 172.20.10.3 | 00:0c:29:DE:82:05 |
查看靶机SEEDUbuntu的IP为172.20.10.3
用SEEDUbuntu去ping百度
输入Route -n查看seed的网关:172.20.10.1
在kali里输入sudo netwox 86 -f "host 172.20.10.3" -g 172.20.10.2 -i 172.20.10.1,表示为用netwox的86号工具伪造重定向数据包
回去ping百度发现有异常
(3)SYN Flood攻击
虚拟机 | IP | Mac |
---|---|---|
Seed Ubuntu | 192.168.200.11 | 00:0c:29:DE:82:05 |
Metaolitable | 192.168.200.123 | 00:0c:29:7f:db:68 |
使用SEED Ubuntu向MetaSploitable发起登陆telnet 192.168.200.123,输入用户名和密码都是msfadmin,将SEEDUbuntu和MetaSploitable_Ubuntu之间建立telnet联系,如图显示顺利建立连接并登录。
在Kali上输入SYN Flood攻击命令,输入netwox 76 192.168.200.123 -p 23。
在SEEDUbuntu靶机输入telnet 192.168.200.123,使得SEEDUbuntu与Linux MetaSploitable建立联系,得到结果为访问超时。
在攻击机kali中打开wireshark,发现大量TCP SYN数据包,是实现了SYN flood攻击。
(4)TCP RST攻击
虚拟机 | IP | Mac |
---|---|---|
Seed Ubuntu | 192.168.200.11 | 00:0c:29:DE:82:05 |
Metaolitable | 192.168.200.123 | 00:0c:29:7f:db:68 |
在SEEDUbuntu靶机再次输入telnet 192.168.200.123,使得SEEDUbuntu与Linux MetaSploitable建立联系,可以发现顺利连接。
利用Kali上已经部署的netwox的78号工具进行TCP RST攻击,输入netwox 78 -i 192.168.200.123
在SEEDUbuntu输入telnet 192.168.200.123,发现连接请求被拒绝。
Kali中打开wireshark软件,很多RST数据包使得连接不成功。
(5)TCP会话劫持攻击
虚拟机 | IP | Mac |
---|---|---|
kali | 192.168.200.10 | 00:0c:29:01:31:c7 |
Seed Ubuntu | 192.168.200.11 | 00:0c:29:DE:82:05 |
Metaolitable | 192.168.200.123 | 00:0c:29:7f:db:68 |
Win2k | 192.168.200.122 | 00:0c:29:FB:A5:57 |
在kali中输入sudo ettercap -G命令,打开ettercap图形化界面进行操作
打开Ettercap Menu,Hosts,Host List
此时发现ettercap的hostlist包含Linux MetaSploitable的ip地址即可进行下一步
之后点击MITM Menu,ARP poisoning,点击OK
点击后出现如下界面,选择ok
打开Ettercap菜单选择view,选择connections
能够在Connections中看到建立的telnet连接
打开后能够看到登录使用的用户名、密码
3.学习中遇到的问题及解决
-
问题1:kali不能进入root模式,很多操作实现不了。
-
问题1解决方案:原因是kali的配置文件中hostname与系统主机名称不匹配, 修改过来就好了。
-
问题2:netwox口令kali不识别
-
问题2解决方案:下载安装netwox即成功
4.学习感想和体会
这次实验一开始很不顺利,会出现各种问题比如攻击机与靶机之间ping不通,比如kali无法联网,以及kali无法出现正常IP,这些所有的问题都经过一次次百度查找解决办法,结果无果,或者拿到的办法只能暂时解决再重启一下就又恢复了。其实由于虚拟机本来就不稳定,很多问题比如隔一天或者改一下网络适配器再或者重启几遍就好了,真的很让人无奈。但好在实验过程很清晰,万事开头难,只要解决最开始的连接及基本功能实现的问题,实验就已经差不多完成了,各种攻击其实都很简单,有时甚至只需要一行命令就可以实现攻击,可想而知网络安全防御的重要性。
参考资料
教学视频