在长期跟踪僵尸网络远控、挖矿和DDoS类的木马过程中,发现国内黑产组织或个体常用HFS搭建文件服务器,作为僵尸网络放马站点,武器化暴力破解SSH、RDP、1433和3306等端口及利用远程代码执行漏洞和SQL注入等类型漏洞,扫描攻击暴露在互联网上的弱点设备,通过放马站点大规模传播感染植入木马,沦陷的主机设备主动与C&C建立连接上线,黑产组织或个体即可对主机设备控制,进行窃取信息、挖矿或发起分布式拒绝服务攻击等威胁活动。
仰望星空,思索万千,耀眼北斗,细数七星。月圆之夜,闲暇之余,对收集到的其中一个HFS放马站点http://222.187.238[.]16:2020拿来祭天。
该放马站点在线时间已经长达一周,下载量(即点击量)达到了3954次,推测控制的主机设备数量有2000+台。
图2-1 放马站点
经过7h观察,下载量4209次,增加了255次,数量还在不断增加,如图2-2所示。看到这个数据没有,非常的可观,对该站点起了分析兴趣。
图2-2 放马站点
全部木马打包下载回来,把其中的木马样本Server.exe复制到Window 7系统,默认是通过RDP爆破成功植入木马进行演练,点击执行,发现主机的网络有异常,开始以下的奇幻之旅。
僵尸网络远控、挖矿和DDoS类的木马,入侵主机后,启动一个单独的进程,可能操作启动项,主动与外部网络连接,连接不上一直在请求或保持连接状态或维持心跳包,挖矿木马特别,有一个明显的现象,CPU利用率高。整体检查从以下5个方面一项项排查,流量、进程、启动项、日志和结合威胁情报。
使用网络查看工具Tcpview排查(免安装),查看网络连接的Remote Address和使用的Port,看到222.187.238.16:8000外网通信,常用端口,结合进程名dyhnyq.exe,初步判定222.187.238.16可疑,查看进程属性,显示是微软的服务,路径为C:WindowsSysWOW64。
图3-1 查看网络
可疑文件修改时间是今年,先把程序提取出来,待进一步验证分析,宁可错杀三千,不可放过一个。
图3-2 可疑文件
使用进程查看工具procexp排查(免安装),除了Windows核心进程、系统进程和用户进程,dyhnyq.exe进程也可疑,进一步验证,没看到有描述和数字签名,如图3-3所示。
图3-3 进程列表
查看dyhnyq.exe进程属性,显示找不到系统指定的文件,点击Verify验证数字签名,没有通过,可确认是恶意了。
图3-4 进程属性
使用启动项查看工具autoruns排查(免安装),检查有没有添加自启动项,直接看是没有,把文件名修改了该工具才检测出来。
图3-5 启动项查看
换一个工具PCHunter(免安装),在服务启动项发现用微软签名信息进行迷惑,容易被欺骗(文件名eugeie.exe是后面重新运行的,结果一样)。
图3-6 服务启动项
添加到注册表服务项的配置信息。
图3-7 注册表服务项
利用第三方开源的威胁情报库,获取记录的恶意活动痕迹,对可疑的IP 222.187.238.16鉴定。
图3-8 Graph图
可知有33个url都被检测到存在恶意,11个文件基本超过一半的杀毒引擎报毒,威胁程度都较高,是一个威胁IP。
图3-9 威胁详情
获取样本信息,基本属性如下:
文件名 | dyhnyq.exe |
文件大小 | 28kb |
文件类型 | PE32 executable (GUI) Intel 80386, for MS Windows |
MD5 | 95625e5c76e4e7999b08de5fa25792d4 |
Sha256 | 143d659453df6168b4723e73bdb53d3f8e24bd6d85f43936b63bcb7da3865c3b |
壳信息 | 无 |
编译器 | Microsoft Visual C++ 6.0 |
家族 | Nitol |
病毒名 | (Microsoft)DDoS:Win32/Nitol.B |
来源 | 主机取证样本 |
表4-1 文件基本属性
利用IDA分析,导入表有注册表操作、文件操作、系统服务操作、创建互斥、获取系统信息和网络连接的可疑API函数,样本字符串有获取系统版本、CPU主频、文件下载URL、设置注册表服务项、Get请求和明显的DDoS攻击的字符串特征及明文硬编码的C&C地址xiaoji12.top:8000。
木马运行后,首先检测注册表“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 获取系统版本信息
判断标志 | 系统版本 |
2000 | Windows 2000 |
XP | Windows XP |
2003 | Windows 2003 |
Vista | Windows Vista |
2008 | Windows 2008 |
2012 | Windows 2012 |
7 | Windows 7 |
8 | Windows 8 |
NT | Windows 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-0x3 | 0x4 | 对目标主机发起DDoS攻击 |
0-0x3 | 0x3 | 下载新木马并执行 |
0-0x3 | 0x1 | 清除服务项配置,重新运行木马 |
0-0x3 | 其他 | 保持与C&C服务器的通信 |
0-0x3 | 0x5 | 300秒后重新建立连接 |
表4-3通信指令详情
接收到攻击任务后,根据指令0x6-0xC的攻击标志,执行不同类型的攻击,造成目标主机无法为用户提供正常服务。
图4-11 DDoS攻击
DDoS攻击类型指令详情,如表4-4所示:
偏移量 | 标志 | 实现功能 |
0x04-0x07 | 0x6 | TCP Flood |
0x04-0x07 | 0x7 | TCP Flood |
0x04-0x07 | 0x8 | CC Flood |
0x04-0x07 | 0x9 | CC Flood |
0x04-0x07 | 0xA | 伪造TCP Flood |
0x04-0x07 | 0xB | UDP Flood |
0x04-0x07 | 0xC | ICMP Flood |
表4-4 攻击指令详情
失陷主机发送上线包,C&C服务器接收到上线包后一直响应心跳包,保持通信状态,直到操控者下达指令。
图4-12 网络通信
根据数据包,可知C&C服务器是Windows系统。
图4-13 数据包详情
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规则 文件夹/文件
前面已经说过,木马是通过爆破暴力破解RDP植入。该木马没有横向传播特性,查看主机有没有开放远程登陆,有则查看系统登陆日志,排查是否是从该途径入侵,其次查看是否有Struts2、WebLogic等远程代码执行漏洞和SQL注入漏洞,通过利用漏洞入侵。
对域名xiaoji12.top whois查询,查到是在成都西部数码whois.west263.com注册的,域名年限是一年,从拼音看注册人可能是赵泽京,获取到的信息不多。
图5-1 whois信息
域名解析的历史IP记录,每个月月初换一个IP,每换一次,地址也换不同地区,可能是月租云主机,一定程度上避过了检测,维持原有控制失陷主机数量。
图5-2 域名解析
1)杀死dyhnyq进程,删除在C:WindowsSysWOW64目录下隐藏的dyhnyq.exe木马和查看系统临时目录C:WindowsTemp是否有备份。
2)删除系统注册表HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServices服务启动项中的WinHelp32。
3)重启计算机,再次检查网络和进程状况,这一步是为了稳妥,确认清除干净,实际生产系统可不执行。
1)关闭不必要的远程登陆服务,防止暴力破解,如需开放,可通过使用堡垒机方式登陆。
2)勿使用弱口令,使用高强度密码并定期更改。
3)关注最新公布的漏洞情况,尽早修复系统漏洞及相关组件安全漏洞,修复不了则添加安全策略阻止。
4)使用安全产品,不做推荐。
C&C
xiaoji12[.]top:8000
222.187.238[.]16:8000
MD5
95625e5c76e4e7999b08de5fa25792d4
URL
http://222.187.238[.]16:2020/Server.exe
本文由安全客原创发布
转载自安全客 - 有思想的安全新媒体
打赏我,让我更有动力~
© 2016 - 2024 掌控者 All Rights Reserved.