TCP攻击与防范

1.syn泛洪DOS攻击


syn泛洪DOS攻击原理

            SYN泛洪( Flood) 是一种广为人知的攻击,对现代网络不太有效。攻击者向被攻击者发起大量的SYN包(第一次握手包),并且伪装源IP地址。被攻击者会发送SYN-ACK( 第二次握手包) 到假造的IP地址,因此永不可能收到ACK (第三次握手包)。这样被攻击者将会等待ACK( 第三次握手包) 的达到,从而占用内存和CPU的负载。通常把没有完全建立起来的连接称为半开连接,大量半开连接的存在将使得正常用户无法和被攻击者建立正常的TCP连接,从而无法提供正常的服务。

实验环境

            攻击者:Windows server 2003 安装有HUC syn攻击工具。

            靶机:Windows server 2008 sp1 开启web服务。

使用工具HUC syn进行dos攻击

            1.在命令行中运行syn.exe程序

图1

            程序规定了几种用法,我们选择用命令:syn 10.0.0.0 0 192.168.116.136 意思是重ip为10.0.0.0端口为0开始向192.168.116.136发送数据包。

            在攻击之后我们用wireshark抓包分析,我们在很短的时间内抓到了大量的syn。Ack数据包(半连接数据包)。

图2

            短时间内给服务器造成了大量的资源消耗,降低了服务器的性能,我们在其他计算机访问这个网站会变得奇慢无比。

2.syn泛洪DDOS攻击

syn泛洪DDOS攻击原理

            如果是单台计算机采用SYN泛洪攻击对服务器进行攻击,效果应该不很明显,但是如果采用人海战术、轮番轰炸,在多台计算机同时对服务器进行攻击,则至少会造成网络拥塞,这种攻击就是分布式拒绝服务攻击(DDOS,Distributed Denial of Service)。

实验环境

            一台Windows控制主机,控制了很多台肉鸡。

            一群被控制的肉鸡

            一个服务器主机

            实验方便就一台Windows xp3 控制主机,一台Windowsxp3肉鸡,一台服务器windows server 2008服务器主机。

攻击过程

            利用工具“网络测试系统”这并不是一个黑客软件,只是一个服务器压力测试系统,只是方便我们做实验用的。

            在肉鸡中运行服务端,连接攻击主机的ip。


图3

            在攻击主机中查看连接上的肉鸡,设置攻击包然后进行攻击。

图4

            攻击后,我们在服务器上进行抓包分析。

图5

            一样的我们可以大量的syn.ack 第二次握手的包。Ddos攻击就是利用肉鸡的电脑来攻击服务器,从而不用消耗自己的资源。

syn泛洪攻击的防范

            (1)实际上现在的大多操作系统已经实现了抵御SYN泛洪攻击的功能,据笔者验证只

要WindowsXP系统装上SP3.Windows7装上SP1、WindowsServer 2003和2008装上SP1,应该都能抵抗SYN防洪攻击。

            (2) 或者添加/修改注册表


            “HKLM\SYSTEMCurrentControlSet\Services\Tcpip\Parameters"下的值:

            "SynAttackProtect"=dword0000002

            “cpMaxHal fOpen"=dword 00000064

            "TcpMaxHalfOpenRetried"=dword:0000050

            "TcpMaxConnectResponseRetransmissions"=dword:00000000

            "TcpMaxDataRetransmi ssions"=dword: 0000003

            "TCPMaxPor t sExhau st ed" =dword 0000005

            "DisableIPSourceRouting"=dword:0000002

            "TcpTimedWaitDelay"=dword:000001e


            (3)最有效的,应该是增加防火墙来保护服务器,让防火墙过滤攻击

3.TCP reset位攻击及防范

攻击原理

            TCP协议头部有一个标志位称为“RST”位,正常的数据包中该位为0,一旦该位设置为1,则接收该数据包的主机将立即断开TCP会话。TCP Reset攻击中,攻击者可以伪造TCP连接其中的一方给另一方发送带有RST位的包来断开TCP连接,但是要确保这个数据包的源IP地址、源端口号、目的IP地址、目的端口号、序列号等特征符合已有TCP连接的特征,这就要求攻击者要能够监视通信双方之间的TCP连接。如果在集线器(Hub )构建起来的网络中,攻击者很容易就能监视通信双方之间的TCP连接,但如果是在交换机(Switch )构建起来的网络中,攻击者需要采用中间人攻击或者交换机的端口镜像等措施。

实验环境

            靶机:远程桌面Client 的Windows XP IP:192.168.116.129

            靶机:远程桌面server Windows server 2003 IP:192.168.116.131

            攻击:Kali  IP:192.168.116.139��

攻击过程

            1.首先在Kali中开启路由转发功能,要能双向转发。

                命令:echo 1> /proc/sys/net/ipv4/ip_forward

                查看是否成功

                命令:cat /proc/sys/net/ipv4/ip_forward

图6

            2.接着先进行ARP欺骗,实现中间人攻击。用的是工具arpspoof。

                命令: arpspoof –I eth0 –t 192.168.116.131 192.168.116.129

                           arpspoof –I eth0 –t 192.168.116.129192.168.116.131

图7

            3.这时我们可以开一下在对方电脑中的arp缓存表,是否欺骗成功。

图8
图9

            我们可以发现三个ip的Mac一样说明这时欺骗已经完成。

            最后我们打开远程桌面,再使用工具netwox进行断开远程桌面的链接。Netwox就是伪造了一个reset包来断开它们之间的tcp链接(因为telent是基于tcp链接的协议)。

            命令:netwox 78 –i “192.168.116.129”

图10
图11

            最后我们的这个tcp链接就断开了。

TCP reset攻击的防范

        (1)不要使用集线器构建网络

        (2)要避免被中间人攻击

你可能感兴趣的:(TCP攻击与防范)