网络协议攻防实验(Netwox-Netwag)
网络协议攻防实验(Netwox-Netwag)
0.前言
理解基于网络协议的攻击原理, 掌握一些基于网络协议攻击的方法,掌握 netwox/netwag 的使用方法
1.工具配置
安装 netwox/netwag 工具要先安装 ActiveTcl,再解压安装,安装配置 Telnet 服务器,Telnet 客户端。打开 Telnet 功能:控制面板-程序-程序和功能-打开或关闭 Windows 功能,勾选 Telnet 服务器,Telnet 客户端
/1.png)
/2.png)
增加 Win7 用:控制面板-用户帐户和家庭安全-用户帐-管理帐户,之后按提示创建用户并设置
/3.png)
将用户加入 Telnet 群组假定创建用户为 infosec12,搜索 - lusrmgr.msc
/4.png)
本地用户和组–组-TelnetClients-添加-infosec1
2.启动 Telnet 服务器
/5.png)
3.客户端登录 Telnet 服务器
从客户端命令行上输入 telnet IP 地址,之后输入帐号/口令字,登入 Telnet服务器。下图的踪迹表明客户端登录 Telnet 服务器的踪迹。Wireshark 可运行在客户端或服务器上
/6.png)
/7.png)
4.使用 netwox/netwag 工具
使用 netwox/netwag 工具伪造 TCP 包并进行抓包分析可以采用方法 38
/8.png)
捕获的踪迹如下
/9.png)
5.进行 SYN flood 攻击
使用 netwox/netwag 工具对 Telnet 服务器进行 SYN flood 攻击,并进行抓包分析
(1)在本地机器上配置激活 Telnet 服务器与 Telnet 客户端,以自己的学号创建新的用户
/10.png)
(2)启动本地 Wireshark;
(3)在另外的 IP 上登录有自己学号帐户的 Telnet 服务器,截屏及捕获登录踪迹;
/11.png)
(4)退出登录,从第三台机器上利用 netwox/netwag 工具对进行 SYN flood 攻击。捕获 DDOS 攻击踪迹。尝试再次登录 Telnet 服务器,解释现象
/12.png)
/13.png)
通过上图,我们可以看见,大量不同源地址的SYN包对服务器的80端口发送SYN包,从而进行SYN flood攻击。
客户端再次尝试连接,结果为
/14.png)
可以看见,在重新运行连接时,客户端的连接一直处于等待连接状态,明显是由于SYN-flood的攻击起了作用,导致客户端无法连接
6.进行 TCP RST 攻击
使用 netwox/netwag 工具对 Telnet 服务器进行 TCP RST 攻击,并进行抓包析
(1) 创建一个 Telnet 账户,以这个账户为基础进行后继的实验。
(2) 验证 TCP RESET 理论上的可行性
A) 先在二主机之间建立一个 TCP 连接,通过抓包程序获得当前二主机的 ip地址,端口号,序列号
/15.png)
/16.png)
从捕获的包中可以看见两台连接主机的 主要信息:
源ip:192.168.172.131 源端口:49160
目标ip:192.168.172.133 目标端口:23
Seq:715 Ack:1418 Win:64256
十六进制为: Seq:000c29 Ack:9053ce58 Win:00fb
/17.png)
B 通过获得的信息伪造 TCP RESET 报文并发送。
/18.png)
/19.png)
通过输入对应的Ack(raw)值作为Seq输入,伪TCP RESET 报文
/20.png)
C) 观察原有 TCP 连接是否断开
/21.png)
可以观察到主机已经失去连接
7.窗口对 TCP RESET 攻击
A) 先在二主机之间建立一个 TCP 连接,通过抓包程序获得当前二主机的 ip地址,端口号,序列号,另外就是记录下窗口的大小
/22.png)
B) 通过获得的信息伪造 TCP RESET,填写伪造的序列号时,使伪造序号大于准确的序列号但是与准确序列号的差小于窗口大小,发送 TCP RESET 报文。
我们这里win的大小为63212,令伪造序的序列号与准确序列号的差为237
/23.png)
/24.png)
/25.png)
C )观察原有 TCP 连接是否断开。改动伪造的序列号,使其刚与准确的序列号之差刚好为窗口大小,重复以上实验。
可以看见原有 TCP 连接并没有断开,2995052430+63212=2995115642
/26.png)
/27.png)
/28.png)
D) 改动伪造的序列号,使其刚与准确的序列号之差大于窗口大小,重复以上实验。
可以看见原有 TCP 连接依旧没有断开,这次我们取大于窗口大小的伪造的序列号
/29.png)
最后显示断开连接
8.总结
对于工具netwag的使用,浅显的学会了其中的几个功能实现和数据包伪装。对于数据包所包含的Seq、Ack和Win等值的参数都有了更进一步的了解
其次是对于泛洪攻击的实现与掌握,通过攻击服务端的相应端口,扔出大量无用的数据包,导致客户端的机器无法连接,防范这种攻击的想法是过滤,通过过滤出无用的SYN包,达到减少大量数据包占用资源的效果,如何有效的过滤也是一个问题。
最后是RST攻击,RST数据包是为了通讯双方在连接时出现问题时采取的中断措施,在实验中伪造RST,可以实现第三方中断客户端与服务端的最终效果