一个典型僵尸网络浅析

  某公司安全平台部在工作过程中会检测到各类僵尸网络,本文将分析一典型僵尸网络(以下简称botnet)的架构。

  《大话西游》  “反正我要死,你就帮个忙。我听说如果刀子出得快部位准,把人剖开后人不会马上死掉,眼睛还能看得见。你就帮个忙出手快点,把我的心挖出来让我看一看,行不行?”

  被攻击是难免的,如果检测得快,我们能发现敌人做了什么,及时控制其蔓延危害网络,亡羊补牢为时未晚。

  1.    僵尸网络传播

  botnet或蠕虫,一个重要的特征就是自动传播能力,这里介绍2类常见的传播方式。

  1.1漏洞传播

  为了快速获取大量被控僵尸肉鸡,攻击者会及时更新攻击模块。笔者有一个经验,每次在检测到有新一波攻击手法时,去查查最近公开的漏洞或许就能看到。

  同时作为僵尸网络大范围的攻击行为(甚至是漫无目的的),几乎可以预见到的是他的行为和攻击方式100%会被侦察到,所以他们不会使用最新0day。

  用1day是权衡两者最经济的方式,并且偏爱能直接执行命令的类型,譬如:struts2 RCE、JBoss DeploymentFileRepositoryWAR Deployment、CVE-2012-1823(PHP-CGIRCE)等。

  1.2自动化攻击工具

  漏洞常有,而装有存在漏洞的软件的服务器不常有,但人的弱点总是避免不了的。比如弱口令问题,现如今最古老的弱口令猜解攻击依然存在,sshftp
dp elnet等等,加之tomcat管理后台等各种口令。现在越来越快的网速,越来越强的硬件性能使之效率越来越高。

  2.    僵尸网络架构

  接下来讲讲最近在捕获的一个僵尸网络,其功能特点非常具有代表性。以下是其各功能模块分析。

  2.1下载者

  负责接收控制者指令,下载更新功能模块。

  2.2传播中继站

  僵尸网络制造者为了隐蔽自己也避免整个botnet被捣毁,他不可能将传播源集中到一个地方,所以常常在肉鸡上建立中继站。

  在这个案例中,它会搭建一个简易的webserver来实现。

  2.3被控端

  作为一个僵尸傀儡最主要就是“听话”,此次案例它采用的是irc通道。这里他预设了2个域名作为server通讯地址,而域名解析到的IP是可随时更换的,ircbot随机连接到任一个server。

  此ircbot有多个基础功能,如DDOS、执行命令、自杀、更换server、切换静默状态(Disables all packeting)等。

  2.4肉鸡功能

  Ircbot都是那些古老的功能,下面这些常常才是各种不同BotNet特有的。

  (一) 漏洞扫描攻击

  本案例中是php CGI的RCE (CVE-2012-1823)

  vir:~/tl/aa/tmp # lsChangeLog  Makefile  TODO  bm.h  inst        ipsort    ipsort.sgml  php.c   pnscan.1  pnscan.o     version.c  wsLICENSE    README    bm.c  bm.o  install-sh  ipsort.1  php          pnscan  pnscan.c  pnscan.sgml  version.ovir:~/tl/aa/tmp # head php.c/* Apache Magica by Kingcope *//* gcc apache-magika.c -o apache-magika -lssl *//* This is a code execution bug in the combination of Apache and PHP.On Debian and Ubuntu the vulnerability is present in the default installvir:~/tl/aa/tmp # cat ws#!/bin/bashwhile [ 1 ]; do#       ___A=`echo $(( (($RANDOM<<15)|$RANDOM) % 255 + 0 ))`        ___A=`echo $(( $RANDOM % 255 + 0 ))`        ___B=$(( ((RANDOM<<15)|RANDOM) % 255 + 0 ))        ./pnscan -w"HEAD / HTTP/1.0

" -r"Server: Apache" -t 1000 $___A.$___B.0.0/16 80        #echo $___A.$___B#sleep 20done

  (二) 挖矿奴隶

  现在的”黑客”早已不是之前崇尚自由、崇尚技术极致的时代了,金钱才是他们最终目的,所以我们也在此botnet中发现了“挖掘机”,并且丧心病狂的的黑客同时进行2种网络匿名货币的挖掘Protocoin和Primecoin,充分榨干系统性能。

  Protocoin 挖掘机

  8cec4e7cc9eb8ad13ee4ec7241bfa1d6.png

  Primecoin 挖掘机

  (三) 提权

  此案例中的攻击者并不满足于web漏洞进来获得的普通权限,还通过系统漏洞,以及社工(信息采集)方式获得root权限。

  系统提权漏洞工具

  爬取conf用于密码root猜解

  通过上述分析,我们可以看到此僵尸网络利用CVE-2012-1823漏洞大肆传播,并且利用被控的肉鸡进行2种网络货币的挖掘,充分榨取肉鸡系统资源。

  BotNet 架构

  3.应对僵尸网络威胁

  Botnet攻击尝试统计

  以上是近期检测到的botnet攻击尝试趋势统计。Botnet从建立到覆灭是有其生命周期的,如果发现得早是可以及时修补漏洞,建立阻断策略,避免其危害扩散。

  BotNet 生命周期

  日常安全工作中通过对入侵检测数据的分析,能感知到僵尸网络的演变以及0day1dayNday的攻击趋势。当僵尸网络在其初期,尚未形成规模之时,如果及时联合业界安全联盟加以打击,必将其扼杀在摇篮。合作形式可包含但不限于以下方式:

  腾讯自有业务和服务器的规模庞大,作为一个目标巨大的“靶场”又是一个分布式的大“蜜罐”,我们可以充分挖掘其数据潜力帮助业界共同提升安全水平,但相比整个互联网环境来说又是微不足道的。

 

发表评论

邮箱地址不会被公开。 必填项已用*标注