基于netwox/netwag 工具的网络协议攻防实验
Posted chuanzi
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了基于netwox/netwag 工具的网络协议攻防实验相关的知识,希望对你有一定的参考价值。
实验目的:
理解基于网络协议的攻击原理, 掌握一些基于网络协议攻击的方法, 掌握 netwox/netwag 的使用方法。 实验环境: netwox/netwag 工具, wireshark 工具, Telnet 服务器, Telnet 客户端
实验准备:
1. 安装 netwox/netwag 工具:先安装 ActiveTcl,再解压安装
2. 安装配置 Telnet 服务器, Telnet 客户端
实验内容:
- 使用 netwox/netwag 工具伪造 TCP 包并进行抓包分析
2. 使用 netwox/netwag 工具对 Telnet 服务器进行 SYN flood 攻击,并进行抓包分析
3. 使用 netwox/netwag 工具对 Telnet 服务器进行 TCP RST 攻击,并进行抓包分析。
实验步骤记录:
实验准备:安装 Activetcl 和Netwox/Netwag工具
实验正式进行:
- 使用 netwox/netwag 工具的方法38伪造 TCP 包并进行抓包分析
2.使用 netwox/netwag 工具对 Telnet 服务器进行 SYN flood 攻击,并进行抓包分析
(1)在本地机器上配置激活 Telnet 服务器与 Telnet 客户端,以自己的学号创建新的用户;
1.1) 打开 Telnet 功能:控制面板-程序-程序和功能-打开或关闭 Windows 功能,勾选 Telnet 服务器, Telnet 客户端。
1.2)启动本地 Telnet 服务器,搜索-服务,点击服务,选择 Telnet,更改启动类型为 手动
1.3)增加 Win7 用户1515300024并将其加入 到Telnet 群组
1.4)手动启动 Telnet 服务器:net start Telnet
(2)启动本地 Wireshark;
(3)在第二台机器上登录有自己学号帐户的 Telnet 服务器,截屏及捕获登录踪迹;
从客户端命令行上输入 telnet IP 地址,之后输入帐号/口令字,登入 Telnet 服务器。同时在客户端开启Wireshark抓包工具,抓取客户端 192.168.1.130 登录到Telnet 服务器192.168.1.131 的数据包
下图为客户端登陆并执行一次dir命令的截图:
下图为客户端Wireshark抓取的Telnet流量包截图截图:
使用Wireshark的流追踪功能还原出本次明文传输的Telnet通信过程,可以看出这些信息和客户端上的过程基本一致
(4)退出登录,从第三台机器上利用 netwox/netwag 工具对Telnet服务器进行 SYN flood 攻击。捕获 DDOS 攻击踪迹。尝试再次登录 Telnet 服务器,解释现象。
构造SYN flood攻击包如下:
启动攻击:
抓取的DDOS 攻击踪迹如下,可以发现这些攻击包高度相似,目的地址都是Telnet服务器的IP:192.168.1.131,类型都是SYN请求包,但是源地址没有任何规律
此时在第二台机器上再次连接Telnet服务器,会出现以下无法连接的情况,因为在服务器的 23 端口积累了大量的SYN请求包需要服务器来处理,服务器向SYN包的源地址发送SYN/ACK 包并等待源地址的ACK包回复,但是由于源地址是伪造的,无法回复 ACK 包,服务器因此陷入等待状态,从而导致无法接收正常主机发起的 TCP 连接,造成拒绝服务现象。
3.使用 netwox/netwag 工具对 Telnet 服务器进行 TCP RST 攻击,并进行抓包分析。
(1) 以你的学号创建一个 Telnet 账户,以这个账户为基础进行后继的实验。
这一步只需使用之前配置好的账户即可
(2) 验证 TCP RESET 理论上的可行性
A 先在二主机之间建立一个 TCP 连接,通过抓包程序获得当前二主机的 ip 地址,端口号,序列号。 B 通过获得的信息伪造 TCP RESET 报文并发送。
C 观察原有 TCP 连接是否断开。
建立TCP 连接:Telnet 192.168.1.131
抓包获得当前二主机的 ip 地址,端口号,序列号如下:
源ip地址: 192.168.1.137, 目的ip地址: 192.168.1.131
源端口: 1056, 目的端口: 23,
序列号(Seq): 563773297, 确认号(Ack): 2245100282
伪造的数据包发送完成后,Telnet客户端立即断开了连接,同时wireshark上也抓到了对应的伪造的RST数据包,结果截图如下:
实验至此可以证明 TCP RESET 是可行的
(3) 验证窗口对 TCP RESET 攻击的影响
A 先在二主机之间建立一个 TCP 连接,通过抓包程序获得当前二主机的 ip 地址,端口号,序列号,另外就是记录下窗口的大小。
B 通过获得的信息伪造 TCP RESET,填写伪造的序列号时,使伪造序号大于准确的序列号但是与准确序列号的差小于窗口大小,发送 TCP RESET 报文。
C 观察原有 TCP 连接是否断开。 改动伪造的序列号,使其刚与准确的序列号之差刚好为窗口大小,重复以上实验。
3.1)伪造序号大于准确的序列号但是与准确序列号的差小于窗口大小
建立TCP 连接:Telnet 192.168.1.131
构造欺骗客户端的RST包:
抓取客户端发往服务器的TCP包获得当前二主机的 ip 地址,端口号,序列号,窗口大小如下:
源ip地址: 192.168.1.137, 目的ip地址: 192.168.1.131
源端口: 1146, 目的端口: 23,
序列号(Seq): 2649478470, 确认号(Ack): 3142715117,窗口的大小(win):62847
伪造欺骗客户端的TCP RESET 报文并发送:
使用确认号(Ack): 3142715117+10=3142715127作为伪造数据包的序列号(Seq),构造如下RST数据包:
连接没有断开,而且可以看到,在RST包发出去以后,客户端立刻发了一个重传包给服务器,该重传包的数据和105号包是一致的,现在客户端仍然可以正常发送数据.
实验没有达到预期效果顺利断开,接着我尝试减少确认号(Ack)增加的值,结果发现+10,+5,+2,+1都不能断开连接,由此推测这样简单地构造RST包是不可行的,或许需要辅以其他手段。
3.2)改动伪造的序列号,使其刚与准确的序列号之差刚好为窗口大小
RST包发送后,客户端重传958号数据包,连接没有断开
结果和3.1一样,无法中断telnet连接。
以上是关于基于netwox/netwag 工具的网络协议攻防实验的主要内容,如果未能解决你的问题,请参考以下文章
2017-2018-2 20179204《网络攻防实践》第四周学习总结