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

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

1.实践内容

1.1 TCP/IP 网络协议栈攻击

网络安全是指网络系统的硬件、软件及其系统中的数据受到保护,不受偶然的或者恶意的原因而遭到破坏、更改、泄露,系统连续可靠正常运行,网络服务不被中断。

  • 网络安全属性:机密性、完整性、可用性、真实性、不可抵赖性
  • 网络攻击基本模式
攻击模式 含义 攻击技术
截获 被动攻击,获取通信信息 嗅探、监听
中断 主动攻击,使正常的网络通信和会话无法继续 拒绝服务
篡改 主动攻击,假冒通信方身份,欺骗通信对方达到恶意目的 欺骗
伪造 主动攻击,对网络通信过程的信息内容进行修改 中间人攻击
  • TCP/IP网络协议栈采用分层模式,分了网络接口层、互联层、传输层和应用层。
  • 原始报文伪造工具:Netwox

1.2 网络层协议攻击

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

    • 原理:IP协议设计时只验证数据包中的目标地址,不验证源地址的真实性
    • 攻击过程如下:

  • 应用场景:拒绝服务攻击;网络扫描时隐藏真实的扫描源地址

  • 工具:netwox的第41号工具构造ICMP数据包;用nmap扫描器中的-D后接伪造的地址,如nmap -sS -p 8080 172.31.4.200 -D 172.31.4.180,使用源地址为172.31.4.180查看172.31.4.200上的8080端口是否开放。

  • 防范措施:使用随机化的初始序列;使用网络层安全协议如IPsec;避免采用基于IP地址的信任策略;局域网关上启动过滤机制

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

    • ARP协议基本功能:对目标IP地址查询MAC地址,在局域网内通过MAC地址进行通信,过程如下图:

  • ARP欺骗攻击根源:ARP协议设计时认为局域网内部所有用户是可信的。

  • 安全缺陷:采用广播请求包方式在局域网段中询问映射关系;ARP缓存机制。

  • 攻击过程:

    • 源节点A发送数据包给目标节点B,广播ARP请求B的MAC地址
    • B应答,发送MAC(B),攻击者C不断发送MAC(C),覆盖掉了ARP缓存中的IP与MAC对应关系
    • C就可以冒充B与A通信
  • 工具:Netwox的33号工具可以构造任意的以太网ARP数据报,80号工具可以周期性地发送ARP应答报。

  • 防范措施:静态绑定关键主机的IP地址与MAC地址映射关系;使用ARP防范工具

  • ICMP路由重定向攻击:攻击者伪造路由器发送虚假的ICMP路由路径控制报文,使得受害主机选择攻击者指定的路由路径。

    • IP协议提供一种无连接,尽力而为的服务,缺少差错控制和查询机制,于是设计了ICMP协议。ICMP报文类型:差错报告类和控制类。

    • ICMP路由重定向主要用于应对网络故障时的数据包处置。

    • 攻击步骤:

      • 冒充路由发送ICMP重定向报文给被攻击节点
      • 被攻击节点接受后,选择攻击节点作为新路由器(网关)
      • 攻击节点开启路由转发,充当中间人,对通信进行嗅探
    • 工具:Netwox的86号工具,可以进行ICMP重定向攻击,netwox 86 -f "host 172.31.4.200" -g 172.31.4.210 -i 172.31.4.1,即嗅探到数据包的源或目的IP地址172.31.4.200时,就以172.31.4.1的名义向数据包的源地址发送一个ICMP重定向报文,使之使用172.31.4.210为默认路由。

    • 防范措施:设置防火墙过滤

1.3 传输层协议攻击

  • TCP RST攻击:又称伪造TCP重置报文攻击,是一种假冒干扰TCP通信连接的技术方法。TCP重置报文的设计是为了避免在发生一些特殊情况时TCP仍继续传输无效数据。

  • netwox的78号工具实现TCP RST攻击

  • TCP会话劫持攻击:劫持通信双方已建立的TCP会话连接,假冒其中一方(通常是客户端)的身份与另一方进行通信。

  • 目前普遍是结合ARP欺骗进行TCP会话劫持攻击,过程如下:

    • victim主机与telnet服务器建立会话连接
    • telnet服务器向victim发送响应包
    • 攻击者使用ARP欺骗实施中间人攻击,嗅探到通信内容,假冒victim的IP地址及身份,向telnet服务器发送数据包,宣称自己是victim
    • 攻击者发送RST重置掉victim和服务器的会话连接,防止ACK风暴使得TCP会话劫持攻击被网络管理人员发现。
    • 防范措施:禁用主机上的源路由;采用静态绑定IP-MAC映射表以避免ARP欺骗;引用和过滤ICMP重定向报文
  • TCP SYN Flood拒绝服务攻击:又称SYN洪泛攻击,利用TCP三次握手协议的缺陷,向目标主机发送大量的伪造源地址的SYN连接请求,消耗目标主机的连接队列资源,从而不能为正常用户提供服务。

    • netwox里的76号工具输入目标地址,即可进行TCP SYN Flood攻击
    • 防范措施:SYN-Cookie技术;防火墙地址状态监控技术
  • UDP Flood拒绝服务攻击:通过向目标主机和网络发送大量的UDP数据包,造成目标主机显著的计算负载提升或者目标网络的网络拥塞,造成拒绝服务攻击。一般会用于分布式拒绝服务攻击,UDP Flood通常会结合IP源地址欺骗技术。

2.实践过程

在网络攻防实验环境中完成TCP/IP协议栈重点协议的攻击实验,包括ARP缓存欺骗攻击、ICMP重定向攻击、SYN Flood攻击、TCP RST攻击、TCP会话劫持攻击。

IP地址 MAC地址
SEED_VM 攻击机C 192.168.200.4 00:0c:29:08:86:26
Linux Metasploitable 靶机A 192.168.200.5 00:0c:29:06:fe:02
Windows XP 靶机B 192.168.200.2 00:0c:29:9E:95:0E

  • ARP欺骗攻击

    • 攻击机C利用netwox分别对A和B进行ARP欺骗, 使A,B中的ARP缓存表中的映射关系分别是IP(B)/MAC(C), IP(A)/MAC(C). 对A进行欺骗, 在局域网广播B的IP地址对应的MAC地址,这是攻击机的MAC地址:netwox 80 -e 00:0c:29:08:86:26 -i 192.168.200.2, 同样地对B进行欺骗:netwox 80 -e 00:0c:29:08:86:26 -i 192.168.200.5
    • arp -a查看arp缓存表,下图分别是A和B的ARP缓存表

  • 当用B pingA时,可以在C上的wireshark上捕捉到数据信息

  • 用B ftp 192.168.200.5 即A的ip地址,也可以看到B向A发送的信息

  • ICMP重定向攻击

    这里在测试时出现了windowsxp系统无法上网,我将三台机子都改成了桥接模式.然后IP地址变了.

    IP地址 MAC地址
    SEED_VM 攻击机C 192.168.1.106 00:0c:29:08:86:26
    Linux Metasploitable 靶机A 192.168.1.125 00:0c:29:06:fe:02
    Windows XP 靶机B 192.168.1.105 00:0c:29:9E:95:0E
    • 用ipconfig /all查看B的默认网关, 以便攻击时使B信任

    • 在攻击机C上执行netwox 86 -f "host 192.168.1.105" -g 192.168.1.106 -i 192.168.1.1, 当嗅探到192.168.1.105(B)的数据包,就以192.168.1.1的名义向B发送ICMP重定向报文, 使192.168.1.106(C)的IP地址成为B的路由

    • route print查看路由,可以看到攻击成功

  • SYN Flood攻击

    • 靶机B向靶机A发起ftp服务

  • C用netwox76号工具对A进行攻击,命令netwox 76 -i 192.168.1.125 -p 21

  • B用ftp再次访问A,连接失败

  • 用wireshark可以查看许多未知ip向A发送SYN包

  • TCP RST攻击

    • 靶机B向靶机A发起telnet服务

    • C用netwox78号工具对A进行攻击,命令netwox 78 -i 192.168.1.125

    • B用telnet访问A的界面显示连接失败

    • 用wireshark可以查看攻击机以B的名义向A发送RST

  • TCP会话劫持攻击

    • 先回顾一下三次握手

  • 靶机B telnet靶机A ,攻击机C打开wireshark,然后再windowsxp系统靶机B上输入ls,在wireshark上查看数据

  • 用telnet过滤,查看最后一个包的源端口,目的端口,next seq和ack信息

  • 伪造发下一个包,将next seq作为下一个包的ack,用ack作为下一个包的seq。

  • 攻击机C使用 netwox 工具伪造B给 A发一个 tcp 包

    netwox 40 --ip4-dontfrag --ip4-offsetfrag 0 --ip4-tt1 64 --ip4-protocol 6 --ip4-src 192.168.1.105 --ip4-dst 192.168.1.125 --tcp-src 1195 --tcp-dst 23 --tcp-seqnum 1119125010 --tcp-acknum 3259117351 --tcp-ack --tcp-psh --tcp-window 128 --tcp-data ``"6869"

    40是netwox的40号工具,在ip4-src后输入B的地址,在ip4-dst后输入靶机A的地址,tcp-src输入源端口地址,tcp-seqnumtcp-acknum输入伪造的值,tcp-data是要发的数据的16进制值,这里的是hi的16进制。

  • 观察wireshark存在TCP Dup, TCP Dup ACK7#1表示是哪个序号的报文丢失,是第几次丢失,而且可以看到攻击机以靶机B的名义向A发送的数据“hi”

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

  • 问题1:我查询ip的时候,ip查不到了,在前天还可以查到,昨天我电脑中了个流氓安装软件的病毒,然后我用了一下杀毒软件,然后今天桥接模式查不到ip地址了

  • 问题1解决方案:感谢这位网友分析的如何解决:UP BROADCAST MULTICAST 问题,我一一检查了一下,发现是虚拟机的网络设置里无桥接网络,可能是杀毒软件时关掉了。
  • 问题2:ping不通linux的靶机
  • 问题2解决方案:因为我把网络模式改成了桥接模式,之前自己设置的ip地址没有改,将ip地址设成与物理机在同一段就可以了

4.实践总结

1.看理论的时候是一知半解,果然做实验就可以加深对概念的理解

2.发现推出ftp服务是用bye,退出telnet是ctrl+],再按quit

3.感谢同学的帮助

参考资料

posted @ 2020-04-01 00:06  20199122肖玲  阅读(540)  评论(0编辑  收藏  举报