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

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

1.实践内容

TCP/IP协议创建时,认定使用环境中的用户都是可信任的,并没有考虑到其中存在的安全问题。随着互联网的逐步扩展与开放,TCP/IP协议应用越发广泛,其存在的弱点被挖掘、被放大、被利用。本章主要讲解TCP/IP协议栈中最为基本的网络层与传输层协议所存在的安全问题及针对性攻击技术。

1.1概述


安全属性:机密性(Confidentiality)、完整性(Integrity)、可用性(Availability) 、真实性

​ (Authentication)、不可抵赖性 (Non-Repudiation )

攻击模式:被动攻击:截获

​ 主动攻击: 中断、篡改(中间人攻击)与伪造

TCP/IP网络协议栈:网络接口层、侦联层、传输层与应用层

  • 下图列举了TCP/IP网络协议栈各层协议存在的缺陷以及攻击技术

1.2网络层协议攻击

  • IP源地址欺骗

​ IP源地址欺骗是指攻击者伪造具有虚假源地址的IP数据包进行发送,以达到隐藏发送者身份、假冒其他计算机等目的。

​ 原理:IP协议在设计时只使用数据包中的目标地址进行路由转发,而不对源地址进行真实性的验证。下图是利用IP源地址欺骗进行 IP假冒的攻击过程示意图。

  • ARP欺骗

​ ARP欺骗是指攻击者 在有线以太网或无线网络上发送伪造ARP消息,对特定IP所对应的MAC地址进行假冒欺骗,从而达到恶意目的的攻击技术。

​ 原理:一方面,ARP协议在进行IP地址到MAC地址映射査询时,采用广播请求包方式在局域网段中询问映射关系,但没有对响应结果进行真实性验证;另一方,ARP协议为提高效率,设计ARP缓存机制,以及会将主动的ARP应答视作有效信息进行接受,这使得ARP缓存出常容易被注入伪造的IP地址到MAC地址的映射关系,从而进行欺骗。

  • ICMP路由重定向攻击

​ ICMP路由重定向攻击是指攻击者伪装成路由器发送虚假的 ICMP路由路径控制报文,使得受害主机选择攻击者指定的路由路径,从而进行嗅探或假冒攻击的一种技术。

​ 原理:攻击节点利用IP源地址欺骗技术,冒充网关IP地址,向被攻击节点发送ICMP 重定向报文,给被攻击节点指定的新路由器IP地址,并以这个新路由器IP地址为攻击节点。被攻击节点会对ICMP报文进行限制条件监测,检查通过后,就会通过这个新路由器向外网进行通信,攻击者就可以进行嗅探或者监听了。

1.3传输层协议攻击

  • TCP RST攻击

​ TCP RST攻击也被称为伪造TCP重置报文攻击(spoofed TCP reset packet),是指一种假冒干扰TCP通信连接的技术方法。

​ 原理:TCP重置报文将直接关闭掉一个TCP会话连接,通信方A与B建立TCP协议进行数据传输时,攻击者可以利用TCP重置报文切断A与B之间的会话,当然这里攻击者要借用IP源地址欺骗伪装成A或者B才可以。

·

  • TCP会话劫持攻击

​ TCP会话劫持是劫持通信双方已建立的TCP会话连接,再假冒其中一方的身份,与另一方进行进一步通信,这样攻击方就可以躲避一些身份认证。

  • TCP SYN Flood拒绝服务攻击

​ 拒绝服务攻击目的就是使服务器不能够为正常访问的用户提供服务。

​ TCPSYN Flood原理利用TCP三次握手存在连接队列平静的缺陷,主机A想与服务器建立会话必须经过三次握手协议,攻击者B不断的向目标主机发送大量的伪造源地址的SYN连接请求,消耗目标主机的连接队列资源,从而不能够为主机A提供服务。

  • UDP Flood拒绝服务攻击

​ UDP Flood拒绝服务攻击,即通过向目标主机和网络发送大量的UDP数据包,造成目标主机显著的计算负载提升,或者目标网络的网络拥塞,从而使得目标主机和网络陷入不可用的状态,造成拒绝服务攻击。为了达到短时间内发送大量流量,UDP Flood 一般会被用于分布式拒绝服务攻击。

2.实践过程

2.1 IP源地址欺骗

先把kali机子切换到桥接模式连接上本机的网络,因为切换了网络所以kali机子的IP地址已改变,利用命令行ifconfig查看kali机子的IP为192.168.123.255

使用命令行 sudo apt-get install netwoxsudo apt-get install netwag

打开wireshark开始抓包,kali终端中输入命令行 netwox 41 -l 192.168.200.180 -m 192.168.200.2

PS:netwox 41表示netwox第41号工具构造ICMP数据包并且需要设定IP地址;192.168.200.180为伪造的源地址;192.168.200.2表示目标IP地址。
打开wireshark查看抓到的数据包

我们可以看到这里有个icmp回应报文,说明ip欺骗成功。
打开netwag软件在search下面找到38号工具(38:Spoof Ip4 packet)

进入38号工具的form设置页面,设置IP源地址欺骗的IP源地址和IP目标地址,点击run执行

此时wireshark里面也会抓到和上面步骤一样的数据包,点击netwag的running也可以查看到设置的IP数据包的详细信息

2.2 ARP欺骗

主机 ip地址 mac地址
A(Metasploitable_Linux) 192.168.200.5 00:0c:29:66:fcf1
B(SEEDubuntu) 192.168.200.4 00:0c:29:15:93:ac
C(kali) 192.168.200.2 00:0c:29:4f:65:27
选择A、B、C三个虚拟机,其具体的IP和MAC地址如上表
恢复kali的VMNet8模式,打开kali的IP转发功能:
使用命令行 netwox 33 -b 00:0c:29:15:93:ac -g 192.168.200.4 -h 00:0c:29:66:fc:f1 -i 192.168.200.5
  • -b: 显示网络协议下相关的模块;
  • -g:显示与客户端相关的模块;
  • -h:显示与服务器相关的模块;
  • -i:显示与检测主机连通性相关的模块;

    从图中可以看出主机B的ip与主机A的mac组合进行了arp欺骗。
    使用命令行 netwox 33 -b 00:0c:29:15:93:ac -g 192.168.200.5 -h 00:0c:29:15:93:ac -i 192.168.200.4 实现主机A的ip与主机B的MAc结合的ARP欺骗

    B->A通信:在B中执行命令 ftp 192.168.200.125 输入A主机账号和密码登录成功,此过程在C主机的wireshark上捕获


    在图中可以看出B与A之间的通信在C主机上已经捕获,由此可知已成功实现了ARP欺骗

2.3 ICMP路由重定向攻击

主机 ip地址
攻击机A_kali 192.168.200.2
受害机B_Ubuntu 192.168.200.4
WinXP(C) 192.168.200.3
先查看受害主机c的路由表信息输入 netstat -rn

在kali中输入命令 netwox 86 -f "host 192.168.200.3 " -g 192.168.200.2 -i 192.168.200.1

然后我们来看一下wireshark捕到的包

可以看出被攻击机一直在被发送icmp路由重定向攻击。
再次在主机C中查看路由表,发现主机A的IP地址已经出现

2.4 TCP RST攻击

主机 ip地址
A_kali 192.168.200.2
B_Ubuntu 192.168.200.4
linux 靶机 192.168.200.5
在主机A使用命令netwox 78 -i 192.168.200.3攻击主机C
B登陆C时,连接被关闭

2.5 TCP会话劫持攻击

主机 ip地址
A_kali 192.168.200.2
B_WinXPtarget 192.168.200.124
linux 靶机 192.168.200.5

在kali中打开节点的IP转发功能(kali利用ARP欺骗进行中间人攻击)

ps:如果结果是0继续输入 echo 1 > /proc/sys/net/ipv4/ip_forward ,此时输出的结果应该是1就算是打开成功了。
kali中打开Ettercap工具(或命令行ettercap -G)
进入Ettercap的GTK图形界面方式,并选择“Sniff”菜单中的“Unified Sniff”选项,选择“eth0”作为嗅探监听接口

“Hosts”菜单中选择“Scan for hosts”扫描局域网内攻击目标,并随后在菜单“Hosts list”中,选择
WinXPtarget 192.168.200.124和WinXPAttacker 192.168.200.3分别为target1和target2,如下图所示:

选择菜单“MITM”中的“ARP poisoning”进行ARP欺骗,并选择“Sniff remote connections”

在WinXPtarget和WinXPAttacker中执行 ··· arp –a ··· 命令显示MAC地址缓存,将发现ARP欺骗攻击已成功,其输入如下:


WinXPAttacker节点telnet到WinXPtarget节点 telnet 192.168.200.124


在Kali节点上,此时Ettercap(View-Connections)中显示了Ettercap已经获取了telnet的登陆的两个主机的信息

双击其中一个会话连接(如果这里无法看到连接列表,依次点击【view -> connections】即可看到,请选择状态为active的一个会话连接进行下一步,如果这里没有,请在WinXPAttacker节点命令行随便输入一些内容,这时需要保证telnet连接没有断开,然后敲击回车),可进一步显示截获的数据,如下图所示:
点击“Inject Data”,Kali节点作为中间人可以向TCP会话两端注入数据,如下图所示:


kali中通过wireshark对上述过程的抓包如下,可以发现A、B之间有很多TCP报文

2.6 TCP SYN Flood拒绝服务攻击

主机 ip地址
A_kali 192.168.200.2
B_Ubuntu 192.168.200.4
A_WinXPAttacker 192.168.200.3
在主机B使用 ftp 192.168.200.5 ,输入用户名msfadmin,密码msfadmin,登陆成功
在主机A中使用 netwox 76 -i 192.168.200.5 -p 21 进行攻击
打开wireshark可以看见正在向靶机发送大量syn数据包

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

  • 问题1:ping不到Metasploitable2-Linux

  • 问题1解决方案:重新配置了这台虚拟机的网络配置。

  • 问题2:icmp路由重定向问题中一开始主机B的路由表一直不更新。

  • 问题2解决方案:百度后发现路由表更新需要xp打开一下诸如百度的页面访问一下网络,尝试后发现路由表更新了。

4.实践总结

这次的实验内容比较多,导致遇到的问题也不少,好在万能的百度总能找到解决方法,当然这些问题也让我学到了很多。实验也磕磕绊绊的做了出来,最大的感触就是虚拟机的ip不能搞混,还有就是一定要思自己做实验室遇到的问题之所以能这么解决的原因是什么。还有就是各个工具命令到底是什么意思以及用法都还是草草用过一遍并没有记住,还需要努力。。。。。。。。

参考资料

posted @ 2020-03-31 15:11  乔延松20199316  阅读(396)  评论(0编辑  收藏  举报