20199108 2019-2020-2 《网络攻防实践》第5周作业

1.实践内容

1 计算机网络模型

OSI模型和TCP/IP模型对比图

TCP/IP协议族的组成

TCP/IP网络协议的安全缺陷与共计技术

2 网络层ARP协议和ARP攻击

ARP(Address Resolution Protocol,地址解析协议)是一个位于TCP/IP协议栈中的网络层,负责将某个IP地址解析成对应的MAC地址。
ARP协议存在很多漏洞和不足,给计算机网络造成很大的隐患。

1.首先ARP协议是以广播方式发送ARP请求的,只要是同一个网段内主机都可以收到,这就为攻击者以可乘之机,攻击者可以发送大量的ARP请求包,阻塞正常网络宽带,使局域网中有限的网络资源被无用的广播信息所占用,造成网络拥堵。
2.其次,ARP协议没有安全认证机制,因为局域网内主机是建立在信任的基础上的,所以只要主机接收到ARP应答包,都会缓存在ARP表中,这就为ARP欺骗提供了可能。攻击者可以发送错误的IP地址MAC地址的映射关系。
ARP的欺骗网关原理

ICMP重定向技术,是用来提示主机改变自己的主机路由从而使路由路径最优化的一种ICMP报文。其概念理解的要义是原主机路由不是最佳路由,而其默认网关提醒主机优化自身的主机路由而发送的报文。

最能说明ICMP重定向意义的典型拓扑如下:

基于ICMP路由重定向攻击原理
ICMP重定向信息是路由器向主机提供实时的路由信息,当一个主机收到ICMP重定向信息时,它就会根据这个信息来 更新自己的路由表。由于缺乏必要的合法性检查,如果一个黑客想要被攻击的主机修改它的路由表,黑客就会发送 ICMP重定向信息给被攻击的主机,让该主机按照黑客的要求来修改路由表。

3传输层协议攻击

RST攻击 这种攻击只能针对tcp,对udp无效。RST:(Reset the connection)用于复位因某种原因引起出现的错误连接,也用来拒绝非法数据和请求。如果接收到RST位时候,通常发生了某些错误。
RST攻击示意图

三次握手协议

第一次握手:建立连接时,客户端发送syn包(syn=x)到服务器,并进入SYN_SENT状态,等待服务器确认;SYN:同步序列编号(Synchronize Sequence Numbers)。
第二次握手:服务器收到syn包,必须确认客户的SYN(ack=x+1),同时自己也发送一个SYN包(syn=y),即SYN+ACK包,此时服务器进入SYN_RECV状态;
第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=y+1),此包发送完毕,客户端和服务器进入ESTABLISHED(TCP连接成功)状态,完成三次握手。

2.实践过程

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

本次实践作业使用到的虚拟机全为Linux系统,分别为攻击机kali(A)、SEEDUbutu虚拟机(B)、靶机Metasploitable2(C)。本次作业要求环境为局域网,因此三款机型网络适配器均调整为VMnet8(NAT模式),进而使得三机同网。在Linux系统中,通过ifconfig指令可以查到IP和MAC地址。
kali(A)的IP和MAC如下:

SEEDUbuntu(B)的IP和MAC如下:

Metasploitable2(C)的IP和MAC如下:

(1)ARP缓存欺骗攻击
(I)在B中使用指令ping IP(C),得到arp缓存表。使用arp -a查看arp缓存表,我们可以看到C的IP地址和MAC地址是对应的。在A上执行指令netwox 80 MAC(A) -i IP(C)(80是指netwox的80号工具)之后,就会在局域网内广播这条命令。如下所示。

(2)ICMP重定向攻击
(I)在B上打开Wireshark来查看数据流量,并在终端ping baidu.com,我们发现B可以直接访问外网

(II)在A主机上执行命令netwox 86 -f "host IP(B)" -g IP(A) -i 192.168.200.1(嗅探到B的数据包时,以192.168.200.1的名义发送ICMP重定向报文,使A成为默认路由)之后,在终端中,我们发现其访问百度的数据包已经被重定向到A。如下所示。

(3)SYN Flood攻击
(I)使用B向C发起登陆telnet IP(C)后,在A上利用netwox的76号工具对靶机的23号端口进行SYN Flood攻击netwox 76 -i IP(C) -p 23。我们发现B终端telnet连接被中断。

(II)打开Wireshark查看,可以看到A向C发送了大量的虚假IP发出的SYN连接请求,这些虚假的连接请求没有MAC地址,无法溯源攻击者的真实身份。

(4)TCP RST攻击
(I)使用B向C发起登陆telnet IP(C)后,在A上利用netwox的78号工具对靶机进行TCP RST攻击netwox 78 -i IP(C)。回到我们刚才B的登陆界面,telnet连接被中断。

(5)TCP会话劫持攻击
(I)在B上使用telnet IP(C)指令,并且账号密码登陆,随后输入ls。我们可以在Wireshark中抓到如下画面。

(II)在没有发送其他指令的情况下,打开最后一条telnet连接的Transmission Control Protocol查看源端口值和目的端口值。

(III)
主机A使用命令git clone https://github.com/revanth5/shijackk.git下载工具
在A中使用指令./shijack-lnx eth0 IP(B) 51302 IP(C) 23(参数依次为网卡名、源地址、源端口、目的地址、目的端口)后,在Wireshark中我们看到出现ACK风暴。

(IV)这个时候我们利用A和C通信,输入指令ls。利用Wireshark截取数据包,我们发现A和C之间是正常通信的。

3.实践总结

通过实践,感觉自己的动手能力还是较差,或许还是有点烦躁,可能最近作业太多了,还有实验室的事情要做,这周两篇博客真的难定,感觉好累。要尽快调整了

参考资料

https://blog.csdn.net/zengxyuyu/article/details/53434728

posted @ 2020-03-29 21:46  跳起来摘苹果  阅读(189)  评论(0编辑  收藏  举报