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


    1 实践内容

    1.1 TCP/IP网络协议栈攻击概述

    • 网络安全属性:机密性、完整性、可用性、真实性、不可抵赖性。
    • 网络攻击基本模式
      • (被动)截获:嗅探、监听
      • (主动)中断:拒绝服务
      • (主动)篡改:欺骗
      • (主动)伪造
    • TCP/IP网络协议是基于可信的网络环境的,因此存在许多安全问题。TCP/IP网络协议栈的分层模型:网络接口层、互联网层、传输层和应用层。针对不同的层出现了不同的攻击技术。
    • 原始报文伪造技术以及工具:原始套接字(raw socket)、netwox、netwag

    1.2 网络层协议攻击

    - IP源址欺骗 ARP欺骗 ICMP路由重定向攻击
    原理 只使用数据包中的目标地址进行路由转发,而不对源地址进行真实性的验证 攻击者在有线以太网或者无线网上发送伪造ARP消息,对特定IP所对应的MAC地址进行假冒欺骗 利用ICMP路由重定向报文改变主机路由表,向目标主机发送重定向消息,伪装成路由器,使得目标机器的数据报文发送至攻击机从而加强监听
    工具 netwox;wireshark;nmap DSniff中的Arpspoof;arpison;Ettercap;netwox netwox
    防范措施 使用随机化的初试序列号;使用网络层安全传输协议;避免采用基于IP地址的信任策略;在路由器和网关上实施包过滤 静态绑定关键主机的IP地址和MAC地址映射关系、使用相应的ARP防范工具、使用VLAN虚拟子网细分网络拓扑、加密是传输数据 根据类型过滤一些ICMP数据包,设置防火墙过滤,对ICMP重定向报文判断是不是来自本地路由器的
    应用 拒绝服务攻击;网络扫描;身份认证 交换式网络、构造中间人攻击、恶意代码ARP病毒 -

    1.3 传输层协议攻击

    - TCP RST攻击 TCP会话劫持攻击 TCP SYN Flood UDP Flood
    原理 伪造TCP重置报文,断开TCP会话连接 劫持通信双方已经建立的连接,假冒其中一方的身份与另一方进行进一步通信 向目标主机发送大量的伪造源地址的SYN连接请求,消耗目标主机的连接队列资源,从而不能够为正常用户提供服务 向目标主机和网络发送大量的UDP数据包,使得目标主机和网络陷入不可用的状态,造成拒绝服务攻击

    1.4 TCP/IP网络协议栈攻击防范措施

    • 检测、预防与加固
      • 网络接口层主要监测和预防网络嗅探
      • 互联层很难完全避免欺骗攻击的风险,但可采用多种技术进行阻断
      • 传输层采用身份验证、访问控制等
      • 应用层采用加密、数字签名、入侵检测等
    • 网络安全协议
    • 下一代互联网协议——以IPv6为代表的下一代互联网协议

    2 实践内容

    2.1 实验一:ARP缓存欺骗攻击

    主机 Mac地址 IP地址
    kali(A) 00:0c:29:01:75:b7 192.168.200.5
    SEED(B) 00:0c:29:8b:d9:6d 192.168.200.3
    WinTarget(C) 00:0c:29:E9:EA:27 192.168.200.124

    • 在主机A中使用apt-get install netwoxapt-get install hunt安装netwox和hunt。
    • 主机A使用netwox 33 -b 00:0c:29:E9:EA:27 -g 192.168.200.3 -h 00:0c:29:e9:ea:27 -i 192.168.200.124命令,冒充B,对主机C进行欺骗。

    2.2 实验二:ICMP重定向攻击

    主机 IP地址
    kali(A) 192.168.200.5
    SEED(B) 192.168.200.3
    WinXP(C) 192.168.200.2
    • 在主机C中查看路由表

    • 在主机A中使用netwox 86 -f "host 192.168.200.2" -g 192.168.200.5 -i 192.168.200.1使网关重定向为主机A的IP地址

    • 再次在主机C中查看路由表,发现主机A的IP地址已经出现

    2.3 实验三:TCP SYN Flood攻击

    主机 IP地址
    kali(A) 192.168.200.5
    SEED(B) 192.168.200.3
    WinXP(C) 192.168.200.2
    • 在主机B使用ftp 192.168.200.2,输入用户名administrator,密码mima1234,登陆成功。

    • 在主机A中使用netwox 76 -i 192.168.200.3 -p 21进行攻击

    • 再次在主机B中尝试登陆,登录失败,攻击成功。

    2.4 实验四:TCP RST攻击

    • 使用环境与上个实验相同,在主机A使用命令 netwox 78 -i 192.168.200.3攻击主机B

    • 登陆时,连接被关闭。

    2.5 实验五:TCP会话劫持攻击

    • hunt中出现以下问题。

    • 看了解建国同学博客,使用工具shijackk

    • 主机A使用命令git clone https://github.com/revanth5/shijackk.git下载工具

    • 在所在的文件夹中,右键在命令行中打开。

    • 使用sudo ./shijack-lnx eth0 192.168.200.3 34423 192.168.200.124 21命令出现如下问题(待解决)

    • 使用另一种方法,伪造包,把Next Seq Num作为下一个包的ACK,采用ACK作为下一个包的Seq。获取到信息之后,攻击机使用netwox工具伪造B给C发一个tcp包。
      netwox 40 --ip4-dontfrag --ip4-offsetfrag 0 --ip4-ttl 64 --ip4-protocol 6 --ip4-src 192.168.200.3 --ip4-dst 192.168.200.124 --tcp-src 34423 --tcp-dst 21 --tcp-seqnum 42 --tcp-acknum 161 --tcp-ack --tcp-psh --tcp-window 64 --tcp-data "68656C6C6F776F726C64"
      ip4-src后输入你的主机B的地址,在ip4-dst后输入主机C的地址,tcp-src表示原端口号(此处为34423),tcp-seqnum后输入Next Seqtcp-acknum后输入ACK.(此处忘记截图)

    • 抓包得到如下结果,并且原会话已经断开。

    TCP虚假重传。
    当抓到2次同一包数据时,wireshark判断网络发生了重传,同时,wireshark抓到初传包的反馈ack,因此wireshark判断初传包实际并没有丢失,因此称为虚假重传。基于wireshark的判断机制,如果抓包点在客户端的话,虚假重传一般为下行包,因为这时,客户端在收到服务端的下行包后发送反馈ack,并被wireshark抓到,但很有可能服务端未收到此反馈ack,RTO超时,触发服务端重传



    (补充)使用ETTERACP进行TCP会话劫持攻击

    主机 IP地址
    kali(A) 192.168.200.5
    WinXPM(B) 192.168.200.6
    WinXP(C) 192.168.200.2
    • 在主机A中打开节点的IP转发功能
    cat /proc/sys/net/ipv4/ip_forward//如果结果是0继续输入下一个命令
    echo 1 > /proc/sys/net/ipv4/ip_forward
    cat /proc/sys/net/ipv4/ip_forward//此时输出的结果应该是1就算是打开成功了
    
    • 执行命令 ettercap -G,打开Ettercap,记得在Wireshark中进行捕包
    • 点击【Sniff-Unified sniffing】选择【eth0】作为嗅探监听接口

    • 点击【Hosts -> Scan for hosts】 扫描局域网内攻击目标,并随后在菜单【 Hosts list】中,选择
      192.168.200.2 192.168.200.6 分别为target1和target2.

    • 点击【 MITM-> ARP poisoning 】进行ARP欺骗,并选择 【Sniff remote connections 】

    • 分别在主机B和C中执行arp -a查看MAC地址缓存,已经成功欺骗,可以看到主机A的MAC地址。

    • 在主机A中的Ettercap,点击【View->Connections】,查看捕包,具体信息如下。可以看到操作过程。

    • 然后查看WireShark捕包情况



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

    • TCP会话劫持攻击实验中shijackk使用出现问题尚未解决,使用另一种方法时捕包也捕到了一个TCP Spurious Retransmission包,了解了一下这个包怎么来的。后来尝试用telnet连接完成实验。

    4 实践总结

    这些攻击手段十之前上课反复能够听到的,动手做过之后能够更加深刻理解原理。TCP会话劫持攻击这个实验完成的不是很好,接下来将继续研究,解决问题。

    5 参考资料

  • 相关阅读:
    配置linux 防火墙,只有固定IP和端口才能能访问完美解决
    转.HTML中img标签的src属性绝对路径问题解决办法,完全解决!
    weblogic 安全漏洞问题解决
    转 echarts 的使用时遇到的坑 初始化和销毁,亲测有效!
    在使用 Fortify进行源码扫描时需要做对项目需要做什么?
    eclipse 导出 jar包详细步骤
    转 Fortofy扫描漏洞解决方案2
    JSON 之 SuperObject(1)
    Delphi使用JSON解析调用淘宝IP地址库REST API 示例
    Jsoncpp的使用
  • 原文地址:https://www.cnblogs.com/20199321zjy/p/12573761.html
Copyright © 2020-2023  润新知