zoukankan      html  css  js  c++  java
  • 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.感谢同学的帮助

    参考资料

  • 相关阅读:
    SVN 服务器 配置
    字符串写入到json文件
    关于Linux系统打开最大文件数量
    svn clearup svn cleanup failed–previous operation has not finished; run cleanup if it was int错误的解决办法
    原标题:北大最短毕业致辞,4分钟9次掌声!
    Mysql 基础操作命令
    Git 合并两个分支内容
    微信、QQ第三方登录授权时的问题总结
    PHP CI框架数据库常用操作
    Python 抓取数据存储到Mysql中
  • 原文地址:https://www.cnblogs.com/ling8/p/12609771.html
Copyright © 2011-2022 走看看