驱动管家:安全、高效、精准的专业驱动下载站!

DOS的四种攻击方法 tfn2k的程序及分析

2018-03-12 19:12:36责编:llp   来源:驱动管家     人气:

先介绍一下DDoS攻击的原理: DDoS把DoS又向前发展了一步,DDoS的行为更为自动化,它可以方便地协调从多台计算机上启动的进程,让一股DoS洪流冲击网络,并使网络因过载而崩溃。确切地讲,DDoS攻击是指在不同的高带宽主机上安装大量的DoS服务程序,它们等待来自中央客户端的命令,中央客户端随后通知全体受控服务程序,并批示它们对一个特定目标发送尽可能多的网络访问请求。 对DoS而言,其攻击方式很多,主要使用的攻击有4种,分别是TCP-SYN flood,UDP flood,ICMP flood,smurf。

TCP--- 当用户进行一次标准的TCP连接时,会有一个3次握手过程。首先是请求服务方发送一个SYN消息,服务方收到SYN后,会向请求方回送一个SYN-ACK表示确认,当请求方收到SYN-ACK后,再次向服务方发送一个ACK消息,这样,一次TCP连接建立成功。但是TCP-SYN flood在实现过程中只进行前2个步骤:当服务方收到请求方的SYN-ACK确认消息后,请求方由于采用源地址欺骗等手段使得服务方收不到ACK回应,于是,服务方会在一定时间处于等待接收请求方ACK消息的状态。对于某台服务器来说,可用的TCP连接是有限的,如果恶意攻击方快速连续地发送此类连接请求,该服务器可用的TCP连接队列将很快被阻塞,系统可用资源急剧减少,网络可用带宽迅速缩小,长此下去,网络将无法向用户提供正常的服务。

DOS的四种攻击方法 tfn2k的程序及分析

UDP---- 由于UDP(用户数据包协议)在网络中的应用比较广泛,基于UDP攻击种类也较多。如今在Internet上提供WWW和Mail等服务设备通常是使用Unix的服务器,它们默认一些被恶意利用的UDP服务,如echo和chargen服务,它会显示接收到的每一个数据包,而原本作为测试功能的chargen服务会在收到每一个数据包时随机反馈一些字符,如果恶意攻击者将这2个UDP服务互指,则网络可用带宽将很快耗尽。

ICMP----由于在早期的阶段,路由器对包的最大尺寸都有限制,许多操作系统对TCP/IP栈的实现在ICMP包上都是规定64KB,并且在对包的标题头进行读取之后,要根据该标题头里包含的信息来为有效载荷生成缓冲区,当产生畸形的,声称自己的尺寸超过ICMP上限的包也就是加载的尺寸超过64K上限时,就会出现内存分配错误,导致TCP/IP堆栈崩溃,致使接受方当机。如果对方的操作系统已经可以防御堆栈崩溃,也占去许多带宽。 Smurf----一个简单的smurf攻击通过使用将回复地址设置成受害网络的广播地址的ICMP应答请求(ping)数据包来淹没受害主机的方式进行,最终导致该网络的所有主机都对此ICMP应答请求作出答复,导致网络阻塞,比ping of death洪水的流量高出一或两个数量级。更加复杂的Smurf将源地址改为第三方的受害者,最终导致第三方雪崩。 

tfn2k的程序及分析: 在你执行 $tar zxvf tfn2k.tgz 以后 在src目录下就是源文件, 其中主要的两个文件就是tfn.c和td.c 你可以看一下Makefile文件 SERVER_OBJ = pass.o aes.o base64.o cast.o flood.o ip.o process.o tribe.o td.o CLIENT_OBJ = pass.o aes.o base64.o cast.o ip.o tribe.o tfn.o 可以看出tfn和td各是由哪些.o链接而成的。

tfn.c: tfn和td的网络通讯是经过CAST-256算法(RFC 2612)加密,还可能混杂了许多虚假数据包。参看security_through_obscurity()和encode64()等函数。 

尽管tfn没有密码保护,每一个发送给td的命令都有一个16位二进制形式的数在ICMP_ECHOREPLY包的id域。这个序列号通常是0x0000,这样看起来更象ping初始包的响应。参看passchk()函数。 tfn_sendto()函数是根据hosts.txt向td发命令。 usage()函数是使用帮助。 td.c: td的守护程序是完全沉默的,它不会对接收到的命令有任何回应。客户端重复发送每一个命令20次(RETRY=20),并且认为守护程序应该至少能接收到其中一个。如果没有接收到需要重新发送,你也可以修改RETRY(tfn.c文件中)的值。 守护进程为每一个攻击产生子进程(td.c文件中)。 

在看td.c文件时有些迷惑,它作为服务器端并没有绑定固定的端口,后来才明白从tfn到td的通讯是通过ICMP_ECHOREPLY数据包完成,这样在tfn和td就没有任何基于TCP或UDP的通讯了。 td试图通过修改argv[0]内容以掩饰自己。伪造的进程名在编译时指定,因此每次安装时都有可能不同。这个功能使TFN2K伪装成代理端主机的普通正常进程。只是简单地检查进程列表未必能找到td(及其子进程),在你运行 #./td 以后,在运行 #ps -af 可能根本就找不到td.(不要以为它没有运行啊!)。 td.c的tribe_cmd()是根据id(0--10)执行命令,它要调用process.c中的函数。 process.c中的commerce_syn(),commerce_udp(),commerce_icmp(),commerce_mix(),commerce_smurf()等函数就是发动攻击的具体程序,根据id(0--11)分别对应着tcp,udp,icmp,mix,smurf等攻击。 

防御措施: 见下列链接文章,我就不重复了。 

其它DDoS工具  1. Trinoo: 它是基于UDP flood的攻击软件,它向被攻击目标主机的随机端口发出全零的4字节UDP包,在处理这些超出其处理能力垃圾数据包的过程中,被攻击主机的网络性能不断下降,直到不能提供正常服务,乃至崩溃,它对IP地址不做假,此攻击方法用得不如TFN多。

下载地址:http://darknet.evilnerds.org/dos/ddos/trinoo.tar.gz  

2. Stacheldraht:对命令来源做假,而且可以防范一些路由器用RFC2267过滤。若检查出有过滤现象,它将只做假IP地址最后8位,从而让用户无法了解到底是哪几个网段的哪台机器被攻击。此外,它还具有自动更新功能,可随软件的更新而自动更新。

下载地址:http://darknet.evilnerds.org/dos/ddos/stachel-yps.tar.gz 关于TFN2K的探讨就此结束,其实许多前辈都撰文写过此类的文章。我只是参考他们的文章(中文或英文),并细节化了一些。如果有指教或有问题请来信jjgirl@sina.com或在我的BBS留言。

感谢你耐心看完佳佳写的不怎么样的文章。

  • 怎么制作shift后门?shift后门怎么开?

    怎么制作shift后门?shift后门怎么开?

    shift后门是黑客希望以后方便进入服务器而在没有密码的情况下为进入服务器系统而设置的一个后门。其操作就是在不知道管理员密码的情况下,连续按5次shift键来启动粘滞键,已进入服务器的系统程序管理器。前几天搞

    详情2018-01-13 11:06:22责编:llp   来源:驱动管家     
  • MSSQL获取哪些数据?MSSQL获取数据的方法是什么?

    MSSQL获取哪些数据?MSSQL获取数据的方法是什么?

    一、MSSQL获取数据:用的比较多的就是for xml raw了,MSSQL2000都支持的!注入中显示数据的两个办法均可以使用,一是union select、二是显错,以MSSQL2005为例:复制代码代码如下:select username from mem

    详情2018-03-11 08:59:20责编:llp   来源:驱动管家     
  • dvbbs8.2漏洞代码 怎么通过动网漏洞拿下后台?

    dvbbs8.2漏洞代码 怎么通过动网漏洞拿下后台?

    dvbbs8 2漏洞补下载地址:http: bbs dvbbs net dispbbs asp?boardid=8&;Id=1519564 紧急安全补丁0530dvbbs8 2漏洞的产生login asp 这个文件的97行Function Dvbbs_ChkLogin开始有以下代码:username=trim(Dvbbs

    详情2018-02-12 19:52:21责编:llp   来源:驱动管家     
  • 在线影院被黑客入侵的全过程?在线影院怎么被黑客入侵?

    在线影院被黑客入侵的全过程?在线影院怎么被黑客入侵?

    最近对网上看电影比较感兴趣,于是登录至某“在线影院”。本以为是免费,谁知问我要账号和密码,我可不想为这个掏钱。怎么办?先探探路。对我而言,入侵的过程是充满乐趣的,它刺激着我大脑的每一根神经,让我兴

    详情2018-01-28 18:06:29责编:llp   来源:驱动管家     
  • webshell执行cmd查用户的方法

    webshell执行cmd查用户的方法

    在webshell下执行CMD,按照常规:path:c: windows temp cmd exe查用户:Command: c net user这个情况是system32目录的net exe 你能调用到。要是调用不到,只能传文件到执行目录。假设更cmd在同一个目录,c:

    详情2018-03-08 16:49:22责编:llp   来源:驱动管家     
  • 数据库拿shell有哪些方法?数据库拿shell的教程

    数据库拿shell有哪些方法?数据库拿shell的教程

    进后台看看:1 有上传2 有数据库操作3 有系统设置拿shell,我有三种方法1 上传直接上传抓包爆出路径filepath,这里可以考虑NC提交,或者本地修改元素建立 asp文件夹这里我直接用googlechrome审查元素 uppics 1

    详情2018-02-09 14:38:53责编:llp   来源:驱动管家     
  • 解决sql注入攻击问题的方法 如何保护隐蔽域信息?

    解决sql注入攻击问题的方法 如何保护隐蔽域信息?

    SQL注入攻击的危害性很大。在讲解其防止办法之前,数据库管理员有必要先了解一下其攻击的原理。这有利于管理员采取有针对性的防治措施。解决方案:过滤URL中的一些特殊字符,动态SQL语句使用PrepareStatement 注

    详情2018-03-05 16:51:28责编:llp   来源:驱动管家     
  • Gh0st逻辑漏洞导致向控制端发送任意文件

    Gh0st逻辑漏洞导致向控制端发送任意文件

    严重程度:高威胁程度:控制远程主机错误类型:逻辑错误利用方式:主机模式受影响系统Gh0st3 6之前所有版本未影响系统未知详细描述Gh0st 发现漏洞一个逻辑漏洞,这些漏洞可以被用户利用,可以从被控端向控制端发

    详情2018-03-11 13:06:51责编:llp   来源:驱动管家     
  • visual foxpro漏洞导致用户访问恶意站点执行任意指令

    visual foxpro漏洞导致用户访问恶意站点执行任意指令

    受影响系统:Microsoft Visual FoxPro 6 0描述:Visual FoxPro是微软发布的数据库开发工具。Visual FoxPro的vfp6r dll ActiveX控件没有正确地验证对foxcommand()或DoCmd()方式的输入参数,如果用户受骗访问了恶意站点的话,就可能导致执行任意指令。厂商

    详情2018-02-02 18:41:29责编:llp   来源:驱动管家     
  • 怎么利用microsoft sql server 2000入侵服务器获得主机的命令?

    怎么利用microsoft sql server 2000入侵服务器获得主机的命令?

    怎么利用microsoft sql server 2000入侵服务器获得主机的命令?有以下的步骤。一、首先确保得到数据库超级管理员权限二、然后执行如下SQL命令:1、exec master dbo xp_cmdshell & 39;net user hacker hack

    详情2018-01-23 09:28:19责编:llp   来源:驱动管家