3.偽造IP的Flood
比較厲害的ICMP Flood,使用的是偽造的IP而且一樣大密度,下面是the0crat用56K撥號對我的一次攻擊測試的部分?jǐn)?shù)據(jù)(看看時間,真暈了,這可是56K小貓而已。
=============================================================
[18:52:12] 1.1.1.1 嘗試用Ping 來探測本機(jī),
該操作被拒絕。
[18:52:12] 1.1.1.1 嘗試用Ping 來探測本機(jī),
該操作被拒絕。
[18:52:12] 1.1.1.1 嘗試用Ping 來探測本機(jī),
該操作被拒絕。
[18:52:12] 1.1.1.1 嘗試用Ping 來探測本機(jī),
該操作被拒絕。
[18:52:12] 1.1.1.1 嘗試用Ping 來探測本機(jī),
該操作被拒絕。
[18:52:12] 1.1.1.1 嘗試用Ping 來探測本機(jī),
該操作被拒絕。
[18:52:12] 1.1.1.1 嘗試用Ping 來探測本機(jī),
該操作被拒絕。
[18:52:12] 1.1.1.1 嘗試用Ping 來探測本機(jī),
該操作被拒絕。
=============================================================
無言…………
4、反射ICMP Flood
估計現(xiàn)在Smurf攻擊還沒有多少人會用(R-Series的RSS.EXE就是做這事的,RSA.EXE和RSC.EXE分別用作SYN反射和UDP反射),所以這種方法還沒有大規(guī)模出現(xiàn),但Smurf是存在的!而且這個攻擊方法比前面幾種更恐怖,因為攻擊你的是大網(wǎng)站(或一些受苦受難的服務(wù)器)!
我正在被網(wǎng)易、萬網(wǎng)和新浪網(wǎng)站攻擊中(懶得修改策略,直接用其他工具抓的。實際攻擊中,反射的IP會多幾倍!)
=======================================================================
[15:26:32] RECV:ICMP Packet from 202.108.37.36 (Type=0,Code=0,Len=52)
[15:26:32] RECV:ICMP Packet from 202.108.36.206 (Type=0,Code=0,Len=52)
[15:26:32] RECV:ICMP Packet from 210.192.103.30 (Type=0,Code=0,Len=52)
[15:26:32] RECV:ICMP Packet from 202.108.37.36 (Type=0,Code=0,Len=52)
[15:26:32] RECV:ICMP Packet from 210.192.103.30 (Type=0,Code=0,Len=52)
[15:26:32] RECV:ICMP Packet from 202.108.36.206 (Type=0,Code=0,Len=52)
[15:26:32] RECV:ICMP Packet from 202.108.37.36 (Type=0,Code=0,Len=52)
[15:26:32] RECV:ICMP Packet from 210.192.103.30 (Type=0,Code=0,Len=52)
[15:26:32] RECV:ICMP Packet from 210.192.103.30 (Type=0,Code=0,Len=52)
[15:26:32] RECV:ICMP Packet from 202.108.36.206 (Type=0,Code=0,Len=52)
[15:26:33] RECV:ICMP Packet from 210.192.103.30 (Type=0,Code=0,Len=52)
[15:26:33] RECV:ICMP Packet from 202.108.36.206 (Type=0,Code=0,Len=52)
[15:26:33] RECV:ICMP Packet from 202.108.37.36 (Type=0,Code=0,Len=52)
[15:26:33] RECV:ICMP Packet from 202.108.37.36 (Type=0,Code=0,Len=52)
[15:26:33] RECV:ICMP Packet from 202.108.36.206 (Type=0,Code=0,Len=52)
[15:26:33] RECV:ICMP Packet from 210.192.103.30 (Type=0,Code=0,Len=52)
[15:26:33] RECV:ICMP Packet from 202.108.37.36 (Type=0,Code=0,Len=52)
[15:26:33] RECV:ICMP Packet from 202.108.36.206 (Type=0,Code=0,Len=52)
[15:26:33] RECV:ICMP Packet from 210.192.103.30 (Type=0,Code=0,Len=52)
=======================================================================
可以看出,攻擊者使用的是32bytes的ECHO請求,所以服務(wù)器返回52-20=32bytes的REPLY報文,在這個情況下,是不會報警的。
還是那句話,報警也沒用了。
八、自己編寫ICMP Flooder
以上說的都是理論,如何才能自己寫一個呢?相信很多人已經(jīng)躍躍欲試了,下面就用VC6.0來寫一個直接的ICMP Flooder(能在Win98/Me環(huán)境使用)……先等等——最重要的是原理。
1.程序原理
當(dāng)然不能用IcmpSendEcho來做,我們必須自己從最原始的IP報文里做一個。構(gòu)造一個SOCK_RAW報文后,填充ICMP數(shù)據(jù)和計算校驗和(CheckSum),循環(huán)sendto發(fā)出去就完成了,so easy!
2.ICMP報文的聲明
一個ICMP報文包括IP頭部、ICMP頭部和ICMP報文,用IPPROTO_ICMP創(chuàng)建這個類型的IP包,用以下結(jié)構(gòu)填充:
typedef struct _ihdr
{
BYTE i_type; //8位類型
BYTE i_code; //8位代碼
USHORT i_cksum; //16位校驗和
USHORT i_id; //識別號
USHORT i_seq; //報文序列號
ULONG timestamp; //時間戳
}ICMP_HEADER;
這樣我們就聲明了一個ICMP報文結(jié)構(gòu),就等后面的填充了。本新聞共 3頁,當(dāng)前在第 3頁 1 2 3 |