Internet中各种攻击的形式化描述(二)
分布式拒绝服务(DDos)攻击
1999年7月份左右,微软公司的视窗操作系统的一个bug被人发现和利用,并且进行了多次攻击,这种新的攻击方式被称为“分布式拒绝服务攻击”即为“DDos(Distributed Denial Of Service Attacks)攻击”。这也是一种特殊形式的拒绝服务攻击。它是利用多台已经被攻击者所控制的机器对某一台单机发起攻击,在这样的带宽相比之下被攻击的主机很容易失去反应能力的。现在这种方式被认为是最有效的攻击形式,并且很难于防备。但是利用DDos攻击是用一定难度的,没有高超的技术是很难实现的,因为不但要求攻击者熟悉入侵的技术而且还要有足够的时间和脑袋。而现在却因有黑客编写出了傻瓜式的工具来帮助所以也就使DDos攻击相对变的简单了。比较杰出的此类工具目前网上可找到的有Trin00、TFN等。这些源代码包的安装使用过程比较复杂,因为你首先得找到目标机器的漏洞,然后通过一些的远程溢出漏洞攻击程序,获取系统的控制权,再在这些机器上安装并运行的DDos分布端的攻击守护进程。
其实Trin00有点像木马程序,它由三部分构成,三部分分别是客户端、主控端(master)、Broadcast(即分布端攻击守护进程)。客户端是telnet的程序,作用是向目标主制端(master)攻击发送命令。主控端(master)主要是监听两个连接的端口27655和31355。其中27655就是用来接收由客户端发来的命令,这个执行要求密码,如果缺省密码可能是“betaalmostdone”,主控端(master)启动的时候会显示一个提示符号“?”,等待密码输入之后(密码为g0rave)31355这个端口便开始等候分布端的UDP报文。至于Broadcast(即分布端攻击守护进程),在这个时候当然毫无疑问的就是执行攻击的了。这个端是安装在一台已经被你所控制的机器上的,编译分布端之前首先得先植入主控端(master)的真实有效的IP地址,它跟主控端(master)是利用UDP报文通信的,发送至主控端(master)的31355端口,其中包含“*HELLO*”的字节数据,主控端把目标机器的信息通过UDP27444端口发送给Broadcast(即分布端攻击守护进程),这个时候Broadcast(即分布端攻击守护进程)便回开始发起攻击了。这次攻击的流向显而易见为:
发起攻击的机器-à主控端(master)-à Broadcast—>目标机器
从Broadcast(即分布端攻击守护进程)向目标机器发出的都是UDP报文,每个包含4个空字节,这些报文都是从一个端口发出的,但是针对的目标机器的端口则是不同的。目标机器对每个报文都要回复一个ICMP Port Unreachable的信息,大量不同主机发来的这些UDP报文会把目标机器变的慢慢的速度减低。一直到带宽成为0。
关于这个Trin00工具你可以从http://semxa.kstar.com/hacking/Trin00.exe获得。但是需要你再进行编译和移植哦,否则将不可使用。
DDos攻击的主要效果是消耗目标机器的带宽,所以很难防御的。但有很多方法可以检测的到这种攻击。可以通过IDS来防御和检测,分析得到的UDP报文,寻找那些针对本地不同端口的报文而又是从一个源地址的同一个端口发来的UDP报文。或者可以拿出十个以上的UDP报文,分析是否来自同一个地址,相同的地址,相同的端口,不同的只是端口报文,那么这个就必须得注意了。还有一种就是寻找那些相同的源地址和相同的目标地址的ICMP Port Unreachable的信息。这些方法都可以使管理员识别到攻击来自何方。
你还可以从http://semxa.kstar.com/hacking/iiscrash.zip获得IIScrash程序,这个程序可以使IIS服务器拒绝服务,效果就是可以使远程机器禁止多个网络服务。虽然它还不是危害网络安全的主要因素,但是对于防御较薄弱的IIS服务器还是有点伤害的。所以建议小心使用。你还可以从http://semxa.kstar.com/hacking/iis4dos01.exe获得由国人小榕编写的针对IIS4D.o.S 0.1-IIS4的攻击工具,效果会使IIS4服务器当机。但目前来看,效果并非很明显。
█电子邮件的攻击
电子邮件炸弹是一种让人厌烦的攻击。传统的邮件炸弹大多只是简单的向邮箱内扔去大量的垃圾邮件,从而充满邮箱,大量的占用了系统的可用空间和资源。使机器暂时无法正常工作。如果是拨号上网的用户利用pop来接收的话那么还会增加连网时间,造成费用和时间的浪费。事实上现在这样的工具在网络中随时都可以找到,不单是如此,更另人担心的是这些工具往往会让一些刚刚学会上网的人利用,因为它很简单。同时这些工具有着很好的隐藏性,能保护到发起攻击者的地址。过多的邮件垃圾往往会加剧网络的负载力和消耗大量的空间资源来储存它们,过多的垃圾信件还将导致系统的log文件变得很大,甚至有可能溢出文件系统,这样会给Unix、Windows等系统带来危险。除了系统有崩溃的可能之外,大量的垃圾信件还会占用大量的CPU时间和网络带宽,造成正常用户的访问速度成了问题。例如:同时间内有近百人同时向某国的大型军事站点发去大量的垃圾信件的话,那么这样很有可能会使这个站的邮件服务器崩溃,甚至造成整个网络中断。
其实电子邮件因为它的可实现性比较广泛,所以也使网络面临着很大的安全危害,恶意的针对25(缺省的SMTP端口)进行SYN-Flooding攻击等等都会是很可怕的事情。电子邮件攻击有很多种,主要表现为:
窃取、篡改数据:通过监听数据包或者截取正在传输的信息,可以使攻击者读取或者修改数据。通过网络监听程序,在Winodws系统中可以使用NetXRay来实现。UNIX、Linux系统可以使用Tcpdump、Nfswatch(SGI Irix、HP/US、SunOS)来实现。而著名的Sniffer则是有硬件也有软件,这就更为专业的了。
伪造邮件:通过伪造的电子邮件地址可以用诈骗的方法进行攻击。
拒绝服务:让系统或者网络充斥了大量的垃圾邮件,从而没有余力去处理其它的事情,造成系统邮件服务器或者网络的瘫痪
病毒:在现在生活中,很多病毒的广泛传播是通过电子邮件传播的。I love you就是新千年里最为鲜明的例子。
►电子邮件的发送过程
对于保护电子邮件的安全来说,了解一下电子邮件的发送过程是很有必要的。它的过程是这样的,当有用户将邮件写好之后首先连接到邮件服务器上,当邮件服务器有响应时便会启动邮件工具,调用路由(这里指的是邮件的路由)程序Sendmail进行邮件路由,根据邮件所附的接收地址中指定的接收主机,比如:[email protected]里的yeah.net,与位于主机yeah.net电子邮件后台守护程序建立25端口的TCP连接,建立后双方按照SMTP协议进行交互第进,从而完成邮件的投递工作,接收方电子邮件接收邮件后,再根据接收用户名称,放置在系统的邮件目录里,如/usr/电子邮件目录的semxa文件中。接收用户同样使用邮件工具获取和阅读这些已投递的邮件。如果投递失败的话,这些邮件将重新返回到发送方。实际上电子邮件的发送过程要比这里所说的更为复杂些,在过程里将会涉及很多的配置文件。在现在的SMTP协议是一个基于文本的协议,理解和实现都相对比较简单些,你可以使用telnet直接登陆到邮件服务器的25端口(由LANA授权分配给SMTP协议)进行交互。
►电子邮件欺骗:
就目前来说,SMTP协议极其缺乏验证能力,所以假冒某一个邮箱进行电子邮件欺骗并非一件难的事情,因为邮件服务器不会对发信者的身份做任何检查的。如果邮件服务器允许和它的25SMTP端口连接的话,那么任何一个人都可以连接到这个端口发一些假冒或乌有用户的邮件,这样邮件就会很难找到跟发信者有关的真实信息,唯一能检查到的就是查看系统的log文件。找到这个信件是从哪里发出的。但事实上很难找到伪造地址的人的。一个SMTP会话的文本是这样的:在使用helo表明本方标识以后,邮件发送方应该通过电子邮件from和rcpt to命令指出这个邮件的发送方和接收方,然后再调用data命令输入邮件正文的数据,并且以“.”为首的行表示数据的结束,最后通过quit命令退出SMTP会话并且结束与25端口的连接。这样你可以自己测试一下伪造的秘密所在了。当然了,这应该是为安全而测的。
►保护电子信箱
保护电子信箱邮件的信息安全最有效的办法就是使用加密的签名技术,像PGP来验证邮件,通过验证可以保护到信息是从正确的地方发来的,而且在传送过程中不被修改。但是这就不是个人用户所能达到的了。因为PGP比较复杂。
就电子邮件炸弹,保护还是可以做得很好的。因为它的复杂性不是很高,多的仅仅是垃圾邮件而已。你可以到
http://semxa.kstar.com/hacking/echom201.zip获得一个E-mail Chomper(砍信机)来保护自己。但是目前就国内用户而言,大多用户所使用的都是免费的邮箱,像yeah.net、163.net、263.net等,即便是有人炸顶多也是留在邮件服务器上了,危害基本上是没有的。如果是用pop3接的话,可以用Outlook或Foxmail等pop的收信工具来接收的mail,大多用户使用的是windows的Outlook Express,可以在“工具à收件箱助理”中设置过滤。对于各种利用电子邮件而传播的Email蠕虫病毒和对未知的Emai蠕虫病毒你可以在http://semxa.kstar.com/hacking/KiloveU.exe获得一个由天网安全实验室开发的Email病毒免疫模块来保护。
附:一个在UNIX下用Perl编写的邮件炸弹实例
#!/bin/perl(perl所在目录)
$ mailprop=’/user/lib/sendmail’;(sendmail所在目录)
$recipient=’[email protected]’(攻击目标)
$variable_initialized_to_0=0;(设定变量)
while ($ variable_initialized_to_0=0)<1000){
open (MAIL,$ mailprog$ recipient”) | | die”Can’t open$ mailprog! \\ n
print MAIL” YOU Sunk!”
close (MAIL);
Sleep 3;
$ variable_initialized_to_0+ +;(自己增)
}
上面的代码将一个变量variable_initialized_to_0初始化为0然后指定只要该变量小于1000,就将邮件发送给目标接收者。程序经过while循环一次,变量variable_initialized_to_0的值加1。邮件将被传送999次。如果叫一个攻击者手工去输入一大群目标的话,我想攻击者应该都不会做了,但是他们往往会利用邮件列表来完成,所以当你在一些Web看到诸如“请你留您的E-mail,我们如果更新之时可以及时的通知您”的时候还是谨慎为好。
如果你仅仅是为了研究的话可以从http://semxa.kstar.com/hacking/Kaboom!3.zip获得一个最为经典的邮箱炸弹Kaboom!3。
本文出自:寒路 转载请保持文章的完整性并注明出处
发布人:netbull 来自:网络最高安全指南