TFN DDOS 拒绝服务攻击程序研究

 

TFN  DDOS 拒绝服务攻击程序研究   

作者:青青子衿

email:anzijin@sina.com

一、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受控肉鸡端程序流程图

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值