目录
1.实验内容
1.1 网络层协议攻击
常见的包括:IP源地址欺骗、ARP欺骗和ICMP路由重定向攻击。
- IP源地址欺骗(IP spoofing)
定义:是指攻击者伪造具有虚假源地址的IP数据包进行发送,以达到隐藏发送者身份、假冒其他计算机等目的。
应用场景:IP源地址欺骗常应用于拒绝服务攻击、网络扫描、基于IP地址的身份认证机制等。
防范措施:使用随机化初始序列号、使用网络层安全传输协议、避免采用基于IP地址的信任策略、在路由器和网关上实施包过滤等。- ARP欺骗(ARP Spoofing)
定义:有时被称为ARP下毒(ARP Poisoning),是指攻击者在有线以太网或无线网络上发送伪造ARP消息,对特定IP所对应的MAC地址进行假冒欺骗,从而达到恶意目的。
应用场景:局域网嗅探、中间人攻击、恶意代码等。
防范措施:静态绑定关键主机的IP地址与MAC地址映射关系、使用相应的ARP防范工具、使用VLAN虚拟子网细分网络拓扑、加密传输数据以降低ARP欺骗攻击的危害后果等。- ICMP路由重定向攻击(ICMP Redirect Attack)
定义:攻击者伪装成路由器发送虚假的ICMP路由路径控制报文,使得受害主机选择攻击者指定的路由路径,从而进行嗅探或假冒攻击。
使用场景:ICMP报文类型分为差错报告类和控制类。ICMP重定向攻击一般会和IP源地址欺骗技术结合实施。
防范措施:根据类型过滤一些ICMP数据包、设置防火墙过滤、对于ICMP重定向报文判断是不是来自本地路由器等。
1.2 传输层协议攻击
主要协议TCP和UDP也存在很多种不同攻击方式,有TCP RST攻击、TCP会话劫持攻击、TCP SYN洪泛拒绝服务攻击和UDP洪泛拒绝服务攻击等。
- TCP RST攻击
也被称为伪造TCP重置报文攻击(spoofed TCP reset packet),是指一种假冒干扰TCP通信连接的技术方法。- TCP会话劫持(TCP Session Hijacking)
目标是劫持通信双方已建立的TCP会话连接,假冒其中一方(客户端)身份,与另一方进行进一步通信。
防范TCP会话劫持攻击的手段有禁用主机源路由、采用静态绑定IP-MAC映射表以避免ARP欺骗、引用和过滤ICMP重定向报文、采用网络层加密机制IPSec协议等。- TCP SYN Flood拒绝服务攻击
拒绝服务攻击(Denial of Service,DoS)的目的是使服务器不能够为正常访问的用户提供服务。
-TCP SYN Flood(也称SYN洪泛攻击)利用TCP三次握手协议缺陷向目标主机发送大量伪造源地址的SYN连接请求消耗目标主机的连接队列资源,从而不能够为正常用户提供服务。
防范SYN Flood攻击的措施有SYN-Cookie技术、防火墙地址状态监控技术等。- UDP Flood拒绝服务攻击
通过向目标主机和网络发送大量的UDP数据包造成目标主机显著计算负载提升或者目标网络的网络拥塞,从而使得目标主机和网络陷入不可用的状态,造成拒绝服务攻击。
防范措施有禁用或过滤监控和响应服务、禁用或过滤其他UDP服务等。
2. 实验过程
2.1 ARP缓存欺骗攻击
这里需要三台机器,kali192.168.200.5作为攻击机,其他两台机器作为正常通信的机器,靶机1:Linux MetaSploitable192.168.200.130,靶机2:win2k192.168.200.131
首先使用 linux靶机Ping win2k
查看arp表,并将其记录。
打开Kali,利用netwox 80 -e (kali的物理地址) -i (win2k的ip地址)命令对其进行攻击
再打开arp地址,发现与上次查看发生了改变,欺骗成功。
win2k出现如下警告:
用用 linux靶机重新Ping win2k,再次查看arp地址,发现变回了原来的物理地址
2.2 ICMP重定向攻击
使用到Kali192.168.200.5和SEEDUbuntu192.168.200.4。首先查看网关地址
在kali中输入如下指令:
意思是嗅探到数据包的源或目的IP地址192.168.200.4时,就以192.168.200.5的名义向数据包的源地址发送一个ICMP重定向报文,使之使用192.168.200.1作为默认路由。
在靶机SEEDUbuntu中输入ping www.baidu.com,则靶机收到ICMP重定向报文,完成ICMP重定向攻击。
发现下一跳地址发生改变,地址为之前设置的192.168.200.5
2.3 SYN Flood 攻击
使用到Kali192.168.200.5和SEEDUbuntu192.168.200.4和linux靶机 192.168.200.130
这里选择利用Ubuntu向linux靶机发起telnet服务访问,用Kali攻击机攻击靶机的telnet服务端口,并用Wireshark查看。
输入telnet 192.168.200.130
输入账号密码登录
登录成功,可以正常使用
在Kali输入netwox 76 192.168.200.130 -p 23,对linux虚拟机的23号端口进行攻击
回到SEEDUbuntu再次输入telnet 192.168.200.130,将SEEDUbuntu和linux靶机之间建立telnet联系,出现明显卡顿。
回到Kali虚拟机,打开Wireshark看到攻击机通过不同的IP向靶机23号端口发送大量的数据包,使得正常服务停止,无法找出攻击IP地址,并且无法溯源攻击者的真实身份。
2.4 SYN Rst攻击
使用到Kali192.168.200.5和SEEDUbuntu192.168.200.4和linux靶机 192.168.200.130
首先,telnet靶机
登录成功
使用命令:netwox 78 -i 192.168.200.130,在Kali上利用netwox的78号工具对linux虚拟机的23号端口进行SYN Flood攻击。
回到SEEDUbuntu再次输入telnet 192.168.200.130发现无法连接。
2.5 TCP会话劫持攻击
使用到Kali192.168.200.5和SEEDUbuntu192.168.200.4和linux靶机 192.168.200.130
kali中使用指令sudo ettercap -G打开攻击工具ettercap
点击右上角对勾,在host选项卡里选择scan for host开始扫描,选择host list查看扫描结果
选择SEED主机,将其添加到Target1中;选择Linux靶机,将其添加到Target2中
运行ARP Poisoning
在SEED主机中telnetLinux靶机,输入账号密码进行登录
Kali Linux虚拟机,点击View,Connections
查看telnet登录后建立的连接,可以查询到登录使用的用户名和密码
3.学习中遇到的问题及解决
问题1:无法使用netwox指令
解决:使用命令sudo apt-get install netwox安装netwox
问题2:进行实验1时,总是欺骗不成功
解决:改用了桥接模式
问题3:在进行第五个实验的时候,kali总是扫不到Linux靶机
解决:将Linux靶机放到和kali虚拟机一个网段内
4.学习感悟、思考
关于一些网络配置的问题还不是很清楚需要进行进一步的学习。