当前位置:K88软件开发文章中心电脑基础基础应用01 → 文章内容

黑客工具介绍之DDoS攻击工具Trinoo分析

减小字体 增大字体 作者:佚名  来源:翔宇亭IT乐园  发布时间:2018-12-31 12:32:09

ex edit cannot get key easily?)
    comment out for no encryption... */

  #define CRYPTKEY "ZsoTN.cq4X31"
  . . .

  如果程序编译时指定了解CRYPTKEY变量,则广播主机的IP地址将使用Blowfish算法加密:

  # ls -l ... ...-b
  -rw-------  1 root root  25 Sep 26 14:46 ...
  -rw-------  1 root root  50 Sep 26 14:30 ...-b
  # cat ...
  JPbUc05Swk/0gMvui18BrFH/
  # cat ...-b  aE5sK0PIFws0Y0EhH02fLVK.
  JPbUc05Swk/0gMvui18BrFH/

  假设没有使用rootkit隐藏进程,主服务器可以显示出以下网络套接字特征指纹(当然,程序的名称和路径名会有所不同。):


  # netstat -a --inet
  Active Internet connections (servers and established)
  Proto Recv-Q Send-Q Local Address  Foreign Address State
  tcp0 0 *:27665 *:* LISTEN
  . . .
  udp0 0 *:31335 *:*
  . . .
  # lsof | egrep ":31335|:27665"
  master  1292 root3u inet  2460 UDP *:31335
  master  1292 root4u inet  2461 TCP *:27665 (LISTEN)
  # lsof -p 1292
  COMMAND PID USER  FD  TYPE DEVICESIZE NODE NAME
  master 1292 root cwdDIR3,11024 14356 /tmp/...
  master 1292 root rtdDIR3,11024 2 /
  master 1292 root txtREG3,1  30492 14357 /tmp/.../master
  master 1292 root memREG3,1 342206 28976 /lib/ld-2.1.1.so
  master 1292 root memREG3,1  63878 29116 /lib/libcrypt-2.1.1.so
  master 1292 root memREG3,1 4016683 29115 /lib/libc-2.1.1.so
  master 1292 root0u  CHR4,1 2967 /dev/tty1
  master 1292 root1u  CHR4,1 2967 /dev/tty1
  master 1292 root2u  CHR4,1 2967 /dev/tty1
  master 1292 root3u inet  2534  UDP *:31335
  master 1292 root4u inet  2535  TCP *:27665 (LISTEN)

  而运行了守护程序的系统会显示以下特征指纹:

  # netstat -a --inet
  Active Internet connections (servers and established)
  Proto Recv-Q Send-Q Local Address  Foreign Address State
  . . .
  udp0 0 *:1024 *:*
  udp0 0 *:27444 *:*
  . . .
  # lsof | egrep ":27444"
  ns  1316 root3u inet  2502 UDP *:27444
  # lsof -p 1316
  COMMAND PID USER  FD  TYPE DEVICESIZE  NODE NAME
  ns 1316 root cwdDIR3,11024 153694 /tmp/...
  ns 1316 root rtdDIR3,11024 2 /
  ns 1316 root txtREG3,16156 153711 /tmp/.../ns
  ns 1316 root memREG3,1 342206 28976 /lib/ld-2.1.1.so
  ns 1316 root memREG3,1  63878 29116 /lib/libcrypt-2.1.1.so
  ns 1316 root memREG3,1 4016683 29115 /lib/libc-2.1.1.so
  ns 1316 root0u  CHR4,1  2967 /dev/tty1
  ns 1316 root1u  CHR4,1  2967 /dev/tty1
  ns 1316 root2u  CHR4,1  2967 /dev/tty1
  ns 1316 root3u inet  2502UDP *:27444
  ns 1316 root4u inet  2503UDP *:1024

  防御

  当然,最好的防御是首先防止出现入侵和root级别的安全威胁,这样你的系统就不会被安装了trinoo主服务器/守护服务器。在理想的世界中,所有系统都打了所有的补丁,是安全的,是被监控的,入侵监测系统和防火墙都能成功监测和拒绝攻击数据包,而我则是一个六个月生活在巴里岛、六个月生活在法国阿尔卑斯山的百万富翁。:) 但在现实世界中,这是无法实现的(至少在可预见的将来)。

  如果现在你的网络可能已安装了数个运行中的trinoo守护程序,并随时准备对其它系统进行DoS攻击,如何才能发现并阻止它们呢?

  因为这些程序在通讯和攻击中都使用了高级UDP端口,要想直接阻塞这些通讯是非常困难的(但不是不可能),除非你修改那些使用高级UDP端口的程序。

  最简单的检查是否存在trinoo主服务器和守护程序的方法也许是在共享的以太网数据段中监视所有的UDP数据包,寻找在本文中提到的关于主服务器与守护程序通讯标记。然而不幸的是,这些活动只能在目标主机受到DoS攻击时/后才有可能被发现和检测到。

  如果怀疑系统存在正在进行攻击的trinoo守护程序,对运行了守护程序的系统中运行Solaris的"truss"程序将会得到如下输出:

  . . .
  getmsg(3, 0xEFFFF830, 0xEFFFF83C, 0xEFFFF81C)= 0
  getmsg(3, 0xEFFFF830, 0xEFFFF83C, 0xEFFFF81C) (sleeping...)
  getmsg(3, 0xEFFFF830, 0xEFFFF83C, 0xEFFFF81C)= 0
  time()= 938385467
  open("/dev/udp", O_RDWR)= 5
  ioctl(5, I_PUSH, "sockmod")= 0
  ioctl(5, I_STR, 0xEFFFF748)= 0
  ioctl(5, I_SETCLTIME, 0xEFFFF7FC)= 0
  ioctl(5, I_SWROPT, 0x00000002)= 0
  sigprocmask(SIG_SETMASK, 0xEFFFF7EC, 0xEFFFF7DC) = 0
  ioctl(5, I_STR, 0xEFFFF660)= 0
  sigprocmask(SIG_SETMASK, 0xEFFFF7DC, 0xEFFFF7B8) = 0
  sigprocmask(SIG_BLOCK, 0xEFFFF548, 0xEFFFF5C0)= 0
  ioctl(5, I_STR, 0xEFFFF548)= 0
  sigprocmask(SIG_SETMASK, 0xEFFFF5C0, 0x00000000) = 0
  putmsg(5, 0xEFFFF83C, 0xEFFFF7A0, 0)= 0
  time()= 938385467
  putmsg(5, 0xEFFFF83C, 0xEFFFF7A0, 0)= 0
  time()= 938385467
  putmsg(5, 0xEFFFF83C, 0xEFFFF7A0, 0)= 0
  time()= 938385467
  putmsg(5, 0xEFFFF83C, 0xEFFFF7A0, 0)= 0
  time()= 938385467
  putmsg(5, 0xEFFFF83C, 0xEFFFF7A0, 0)= 0
  time()= 938385467
  putmsg(5, 0xEFFFF83C, 0xEFFFF7A0, 0)= 0
  time()= 938385467
  putmsg(5, 0xEFFFF83C, 0xEFFFF7A0, 0)= 0
  time()= 938385467
  putmsg(5, 0xEFFFF83C, 0xEFFFF7A0, 0)= 0
  time()= 938385467
  putmsg(5, 0xEFFFF83C, 0xEFFFF7A0, 0)= 0
  time()= 938385467
  putmsg(5, 0xEFFFF83C, 0xEFFFF7A0, 0)= 0
  time()= 938385467
  . . .

  当出现攻击单个目标时,使用"tcpdump"监听网络通讯有如下输出:

  # tcpdump ip host 192.168.0.1

  . . . 192.168.0.1.27444: udp 25 216.160.XX.YY.16838: udp 4 (DF) 216.160.XX.YY.5758: udp 4 (DF) 216.160.XX.YY.10113: u

上一页  [1] [2] [3] [4] [5] [6]  下一页


黑客工具介绍之DDoS攻击工具Trinoo分析