1DDoS攻击基础教程简介TFN被认为是当今功能最强性能最好的DoS攻击工具,几乎不可能被察觉。每一个人都应该意识到假如他不足够关心他的安全问题,最坏的情形就会发生。因此这个程序被设计成大多数的操作系统可以编译,以表明现在的操作系统没有特别安全的,包括Windows,Solaris,Linux及其他各种unix.术语客户端——用于通过发动攻击的应用程序,攻击者通过它来发送各种命令。守护程序——在代理端主机运行的进程,接收和响应来自客户端的命令。主控端——运行客户端程序的主机。代理端——运行守护程序的主机。目标主机——分布式攻击的目标(主机或网络)。什么是TFN2K?TFN2K通过主控端利用大量代理端主机的资源进行对一个或多个目标进行协同攻击。当前互联网中的UNIX、Solaris和WindowsNT等平台的主机能被用于此类攻击,而且这个工具非常容易被移植到其它系统平台上。TFN2K由两部分组成:在主控端主机上的客户端和在代理端主机上的守护进程。主控端向其代理端发送攻击指定的目标主机列表。代理端据此对目标进行拒绝服务攻击。由一个主控端控制的多个代理端主机,能够在攻击过程中相互协同,保证攻击的连续性。主控央和代理端的网络通讯是经过加密的,还可能混杂了许多虚假数据包。整个TFN2K网络可能使用不同的TCP、UDP或ICMP包进行通讯。而且主控端还能伪造其IP地址。所有这些特性都使发展防御TFN2K攻击的策略和技术都非常困难或效率低下。TFN2K的技术内幕◆主控端通过TCP、UDP、ICMP或随机性使用其中之一的数据包向代理端主机发送命令。对目标的攻击方法包括TCP/SYN、UDP、ICMP/PING或BROADCASTPING(SMURF)数据包flood等。◆主控端与代理端之间数据包的头信息也是随机的,除了ICMP总是使用ICMP_ECHOREPLY类型数据包。◆与其上一代版本TFN不同,TFN2K的守护程序是完全沉默的,它不会对接收到的命令有任何回应。客户端重复发送每一个命令20次,并且认为守护程序应该至少能接收到其中一个。◆这些命令数据包可能混杂了许多发送到随机IP地址的伪造数据包。◆TFN2K命令不是基于字符串的,而采用了++格式,其中是代表某个特定命令的数值,则是该命令的参数。◆所有命令都经过了CAST-256算法(RFC2612)加密。加密关键字在程序编译时定义,并作为TFN2K客户端程序的口令。2◆所有加密数据在发送前都被编码(Base64)成可打印的ASCII字符。TFN2K守护程序接收数据包并解密数据。◆守护进程为每一个攻击产生子进程。◆TFN2K守护进程试图通过修改argv[0]内容(或在某些平台中修改进程名)以掩饰自己。伪造的进程名在编译时指定,因此每次安装时都有可能不同。这个功能使TFN2K伪装成代理端主机的普通正常进程。因此,只是简单地检查进程列表未必能找到TFN2K守护进程(及其子进程)。◆来自每一个客户端或守护进程的所有数据包都可能被伪造。特点描述:TFN使用了分布式客户服务器功能,加密技术及其它类的功能,它能被用于控制任意数量的远程机器,以产生随机匿名的拒绝服务攻击和远程访问。此版本的新特点包括:1.功能性增加:为分布式执行控制的远程单路命令执行对软弱路由器的混合攻击对有IP栈弱点的系统发动Targa3攻击对许多unix系统和WinNT的兼容性。2.匿名秘密的客户服务器通讯使用:假的源地址高级加密单路通讯协议通过随机IP协议发送消息诱骗包编译:在编译之前,先要编辑src/makefile文件修改选项符合你的操作系统。建议你看一下src/config.h然后修改一些重要的缺省值。一旦你开始编译,你会被提示输入一个8--32位的服务器密码。如果你使用REQUIRE=#PASS类型编译,在使用客户端时你必须输入这个密码。TFN2K为开放原代码的软件,所以需要我们进行编译,这个不用说了,编译应该都会的吧,但有几个地方是必需注意的,因为使用不同版本和厂商的LINUX需要不同的设置.先修改src/ip.h注释掉以下部分,否则编译出错。/*structin_addr{unsignedlongints_addr;};*/然后make进行编译编译时会提示你输入服务器端进行密码设置8-32位,(攻击的时候需要输入密码)编译后会出3现两个新的执行文件td和tfn,其中td是守护进程,也是客户机的使用进程,而tfn是服务器控制进程,如果想攻击别人就必需先起动td这个进程,然后再运行服务器进程,否则攻击无效,更改密码可以执行mkpass进行更改,最后在所有的客户机中安装并运行td(需要ROOT权限),并且在服务器上建立一个文本文件,文件中记录所有的客户机IP地址(用VI编辑一个就可行了),格式为:文件第一行输入:192.168.111.1文件第二行输入:192.168.111.2文件第三行输入:192.168.111.3.....安装:TFN服务器端被安装运行于主机,身份是root(或euidroot)。它将用自己的方式提交系统配置的改变,于是如果系统重启你也得重启。一旦服务器端被安装,你就可以把主机名加入你的列表了(当然你也可以联系单个的服务器端)。TFN的客户端可以运行在shell(root)和Windows命令行(管理员权限需要在NT上).使用客户端:客户端用于联系服务器端,可以改变服务器端的配置,衍生一个shell,控制攻击许多其它的机器。你可以tfn-ffile从一个主机名文件读取主机名,也可以使用tfn-hhostname联系一个服务器端。缺省的命令是通过杀死所有的子线程停止攻击。命令一般用-c,请看下面的命令行描述。选项-i需要给命令一个值,分析目标主机字符串,这个目标主机字符串缺省用分界符@。当使用smurfflood时,只有第一个是被攻击主机,其余被用于直接广播。1)1-反欺骗级:服务器产生的DoS攻击总是来源于虚假的源地址。通过这个命令,你可以控制IP地址的哪些部分是虚假的,哪些部分是真实的IP。2)2-改变包尺寸:缺省的ICMP/8,smurf,udp攻击缺省使用最小包。你可以通过改变每个包的有效载荷的字节增加它的大小。3)3-绑定rootshell:启动一个会话服务,然后你连接一个指定端口就可以得到一个rootshell。4)4-UDPflood攻击:这个攻击是利用这样一个事实:每个udp包被送往一个关闭的端口,这样就会有一个ICMP不可到达的信息返回,增加了攻击的能力。5)5-SYNflood攻击:这个攻击有规律的送虚假的连接请求。结果会使目标端口拒绝服务,添满TCP连接表,通过对不存在主机的TCP/RST响应增加攻击潜力。6)6-ICMP响应(ping)攻击:这个攻击发送虚假地址的ping请求,目标主机会回送相同大小的响应包。7)7-SMURF攻击:用目标主机的地址发送ping请求以广播扩大,这样目标主机将得到回复一个多倍的回复。8)8-MIX攻击:按照1:1:1的关系交替的发送udp,syn,icmp包,这样就可以对付路由器,其它包转发设备,NIDS,sniffers等。9)9-TARGA3攻击IPstackpenetrationtool/'exploitgenerator'.SendscombinationsofuncommonIPpacketstohoststogenerateattacksusinginvalid4fragmentation,protocol,packetsize,headervalues,options,offsets,tcpsegments,routingflags,andotherunknown/unexpectedpacketvalues.UsefulfortestingIPstacks,routers,firewalls,NIDS,etc.forstabilityandreactionstounexpectedpackets.Someofthesepacketsmightnotpassthroughrouterswithfilteringenabled-testswithsourceanddestinationhostonthesameethernetsegmentgivesbesteffects.10)10-远程命令执行:给予单路在服务器上执行大量远程命令的机会。使用tfn用于分布式任务(UsingTFNforotherdistributedtasks)新版本的DDOS工具包含一个最新流行的特点:软件的自我更新。TFN也有这个功能,作者并没有显式的包含这个功能。在ID10远程执行命令中给予用户在任意数量远程主机上以批处理的形式执行同样shell命令的能力。这同时也证明了一个问题:DDOS等类似的分布式网络工具不仅仅简单的用于拒绝服务,还可以做许多实际的事情。TFN使用方法:usage:./tfn[-Pprotocol]Protocolforservercommunication.CanbeICMP,UDPorTCP.Usesarandomprotocolasdefault[-Dn]Sendoutnbogusrequestsforeachrealonetodecoytargets[-Shost/ip]SpecifyyoursourceIP.Randomlyspoofedbydefault,youneedtouseyourrealIPifyouarebehindspoof-filteringrouters[-fhostlist]FilenamecontainingalistofhostswithTFNserverstocontact[-hhostname]TocontactonlyasinglehostrunningaTFNserver[-itargetstring]Containsoptions/targetsseparatedby@,seebelow[-pport]ATCPdestinationportcanbespecifiedforSYNfloods0-Haltallcurrentfloodsonserver(s)immediately1-ChangeIPantispoof-level(evaderfc2267filtering)usage:-i0(fullyspoofed)to-i3(/24hostbytesspoofed)2-ChangePacketsize,usage:-i3-Bindrootshelltoaport,usage:-i4-UDPflood,usage:-ivictim@victim2@victim3@...5-TCP/SYNflood,usage:-ivictim@...[-pdestinationport]6-ICMP/PINGflood,usage:-ivictim@...7-ICMP/SMURFflood,usage:-ivictim@broadcast@broadcast2@...8-MIXflood(UDP/TCP/ICMPinterchanged),usage:-ivictim@...9-TARGA3flood(IPstackpenetration),usage:-ivictim@...10-Blindlyexecuteremoteshellcommand,usage-icommand5测试环境:共有5台机器,是在五台redhatlinux6.2上测试的。192.168.111.1192.168.111.2192.168.111.3192.168.111.55192.168.111.88简要介绍:我们的测试目的是用192.168.111.55指挥192.168.111.1,192.168.111.2,192.168.111.3,三台机器对192.168.111.88发动攻击。(实际攻击中就不止三台了。)详细步骤:黑客攻击时事先要控制192.168.111.1,192.168.111.2,192.16