作者:Mr.Right、Evancss

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

0x01 发现问题


在对客户网络内网进行流量监控时发现,一台主机172.25.112.96不断对172.25.112.1/24网段进行TCP445端口扫描,这个行为目的在于探测内网中哪些机器开启了SMB服务,这种行为多为木马的通信特征。

过滤这个主机IP的全部数据,发现存在大量ARP协议,且主机172.25.112.96也不断对内网网段进行ARP扫描。

发现问题后,我们就开启对这台主机的深入分析了。

0x02 Lpk.dll劫持病毒


第一步,DNS协议分析。过滤这台主机的DNS协议数据,从域名、IP、通信时间间隔综合判断,初步找出可疑域名。如域名yuyun168.3322.org,对应IP为61.160.213.189。

过滤IP为61.160.213.189的全部数据可以看到主机172.25.112.96不断向IP地址61.160.213.189发起TCP7000端口的请求,并无实际通信数据,时间间隔基本为24秒。初步判断为木马回联通信。

再发现可疑域名gcnna456.com,对应IP为115.29.244.159。

过滤IP为115.29.244.159的全部数据可以看到主机172.25.112.96不断向IP地址115.29.244.159发起TCP3699端口的请求,并无实际通信数据,时间间隔也基本为24秒。初步判断也为木马通信数据。

把这两个域名请求的DNS信息都提取出来(当然,这里仅用WireShark实现就比较困难了,可以开发一些工具或利用设备),部分入库后可看见:

时间 客户端 服务器 域名
2015/8/3 19:40 8.8.8.8 172.25.112.96 yuyun168.3322.org
2015/8/3 19:40 172.25.112.96 8.8.8.8 yuyun168.3322.org
2015/8/3 19:41 8.8.8.8 172.25.112.96 yuyun168.3322.org
2015/8/3 19:41 172.25.112.96 8.8.8.8 yuyun168.3322.org
2015/8/3 19:41 8.8.8.8 172.25.112.96 yuyun168.3322.org
2015/8/3 19:41 172.25.112.96 8.8.8.8 yuyun168.3322.org
2015/8/3 19:41 8.8.8.8 172.25.112.96 yuyun168.3322.org
2015/8/3 19:41 172.25.112.96 8.8.8.8 yuyun168.3322.org
2015/8/3 19:42 8.8.8.8 172.25.112.96 yuyun168.3322.org
2015/8/3 19:42 172.25.112.96 8.8.8.8 yuyun168.3322.org
2015/8/3 19:42 8.8.8.8 172.25.112.96 yuyun168.3322.org
2015/8/3 19:42 172.25.112.96 8.8.8.8 yuyun168.3322.org
2015/8/3 19:43 8.8.8.8 172.25.112.96 yuyun168.3322.org
2015/8/3 19:43 172.25.112.96 8.8.8.8 yuyun168.3322.org
2015/8/3 19:43 8.8.8.8 172.25.112.96 yuyun168.3322.org
2015/8/3 19:43 8.8.8.8 172.25.112.96 yuyun168.3322.org
2015/8/3 19:43 172.25.112.96 8.8.8.8 yuyun168.3322.org
2015/8/3 19:43 172.25.112.96 8.8.8.8 yuyun168.3322.org
2015/8/3 19:43 8.8.8.8 172.25.112.96 yuyun168.3322.org
2015/8/3 19:43 172.25.112.96 8.8.8.8 yuyun168.3322.org
2015/8/3 19:44 8.8.8.8 172.25.112.96 yuyun168.3322.org
2015/8/3 19:44 8.8.8.8 172.25.112.96 yuyun168.3322.org
2015/8/3 19:44 172.25.112.96 8.8.8.8 yuyun168.3322.org
2015/8/3 19:44 8.8.8.8 172.25.112.96 yuyun168.3322.org
2015/8/3 19:44 8.8.8.8 172.25.112.96 yuyun168.3322.org
2015/8/3 19:44 172.25.112.96 8.8.8.8 yuyun168.3322.org
时间 客户端 服务器 域名
2015/8/3 19:41 8.8.8.8 172.25.112.96 gcnna456.com
2015/8/3 19:41 172.25.112.96 8.8.8.8 gcnna456.com
2015/8/3 19:41 8.8.8.8 172.25.112.96 gcnna456.com
2015/8/3 19:41 172.25.112.96 8.8.8.8 gcnna456.com
2015/8/3 19:41 8.8.8.8 172.25.112.96 gcnna456.com
2015/8/3 19:41 172.25.112.96 8.8.8.8 gcnna456.com
2015/8/3 19:42 8.8.8.8 172.25.112.96 gcnna456.com
2015/8/3 19:42 172.25.112.96 8.8.8.8 gcnna456.com
2015/8/3 19:42 8.8.8.8 172.25.112.96 gcnna456.com
2015/8/3 19:42 172.25.112.96 8.8.8.8 gcnna456.com
2015/8/3 19:42 8.8.8.8 172.25.112.96 gcnna456.com
2015/8/3 19:42 172.25.112.96 8.8.8.8 gcnna456.com
2015/8/3 19:43 8.8.8.8 172.25.112.96 gcnna456.com
2015/8/3 19:43 172.25.112.96 8.8.8.8 gcnna456.com
2015/8/3 19:43 8.8.8.8 172.25.112.96 gcnna456.com
2015/8/3 19:43 172.25.112.96 8.8.8.8 gcnna456.com
2015/8/3 19:44 8.8.8.8 172.25.112.96 gcnna456.com
2015/8/3 19:44 172.25.112.96 8.8.8.8 gcnna456.com
2015/8/3 19:44 8.8.8.8 172.25.112.96 gcnna456.com
2015/8/3 19:44 172.25.112.96 8.8.8.8 gcnna456.com
2015/8/3 19:44 8.8.8.8 172.25.112.96 gcnna456.com
2015/8/3 19:44 172.25.112.96 8.8.8.8 gcnna456.com
2015/8/3 19:45 8.8.8.8 172.25.112.96 gcnna456.com
2015/8/3 19:45 172.25.112.96 8.8.8.8 gcnna456.com
2015/8/3 19:45 8.8.8.8 172.25.112.96 gcnna456.com
2015/8/3 19:45 172.25.112.96 8.8.8.8 gcnna456.com
2015/8/3 19:46 8.8.8.8 172.25.112.96 gcnna456.com
2015/8/3 19:46 172.25.112.96 8.8.8.8 gcnna456.com
2015/8/3 19:46 8.8.8.8 172.25.112.96 gcnna456.com

从统计可以看出,这两个域名的请求一直在持续,且时间间隔固定。

为探明事实真相,我们对这台电脑进程进行监控,发现了两个可疑进程,名称都是hrl7D7.tmp,从通信IP和端口发现与前面分析完全吻合。也就是说,域名yuyun168.3322.org和gcnna456.com的DNS请求数据和回联数据都是进程hrl7D7.tmp产生的。

进一步查询资料和分析确认,这个恶意进程为Lpk.dll劫持病毒。

0x03 飞客(Conficker)蠕虫


当然,完全依靠域名(DNS)的安全分析是不够的,一是异常通信很难从域名解析判断完整,二是部分恶意连接不通过域名请求直接与IP进行通信。在对这台机器的Http通信数据进行分析时,又发现了异常:HTTP协议的头部请求中存在不少的“GET /search?q=1”的头部信息。

如IP为95.211.230.75的请求如下:

Follow TCPStream提取请求信息如下,请求完整Url地址为:95.211.230.75/search?q=1,返回HTTP404,无法找到页面。

通过请求特征“/search?q=1”继续分析,如IP地址221.8.69.25,请求时间不固定,大约在20秒至1分钟。

再如IP地址38.102.150.27,请求时间也不是很固定。

再如IP地址216.66.15.109,请求时间也不是很固定。

把含此特征的请求IP、域名以及HTTP返回状态码进行统计,如下表:

时间 客户端 服务器 请求URL 状态
19:03 172.25.112.96 221.8.69.25 http://221.8.69.25/search?q=1 200
19:03 172.25.112.96 38.102.150.27 http://38.102.150.27/search?q=1 404
19:04 172.25.112.96 216.66.15.109 http://216.66.15.109/search?q=1 404
19:14 172.25.112.96 95.211.230.75 http://95.211.230.75/search?q=1 404
19:29 172.25.112.96 46.101.184.102 http://46.101.184.102/search?q=1 200
3:17 172.25.112.96 54.148.180.204 http://54.148.180.204/search?q=1 404

可以发现,一共请求了6个IP地址,请求URL地址都为http://IP地址/searh?q=1,有4个IP请求网页不存在,有两个请求网页成功。

过滤DNS协议,通过搜索找到6个IP对应的域名:

221.8.69.25:nntnlbaiqq.cn;
38.102.150.27:boqeynxs.ws;
216.66.15.109:odmwdf.biz;
95.211.230.75:ehipldpmdgw.info;
46.101.184.102:eqkopeepjla.info;
54.148.180.204:rduhvg.net;

可以看出6个域名名称都很像随机生成的。对DNS进一步分析时还发现大量无法找到地址的域名请求,如图:

将此错误请求进行统计,仅在监控期间就请求过148个错误的域名。通过这些域名名称可以初步判断,该病毒请求采用了DGA算法随机生成的C&C域名(详细了解可移步:[http://drops.wooyun.org/tips/6220][用机器学习识别随机生成的C&C域名])。大量随机生成的域名不存在或控制端服务器已注销关机,导致大量请求失败。

时间 客户端 服务器 查询 状态
2015/8/3 22:31 172.25.112.96 8.8.8.8 nlasowhlhj.org 失败
2015/8/3 22:31 172.25.112.96 8.8.8.8 diadcgtj.com 失败
2015/8/3 22:31 172.25.112.96 8.8.8.8 idwcjhvd.com 失败
2015/8/3 22:31 172.25.112.96 8.8.8.8 cacbwanw.net 失败
2015/8/3 22:31 172.25.112.96 8.8.8.8 pqepudpjcnc.org 失败
2015/8/3 22:31 172.25.112.96 8.8.8.8 lqxlx.cc 失败
2015/8/3 22:31 172.25.112.96 8.8.8.8 qmnqag.info 失败
2015/8/3 22:31 172.25.112.96 8.8.8.8 tivet.org 失败
2015/8/3 22:32 172.25.112.96 8.8.8.8 zvzpzgtiz.com 失败
2015/8/3 22:32 172.25.112.96 8.8.8.8 whfgzs.cc 失败
2015/8/3 22:32 172.25.112.96 8.8.8.8 uqowfosm.com 失败
2015/8/3 22:32 172.25.112.96 8.8.8.8 pxidlhtlhqz.org 失败
2015/8/3 22:32 172.25.112.96 8.8.8.8 hzxloguigf.org 失败
2015/8/3 22:33 172.25.112.96 8.8.8.8 yaovrr.com 失败
2015/8/3 22:33 172.25.112.96 8.8.8.8 iazabdcwf.net 失败
2015/8/3 22:33 172.25.112.96 8.8.8.8 qbzzehgnadn.net 失败
2015/8/3 22:33 172.25.112.96 8.8.8.8 xvmtjcehe.net 失败
2015/8/3 22:33 172.25.112.96 8.8.8.8 pvugavxsx.org 失败
2015/8/3 22:33 172.25.112.96 8.8.8.8 lgxvyyzs.info 失败
2015/8/3 22:34 172.25.112.96 8.8.8.8 rspgnhx.com 失败
2015/8/3 22:34 172.25.112.96 8.8.8.8 pbwgoe.com 失败
2015/8/3 22:34 172.25.112.96 8.8.8.8 wtexobkv.net 失败
2015/8/3 22:34 172.25.112.96 8.8.8.8 jjvyyyexxk.cc 失败
2015/8/3 22:35 172.25.112.96 8.8.8.8 uvxklheapu.net 失败
2015/8/3 22:35 172.25.112.96 8.8.8.8 wdbsw.org 失败
2015/8/3 22:35 172.25.112.96 8.8.8.8 wsflkzxud.net 失败
2015/8/3 22:35 172.25.112.96 8.8.8.8 zmbfcf.org 失败
2015/8/3 22:35 172.25.112.96 8.8.8.8 uzerepiq.net 失败
2015/8/3 22:35 172.25.112.96 8.8.8.8 vszcgubl.info 失败
2015/8/3 22:36 172.25.112.96 8.8.8.8 aqerqeiigme.info 失败
2015/8/3 22:36 172.25.112.96 8.8.8.8 zrpavmfitq.cc 失败
2015/8/3 22:36 172.25.112.96 8.8.8.8 ugoxslfxazt.net 失败
2015/8/3 22:36 172.25.112.96 8.8.8.8 tzorilkpyg.com 失败
2015/8/3 22:36 172.25.112.96 8.8.8.8 oqhwvgpvsjw.info 失败
2015/8/3 22:37 172.25.112.96 8.8.8.8 icsqhpnr.org 失败
2015/8/3 22:37 172.25.112.96 8.8.8.8 bpvuftucv.org 失败
2015/8/3 22:37 172.25.112.96 8.8.8.8 kmdgcblyibz.cc 失败
2015/8/3 22:38 172.25.112.96 8.8.8.8 xilpn.cc 失败
2015/8/3 22:38 172.25.112.96 8.8.8.8 iumygnris.org 失败
2015/8/3 22:38 172.25.112.96 8.8.8.8 tmypuykvfzj.com 失败
2015/8/3 22:38 172.25.112.96 8.8.8.8 jhiozaveoi.net 失败
2015/8/3 22:39 172.25.112.96 8.8.8.8 gvjrenffp.net 失败
2015/8/3 22:39 172.25.112.96 8.8.8.8 geiradmz.info 失败

过滤IP为221.8.69.25的HTTP成功请求数据,提取文本内容可以看到请求成功的网页显示内容:

<html><body><h1>Conficker Sinkhole By CNCERT/CC!</h1>
</body></html>

通过HTTP响应可以推断,该机器可能感染了飞客(Conficker)蠕虫病毒,进一步我们推断国家互联网应急中心(CNCERT/CC)已得知此域名被飞客病毒所用,并将该域名放入飞客病毒域名污水池(Sinkhole)以缓解该病毒带来的风险。

至此基本确定该主机已感染飞客病毒,后续我们使用飞客病毒专杀工具进行杀毒,并对操作系统进行补丁修复后,该主机网络通讯恢复正常。

0x04 总结


  1. 关于Lpk.dll、Confiker病毒的逆向分析,网上有很多资料,本文就不继续分析;
  2. 无论是木马还是恶意病毒,一旦感染就会与外界通信,就可以通过流量监测发现;
  3. 木马病毒的内网渗透行为可基于局域网监测分析技术进行监控;木马病毒的回联通信行为分析可结合域名请求、心跳数据特征检测进行分析。