今天看到一篇TCP协议层面攻击方式的文章(虽然以前看过但是感觉自己快忘了),看到LAND攻击时突然有了启发,可不可以伪造成B向机器A发送一个数据包,机器A随后又发送一个回送包给真实的B,从而造成两台机器的资源消耗,且可以伪装成B向多台A发送数据包,造成多台A向真实的B回送包,从而导致伪DDOS,虽然这种方式发送的数据包量近似=直接ddos的数据包量,但可以有效避免防火墙对同一ip大量数据包的过滤,且如果有多台僵尸机,即可实现比使用多台僵尸机DDOS攻击更强的攻击实现
嗯,说干就干开始实验
设计实验:
伪装成B发送第一次握手的包给A
原理:
1、A端口开放,B端口开放,即kali发送一个伪造的包,伪装为B将包发送给A的开放端口
预期:A回送一个第三次握手包给B
结果:失败,B发送第二次握手包给A,A并不会回复
2、A端口开放,B端口关闭,即kali发送一个伪造的包,伪装为B将包发送给A的开放端口
预期:B给A发送一个RST包给A,A不回复
结果:符合预期
3、A端口关闭,B端口开放,即kali发送一个伪造的包,伪装为B将包发送给A的关闭端口
预期:A回送一个RST包给B
结果:不回复
4、A端口关闭,B端口关闭,即kali发送一个伪造的包,伪装为B将包发送给A的关闭端口
预期:B给A发送一个RST包给A,A不回复
结果:符合预期
所以结果是:A不会回复B从而造成A的资源浪费,实验失败
从而改变思路
转向挥手阶段
设计实验:
伪装为B向A发送第一次挥手包(这个实验直接给出结果)
1、A端口开放,B端口开放,即kali发送一个伪造的包,伪装为B将包发送给A的开放端口
结果:B发送FIN,A不回复
2、A端口开放,B端口关闭,即kali发送一个伪造的包,伪装为B将包发送给A的开放端口
结果:B发送FIN,A不回复
3、A端口关闭,B端口开放,即kali发送一个伪造的包,伪装为B将包发送给A的关闭端口
结果:B发送FIN,A不回复
4、A端口关闭,B端口关闭,即kali发送一个伪造的包,伪装为B将包发送给A的关闭端口
结果:B发送FIN,A不回复
再次尝试四次实验:?A偶尔回复?不知道为什么,也许是A自动把B发送到FIN包给过滤掉了?搞不懂这里的原理
写到最后:
实验失败了,至少强化了对TCP协议的理解,这波不亏