WireShark黑客发现之旅(6)—“Lpk.dll劫持+ 飞客蠕虫”病毒
乌云历史资料归档
原始作者: 聚锋实验室 原始编号: superkieran-wooyundrops:798 原始发布时间: 2015-09-28 10:36 声明:内容仅用于技术研究和个人使用,版权归 wooyun.org。
作者: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:408.8.8.8172.25.112.96yuyun168.3322.org 2015/8/3 19:40172.25.112.968.8.8.8yuyun168.3322.org 2015/8/3 19:418.8.8.8172.25.112.96yuyun168.3322.org 2015/8/3 19:41172.25.112.968.8.8.8yuyun168.3322.org 2015/8/3 19:418.8.8.8172.25.112.96yuyun168.3322.org 2015/8/3 19:41172.25.112.968.8.8.8yuyun168.3322.org 2015/8/3 19:418.8.8.8172.25.112.96yuyun168.3322.org 2015/8/3 19:41172.25.112.968.8.8.8yuyun168.3322.org 2015/8/3 19:428.8.8.8172.25.112.96yuyun168.3322.org 2015/8/3 19:42172.25.112.968.8.8.8yuyun168.3322.org 2015/8/3 19:428.8.8.8172.25.112.96yuyun168.3322.org 2015/8/3 19:42172.25.112.968.8.8.8yuyun168.3322.org 2015/8/3 19:438.8.8.8172.25.112.96yuyun168.3322.org 2015/8/3 19:43172.25.112.968.8.8.8yuyun168.3322.org 2015/8/3 19:438.8.8.8172.25.112.96yuyun168.3322.org 2015/8/3 19:438.8.8.8172.25.112.96yuyun168.3322.org 2015/8/3 19:43172.25.112.968.8.8.8yuyun168.3322.org 2015/8/3 19:43172.25.112.968.8.8.8yuyun168.3322.org 2015/8/3 19:438.8.8.8172.25.112.96yuyun168.3322.org 2015/8/3 19:43172.25.112.968.8.8.8yuyun168.3322.org 2015/8/3 19:448.8.8.8172.25.112.96yuyun168.3322.org 2015/8/3 19:448.8.8.8172.25.112.96yuyun168.3322.org 2015/8/3 19:44172.25.112.968.8.8.8yuyun168.3322.org 2015/8/3 19:448.8.8.8172.25.112.96yuyun168.3322.org 2015/8/3 19:448.8.8.8172.25.112.96yuyun168.3322.org 2015/8/3 19:44172.25.112.968.8.8.8yuyun168.3322.org 时间客户端服务器域名 2015/8/3 19:418.8.8.8172.25.112.96gcnna456.com 2015/8/3 19:41172.25.112.968.8.8.8gcnna456.com 2015/8/3 19:418.8.8.8172.25.112.96gcnna456.com 2015/8/3 19:41172.25.112.968.8.8.8gcnna456.com 2015/8/3 19:418.8.8.8172.25.112.96gcnna456.com 2015/8/3 19:41172.25.112.968.8.8.8gcnna456.com 2015/8/3 19:428.8.8.8172.25.112.96gcnna456.com 2015/8/3 19:42172.25.112.968.8.8.8gcnna456.com 2015/8/3 19:428.8.8.8172.25.112.96gcnna456.com 2015/8/3 19:42172.25.112.968.8.8.8gcnna456.com 2015/8/3 19:428.8.8.8172.25.112.96gcnna456.com 2015/8/3 19:42172.25.112.968.8.8.8gcnna456.com 2015/8/3 19:438.8.8.8172.25.112.96gcnna456.com 2015/8/3 19:43172.25.112.968.8.8.8gcnna456.com 2015/8/3 19:438.8.8.8172.25.112.96gcnna456.com 2015/8/3 19:43172.25.112.968.8.8.8gcnna456.com 2015/8/3 19:448.8.8.8172.25.112.96gcnna456.com 2015/8/3 19:44172.25.112.968.8.8.8gcnna456.com 2015/8/3 19:448.8.8.8172.25.112.96gcnna456.com 2015/8/3 19:44172.25.112.968.8.8.8gcnna456.com 2015/8/3 19:448.8.8.8172.25.112.96gcnna456.com 2015/8/3 19:44172.25.112.968.8.8.8gcnna456.com 2015/8/3 19:458.8.8.8172.25.112.96gcnna456.com 2015/8/3 19:45172.25.112.968.8.8.8gcnna456.com 2015/8/3 19:458.8.8.8172.25.112.96gcnna456.com 2015/8/3 19:45172.25.112.968.8.8.8gcnna456.com 2015/8/3 19:468.8.8.8172.25.112.96gcnna456.com 2015/8/3 19:46172.25.112.968.8.8.8gcnna456.com 2015/8/3 19:468.8.8.8172.25.112.96gcnna456.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:03172.25.112.96221.8.69.25http://221.8.69.25/search?q=1200 19:03172.25.112.9638.102.150.27http://38.102.150.27/search?q=1404 19:04172.25.112.96216.66.15.109http://216.66.15.109/search?q=1404 19:14172.25.112.9695.211.230.75http://95.211.230.75/search?q=1404 19:29172.25.112.9646.101.184.102http://46.101.184.102/search?q=1200 3:17172.25.112.9654.148.180.204http://54.148.180.204/search?q=1404 可以发现,一共请求了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:31172.25.112.968.8.8.8nlasowhlhj.org失败 2015/8/3 22:31172.25.112.968.8.8.8diadcgtj.com失败 2015/8/3 22:31172.25.112.968.8.8.8idwcjhvd.com失败 2015/8/3 22:31172.25.112.968.8.8.8cacbwanw.net失败 2015/8/3 22:31172.25.112.968.8.8.8pqepudpjcnc.org失败 2015/8/3 22:31172.25.112.968.8.8.8lqxlx.cc失败 2015/8/3 22:31172.25.112.968.8.8.8qmnqag.info失败 2015/8/3 22:31172.25.112.968.8.8.8tivet.org失败 2015/8/3 22:32172.25.112.968.8.8.8zvzpzgtiz.com失败 2015/8/3 22:32172.25.112.968.8.8.8whfgzs.cc失败 2015/8/3 22:32172.25.112.968.8.8.8uqowfosm.com失败 2015/8/3 22:32172.25.112.968.8.8.8pxidlhtlhqz.org失败 2015/8/3 22:32172.25.112.968.8.8.8hzxloguigf.org失败 2015/8/3 22:33172.25.112.968.8.8.8yaovrr.com失败 2015/8/3 22:33172.25.112.968.8.8.8iazabdcwf.net失败 2015/8/3 22:33172.25.112.968.8.8.8qbzzehgnadn.net失败 2015/8/3 22:33172.25.112.968.8.8.8xvmtjcehe.net失败 2015/8/3 22:33172.25.112.968.8.8.8pvugavxsx.org失败 2015/8/3 22:33172.25.112.968.8.8.8lgxvyyzs.info失败 2015/8/3 22:34172.25.112.968.8.8.8rspgnhx.com失败 2015/8/3 22:34172.25.112.968.8.8.8pbwgoe.com失败 2015/8/3 22:34172.25.112.968.8.8.8wtexobkv.net失败 2015/8/3 22:34172.25.112.968.8.8.8jjvyyyexxk.cc失败 2015/8/3 22:35172.25.112.968.8.8.8uvxklheapu.net失败 2015/8/3 22:35172.25.112.968.8.8.8wdbsw.org失败 2015/8/3 22:35172.25.112.968.8.8.8wsflkzxud.net失败 2015/8/3 22:35172.25.112.968.8.8.8zmbfcf.org失败 2015/8/3 22:35172.25.112.968.8.8.8uzerepiq.net失败 2015/8/3 22:35172.25.112.968.8.8.8vszcgubl.info失败 2015/8/3 22:36172.25.112.968.8.8.8aqerqeiigme.info失败 2015/8/3 22:36172.25.112.968.8.8.8zrpavmfitq.cc失败 2015/8/3 22:36172.25.112.968.8.8.8ugoxslfxazt.net失败 2015/8/3 22:36172.25.112.968.8.8.8tzorilkpyg.com失败 2015/8/3 22:36172.25.112.968.8.8.8oqhwvgpvsjw.info失败 2015/8/3 22:37172.25.112.968.8.8.8icsqhpnr.org失败 2015/8/3 22:37172.25.112.968.8.8.8bpvuftucv.org失败 2015/8/3 22:37172.25.112.968.8.8.8kmdgcblyibz.cc失败 2015/8/3 22:38172.25.112.968.8.8.8xilpn.cc失败 2015/8/3 22:38172.25.112.968.8.8.8iumygnris.org失败 2015/8/3 22:38172.25.112.968.8.8.8tmypuykvfzj.com失败 2015/8/3 22:38172.25.112.968.8.8.8jhiozaveoi.net失败 2015/8/3 22:39172.25.112.968.8.8.8gvjrenffp.net失败 2015/8/3 22:39172.25.112.968.8.8.8geiradmz.info失败 过滤IP为221.8.69.25的HTTP成功请求数据,提取文本内容可以看到请求成功的网页显示内容:
<html><body><h1>Conficker Sinkhole By CNCERT/CC!</h1> </body></html>
通过HTTP响应可以推断,该机器可能感染了飞客(Conficker)蠕虫病毒,进一步我们推断国家互联网应急中心(CNCERT/CC)已得知此域名被飞客病毒所用,并将该域名放入飞客病毒域名污水池(Sinkhole)以缓解该病毒带来的风险。 至此基本确定该主机已感染飞客病毒,后续我们使用飞客病毒专杀工具进行杀毒,并对操作系统进行补丁修复后,该主机网络通讯恢复正常。
0x04 总结
-
关于Lpk.dll、Confiker病毒的逆向分析,网上有很多资料,本文就不继续分析;
-
无论是木马还是恶意病毒,一旦感染就会与外界通信,就可以通过流量监测发现;
-
木马病毒的内网渗透行为可基于局域网监测分析技术进行监控;木马病毒的回联通信行为分析可结合域名请求、心跳数据特征检测进行分析。