WireShark黑客发现之旅(3)—Bodisparking恶意代码

作者:Mr.Right、Evancss、K0r4dji

申明:文中提到的攻击方式仅为曝光、打击恶意网络攻击行为,切勿模仿,否则后果自负。

0x00 发现


接到客户需求,对其互联网办公区域主机安全分析。在对某一台主机通信数据进行分析时,过滤了一下HTTP协议。

enter image description here

一看数据,就发现异常,这台主机HTTP数据不多,但大量HTTP请求均为“Get heikewww/www.txt”,问题的发现当然不是因为拼音“heike”。点击“Info”排列一下,可以看得更清楚,还可以看出请求间隔约50秒。

enter image description here

为更加准确地分析其请求URL地址情况,在菜单中选择Statistics,选择HTTP,然后选择Requests。可以看到其请求的URL地址只有1个:“d.99081.com/heikewww/www.txt”,在短时间内就请求了82次。

enter image description here

这种有规律、长期请求同一域名的HTTP通信行为一般来说“非奸即盗”。

  1. 奸:很多杀毒软件、APP、商用软件,为保持长连接状态,所装软件会定期通过HTTP或其它协议去连接它的服务器。这样做的目的可以提供在线服务、监控升级版本等等,但同时也可以监控你的电脑、手机,窃取你的信息。
  2. 盗:木马、病毒等恶意软件为监控傀儡主机是否在线,会有心跳机制,那就是通过HTTP或其它协议去连接它的僵尸服务器,一旦你在线,就可以随时控制你。

我们再过滤一下DNS协议看看。

enter image description here

可以看出,DNS请求中没有域名“d.99081.com”的相关请求,木马病毒通信不通过DNS解析的方法和技术很多,读者有兴趣可以自行查询学习。所以作为安全监控设备,仅基于DNS的监控是完全不够的。

接下来,我们看看HTTP请求的具体内容。点击HTTP GET的一包数据,可以看到请求完整域名为“d.99081.com/heikewww/www.txt”,且不断去获得www.txt文件。

enter image description here

Follow TCPStream,可以看到去获得www.txt中的所有恶意代码。

enter image description here

0x01 关联


到这儿,基本确认主机10.190.16.143上面运行了恶意代码,它会固定时间同199.59.243.120这个IP地址(域名为d.99081.com)通过HTTP协议进行通信,并下载运行上面的/heikewww/www.txt。

那么,是否还有其它主机也中招了呢?

这个问题很好解决,前提条件是得有一段时间全网的监控流量,然后看看还有哪些主机与IP(199.59.243.120)进行通信,如果域名是动态IP,那就需要再解析。

  1. 如果抓包文件仅为一个PCAP文件,直接过滤“ip.addr==199.59.243.120”即可。
  2. 全网流量一般速率较高,想存为一个包的可能性不大。假如有大量PCAP文件,一样通过WireShark可以实现批量过滤。

下面我们就根据这个案例,一起了解一下WireShark中“tshark.exe”的用法,用它来实现批量过滤。

enter image description here

Tshark的使用需要在命令行环境下,单条过滤命令如下:

cd C:\Program Files\Wireshark
tshark -r D:\DATA\1.cap -Y "ip.addr==199.59.243.120" -w E:\DATA\out\1.cap

解释:先进到WireShark目录,调用tshark程序,-r后紧跟源目录地址,-Y后紧跟过滤命令(跟Wireshrk中的Filter规则一致),-w后紧跟目的地址。

有了这条命令,就可以编写批处理对文件夹内大量PCAP包进行过滤。

通过这种办法,过滤了IP地址199.59.243.120所有的通信数据。

enter image description here

统计一下通信IP情况。

enter image description here

根据统计结果,可以发现全网中已有4台主机已被同样的恶意代码所感染,所有通信内容均一样,只是请求时间间隔略微不同,有的为50秒,有的为4分钟。

0x02 深入


1 恶意代码源头

在www.txt中我们找到了“/Zm9yY2VTUg”这个URL,打开查看后,发现都是一些赞助商广告等垃圾信息。如下图:

enter image description here

通过Whois查询,我们了解到99081.com的域名服务器为ns1.bodis.com和ns2.bodis.com,bodis.com是BODIS, LLC公司的资产,访问其主页发现这是一个提供域名停放 (Domain Parking)服务的网站,用户将闲置域名交给它们托管,它们利用域名产生的广告流量和点击数量给用户相应的利益分成。

enter image description here

enter image description here

2 恶意代码行为

经过公开渠道的资料了解到Bodis.com是一个有多年经营的域名停放服务提供商,主要靠互联网广告获取收入,其本身是否有非法网络行为还有待分析。

99081.com是Bodis.com的注册用户,即域名停放用户,它靠显示Bodis.com的广告并吸引用户点击获取自己的利润分成,我们初步分析的结果是99081.com利用系统漏洞或软件捆绑等方式在大量受害者计算机上安装并运行恶意代码访问其域名停放网站,通过产生大量流向99081.com的流量获取Bodis.com的利润分成。通常这种行为会被域名停放服务商认定为作弊行为,一旦发现会有较重的惩罚。

enter image description here

3 攻击者身份

根据代码结合其它信息,基本锁定攻击者身份信息。下图为其在某论坛注册的信息:

enter image description here

0x03 结论


  1. 攻击者通过非法手段利用域名停放网站广告,做一些赚钱的小黑产,但手法不够专业;
  2. 攻击方式应是在通过网站挂马或软件捆绑等方式,访问被挂马网站和下载执行了被捆绑软件的人很容易成为受害者;
  3. 恶意代码不断通过HTTP协议去访问其域名停放网站,攻击者通过恶意代码产生的流量赚钱。

©乌云知识库版权所有 未经许可 禁止转载


30
打不过就哭 2016-06-23 16:27:01

楼主是怎么锁定到攻击者信息的

30
路人甲乙丙丁 2016-06-22 10:23:07

@聚锋实验室 关于tshark批处理,用 -w 貌似是覆盖写入,怎么写入到同一个文件?

30
聚锋实验室 2016-06-17 12:37:59

@大亮 安全分析最重要的是“发现一条线索”,如何发现是件很难的事情,近期也想写一篇这样的文章。

30
大亮 2016-05-10 16:14:04

怎样咋众多流量中查找到敏感流量,例如上篇的smtp,这篇的http,是如何敏锐的捕捉到有问题的?

30
聚锋实验室 2015-07-27 15:59:32

@沧浪客
由于条件所限我们仅能做流量监控,无法获取木马运行状态,所以暂时无法分析如何清除。
清除方法可参见:http://blog.teesupport.com/bodisparking-com-hijacker-removal-instructions-how-to-remove-bodisparking-com-virus-completely/

30
聚锋实验室 2015-07-24 13:32:24

@todaro
我们主要做攻防相关的技术项目研究。也支持针对客户网络的安全监控分析、安全防护、包括取证。

30
todaro 2015-07-23 23:14:29

你们工作内容更多的是取证吗?还是安全维护?

30
聚锋实验室 2015-07-23 11:29:44

@WireShark
@WireShark
用Wireshark监控单台机器,在主机或服务器安装wireshark就可以。如果监控网络则需要在交换机或路由器上做镜像,用台电脑利用Wireshark抓包就可以。
当然,这些都只是面对数据量小的情况,数据流量大了需要专用的采集设备。

30
瘦蛟舞 2015-07-22 12:01:55

挺不错的,一直在跟这个系列~博主快更新~

30
聚锋实验室 2015-07-21 17:35:32

@qingxp9
感谢支持!

30
qingxp9 2015-07-21 16:22:12

这个不错,通过实例展示了WireShark的用法

感谢知乎授权页面模版