僵尸网络Nitol家族木马分析及追踪溯源

Track-SSG   ·   发表于 2019-07-18 11:04:12   ·   漏洞文章


 

1介绍

在长期跟踪僵尸网络远控、挖矿和DDoS类的木马过程中,发现国内黑产组织或个体常用HFS搭建文件服务器,作为僵尸网络放马站点,武器化暴力破解SSHRDP14333306等端口及利用远程代码执行漏洞和SQL注入等类型漏洞,扫描攻击暴露在互联网上的弱点设备,通过放马站点大规模传播感染植入木马,沦陷的主机设备主动与C&C建立连接上线,黑产组织或个体即可对主机设备控制,进行窃取信息、挖矿或发起分布式拒绝服务攻击等威胁活动。

 

2起因

仰望星空,思索万千,耀眼北斗,细数七星。月圆之夜,闲暇之余,对收集到的其中一个HFS放马站点http://222.187.238[.]16:2020拿来祭天。

该放马站点在线时间已经长达一周,下载量(即点击量)达到了3954次,推测控制的主机设备数量有2000+台。


2-1 放马站点

经过7h观察,下载量4209次,增加了255次,数量还在不断增加,如图2-2所示。看到这个数据没有,非常的可观,对该站点起了分析兴趣。


2-2 放马站点

全部木马打包下载回来,把其中的木马样本Server.exe复制到Window 7系统,默认是通过RDP爆破成功植入木马进行演练,点击执行,发现主机的网络有异常,开始以下的奇幻之旅。

 

3主机取证

3.1检查思路

僵尸网络远控、挖矿和DDoS类的木马,入侵主机后,启动一个单独的进程,可能操作启动项,主动与外部网络连接,连接不上一直在请求或保持连接状态或维持心跳包,挖矿木马特别,有一个明显的现象,CPU利用率高。整体检查从以下5个方面一项项排查,流量、进程、启动项、日志和结合威胁情报。

3.2网络排查

使用网络查看工具Tcpview排查(免安装),查看网络连接的Remote Address和使用的Port,看到222.187.238.16:8000外网通信,常用端口,结合进程名dyhnyq.exe,初步判定222.187.238.16可疑,查看进程属性,显示是微软的服务,路径为C:WindowsSysWOW64。


3-1 查看网络

可疑文件修改时间是今年,先把程序提取出来,待进一步验证分析,宁可错杀三千,不可放过一个。


3-2 可疑文件

3.3进程排查

使用进程查看工具procexp排查(免安装),除了Windows核心进程、系统进程和用户进程,dyhnyq.exe进程也可疑,进一步验证,没看到有描述和数字签名,如图3-3所示。


3-3 进程列表

查看dyhnyq.exe进程属性,显示找不到系统指定的文件,点击Verify验证数字签名,没有通过,可确认是恶意了。


3-4 进程属性

3.4启动项排查

使用启动项查看工具autoruns排查(免安装),检查有没有添加自启动项,直接看是没有,把文件名修改了该工具才检测出来。

3-5 启动项查看

换一个工具PCHunter(免安装),在服务启动项发现用微软签名信息进行迷惑,容易被欺骗(文件名eugeie.exe是后面重新运行的,结果一样)。

3-6 服务启动项

添加到注册表服务项的配置信息。

3-7 注册表服务项

3.5关联分析

利用第三方开源的威胁情报库,获取记录的恶意活动痕迹,对可疑的IP 222.187.238.16鉴定。

3-8 Graph

可知有33url都被检测到存在恶意,11个文件基本超过一半的杀毒引擎报毒,威胁程度都较高,是一个威胁IP



3-9 威胁详情

 

4木马分析

4.1基本属性

获取样本信息,基本属性如下:

文件名dyhnyq.exe
文件大小28kb
文件类型PE32 executable (GUI) Intel 80386, for MS Windows
MD595625e5c76e4e7999b08de5fa25792d4
Sha256143d659453df6168b4723e73bdb53d3f8e24bd6d85f43936b63bcb7da3865c3b
壳信息
编译器Microsoft Visual C++ 6.0
家族Nitol
病毒名MicrosoftDDoS:Win32/Nitol.B
来源主机取证样本

4-1 文件基本属性

4.2初步分析

利用IDA分析,导入表有注册表操作、文件操作、系统服务操作、创建互斥、获取系统信息和网络连接的可疑API函数,样本字符串有获取系统版本、CPU主频、文件下载URL、设置注册表服务项、Get请求和明显的DDoS攻击的字符串特征及明文硬编码的C&C地址xiaoji12.top:8000

4.3深入分析

木马运行后,首先检测注册表“HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServices”,判断“WinHelp32”是否已经存在于服务项。

4-1 打开注册表

如果注册表服务项存在“WinHelp32”,则直接启动服务,否则创建服务后启动,并删除自身文件。

4-2 主函数

通过设置进程服务状态,创建互斥服务,启动进程持续运行。

4-3 进程服务

木马进程名由随机生成6个字符组成,执行后把文件复制到C:WindowsSysWOW64系统目录,备份文件,木马常用的手法。

4-4 进程名称

建立服务控制管理器的连接,并打开数据库,创建服务,并添加服务名称“WinHelp32”、识别服务的显示名称“Windows Help System”和文件路径“C:WindowsSysWOW64”到服务控制管理器数据库,然后启动服务,打开注册表,设置Description值为“Windows Help System for X32 windows desktop”。

4-5 创建服务

C&C xiaoji12[.]top:8000服务器建立连接,该C&C地址明文硬编码在代码中,没有经过加密算法处理,通过字分析符串即可找到。

4-6 建立C&C连接

通过注册表“HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersion”获取系统版本信息,利用不同判断标志判断系统信息,得到系统版本类型。

4-7 获取系统版本信息

判断标志系统版本
2000Windows 2000
XPWindows XP
2003Windows 2003
VistaWindows Vista
2008Windows 2008
2012Windows 2012
7Windows 7
8Windows 8
NTWindows NT
未知无法获取系统版本

4-2 系统版本详情

通过注册表“HKEY_LOCAL_MACHINEHARDWAREDESCRIPTIONSystemCentralProcessor”获取CPU的主频。

4-8 获取CPU主频

把获取的系统类型和CPU主频作为上线包发送到C&C服务器,包大小为1028字节,表示木马已经植入成功。

4-9 C&C通信

接收C&C下发的指令,判断指令前两个字节标志,实现DDoS攻击、木马下载和清除木马,然后更新木马的功能。

4-10 实现功能

通信指令详情,如表4-3所示:

偏移量标志实现功能
0-0x30x4对目标主机发起DDoS攻击
0-0x30x3下载新木马并执行
0-0x30x1清除服务项配置,重新运行木马
0-0x3其他保持与C&C服务器的通信
0-0x30x5300秒后重新建立连接

4-3通信指令详情

接收到攻击任务后,根据指令0x6-0xC的攻击标志,执行不同类型的攻击,造成目标主机无法为用户提供正常服务。

4-11 DDoS攻击

DDoS攻击类型指令详情,如表4-4所示:

偏移量标志实现功能
0x04-0x070x6TCP Flood
0x04-0x070x7TCP Flood
0x04-0x070x8CC Flood
0x04-0x070x9CC Flood
0x04-0x070xA伪造TCP Flood
0x04-0x070xBUDP Flood
0x04-0x070xCICMP Flood

4-4 攻击指令详情

4.4网络行为

失陷主机发送上线包,C&C服务器接收到上线包后一直响应心跳包,保持通信状态,直到操控者下达指令。

4-12 网络通信

根据数据包,可知C&C服务器是Windows系统。

4-13 数据包详情

4.5yara特征

yara特征可用于检测识别文件恶意性和分类木马类型,快速进行鉴定。从提取的木马提取专有的字符串特征,只能检测出该家族或变种所有的样本,按照yara规则格式填写,使用yara工具(免安装)即可对文件夹或单文件检测识别,检测出来则有规则和对应的文件的提示显示。

提取的yara规则如下:

rule DDoS_Win32_Nitol_B { meta:     author = "topdubhe "     date = "2019-07-12"     refer = "95625e5c76e4e7999b08de5fa25792d4"     virusname = "DDoS:Win32/Nitol.B" description = "Botnet Nitol Family" strings: $a = {49 50 20 3A 20 25 73 20 20 70 6F 72 74 3A 20 25 64}// IP : %s  port: %d $b = {54 43 50 43 6F 6E 6E 65 63 74 46 6C 6F 6F 64 54 68 72 65 61 64 2E 74 61 72 67 65 74 20 3D 20 25 73}// TCPConnectFloodThread.target = %s $c = {2F 63 20 64 65 6C 20}// /c del $d = {7E 4D 48 7A}//~MHz $e = {25 63 25 63 25 63 25 63 25 63 25 63 2E 65 78 65}//%c%c%c%c%c%c.exe $f = {53 59 53 54 45 4D 5C 43 75 72 72 65 6E 74 43 6F 6E 74 72 6F 6C 53 65 74 5C 53 65 72 76 69 63 65 73 5C} //SYSTEMCurrentControlSetServices $g = {50 72 6F 64 75 63 74 4E 61 6D 65 00 53 4F 46 54 57 41 52 45 5C 4D 69 63 72 6F 73 6F 66 74 5C 57 69 6E 64 6F 77 73 20 4E 54 5C 43 75 72 72 65 6E 74 56 65 72 73 69 6F 6E}//ProductName.SOFTWAREMicrosoftWindows NTCurrentVersion condition: all of them }

yara工具用法:yara64.exe/ yara32.exe  yara规则  文件夹/文件

 

5追踪溯源

5.1事件溯源

前面已经说过,木马是通过爆破暴力破解RDP植入。该木马没有横向传播特性,查看主机有没有开放远程登陆,有则查看系统登陆日志,排查是否是从该途径入侵,其次查看是否有Struts2WebLogic等远程代码执行漏洞和SQL注入漏洞,通过利用漏洞入侵。

5.2域名溯源

对域名xiaoji12.top whois查询,查到是在成都西部数码whois.west263.com注册的,域名年限是一年,从拼音看注册人可能是赵泽京,获取到的信息不多。


5-1 whois信息

域名解析的历史IP记录,每个月月初换一个IP,每换一次,地址也换不同地区,可能是月租云主机,一定程度上避过了检测,维持原有控制失陷主机数量。

5-2 域名解析

6解决方法

1)杀死dyhnyq进程,删除在C:WindowsSysWOW64目录下隐藏的dyhnyq.exe木马和查看系统临时目录C:WindowsTemp是否有备份。

2)删除系统注册表HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServices服务启动项中的WinHelp32

3)重启计算机,再次检查网络和进程状况,这一步是为了稳妥,确认清除干净,实际生产系统可不执行。

7防御措施

1)关闭不必要的远程登陆服务,防止暴力破解,如需开放,可通过使用堡垒机方式登陆。

2)勿使用弱口令,使用高强度密码并定期更改。

3)关注最新公布的漏洞情况,尽早修复系统漏洞及相关组件安全漏洞,修复不了则添加安全策略阻止。

4)使用安全产品,不做推荐。

8威胁指标IOC

C&C

xiaoji12[.]top:8000

222.187.238[.]16:8000

MD5

95625e5c76e4e7999b08de5fa25792d4

URL

http://222.187.238[.]16:2020/Server.exe



本文由安全客原创发布                                
转载自安全客 - 有思想的安全新媒体


打赏我,让我更有动力~

0 条回复   |  直到 2019-7-18 | 4845 次浏览
登录后才可发表内容
返回顶部 投诉反馈

© 2016 - 2024 掌控者 All Rights Reserved.