使用ARK工具ATool清除典型蠕虫MyDoom

时间 :  2023年11月21日  来源:  安天CERT

1.概述


在长期的日常安全事件监测过程中,安天CERT经常捕获到大量的MyDoom蠕虫样本和传播该蠕虫的钓鱼邮件。受害主机感染MyDoom后会被放置后门,以便攻击者下发后续恶意软件,进行攻击或窃密等操作。MyDoom蠕虫最早发现于2004年,至今仍然活跃,主要利用SMTP协议传播钓鱼邮件。研究人员通过分析发现,MyDoom蠕虫落地后会将自身的前三个区段名替换为随机生成的8个字母,并将其作为钓鱼邮件的附件再次发送,导致每次传播时样本的哈希值均不相同。

MyDoom蠕虫运行后会不断扫描主机文件,提取邮箱地址,随机获取样本中的邮件标题、发件人等信息,压缩后的MyDoom作为附件生成钓鱼邮件,使用SMTP协议不断发送钓鱼邮件。最后使用DGA(域名生成算法)生成上线域名,进行三次校验后,回传本地信息,并等待“DDoS攻击、下发恶意文件和可移动介质传播”等指令,期间会释放多个文件以及写入注册表,对于此种情况,可使用集成的ARK工具ATool进行快速处置[1]

ATool是针对系统进行安全分析和反RootKit木马的工具,有Windows版本和信创系统版本。主要供网络管理员、勘察取证人员、计算机爱好者和专业用户使用。ATool对进程、服务、驱动、内核模块等执行对象和启动项、计划任务等环境配置进行相关枚举,并以清单的方式来呈现。通过本地库+云端对象信誉查询的方式对相关对象的安全信誉进行评价,从而“孤立”出威胁对象和值得提取分析的可疑对象。

2.MyDoom传播


2.1 钓鱼邮件

安天CERT捕获到多封传播MyDoom蠕虫的钓鱼邮件,其附件内可执行文件为MyDoom蠕虫。邮件中包含具有迷惑性的标题和正文内容,例如:“网络汇款提示”、“生日祝福”、“更改账户密码通知”等,以诱导用户点击查看附件。部分钓鱼邮件如图所示:

图2-1 钓鱼邮件内容

2.2 攻击流程

MyDoom蠕虫通过钓鱼邮件进行传播,运行后会创建注册表启动项,复制自身到C:\Windows\system32\smnss.exe并启动。smnss.exe被启动后会调用线程不断从本地提取邮箱地址并发送钓鱼邮件,最后连接C2服务端等待下发指令,如DDoS攻击、下发恶意文件和可移动介质传播等操作。

图2-2 攻击流程

3.清除建议


3.1 清除步骤

(1)结束进程

开启3159端口的进程(解压出的附件或smnss.exe,该进程有守护进程需要先结束)

名称为smnss.exe的进程

(2)删除文件(由于MyDoom为32位样本所以在不同位数的操作系统上有一定的区别)

32位操作系统:

解压出的附件

C:\Windows\system32\smnss.exe

C:\Windows\system32\shervans.dll

C:\Windows\system32\grcopy.dll

C:\Windows\system32\ctfmen.dll

C:\Windows\system32\zipfi.dll

C:\Windows\system32\zipfiaq.dll

C:\Windows\system32\satornas.dll

64位操作系统:

解压出的附件

C:\Windows\SysWOW64\smnss.exe

C:\Windows\SysWOW64\shervans.dll

C:\Windows\SysWOW64\grcopy.dll

C:\Windows\SysWOW64\ctfmen.dll

C:\Windows\SysWOW64\zipfi.dll

C:\Windows\SysWOW64\zipfiaq.dll

C:\Windows\SysWOW64\satornas.dll

(3)删除注册表(由于MyDoom为32位样本所以在不同位数的操作系统上有一定的区别)

32位操作系统:

HKEY_CLASSES_ROOT\CLSID\{E6FB5E20-DE35-11CF-9C87-00AA005127ED}\InprocServer32

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Explorer\vulnvol32\Version

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\vulnvol32\Version

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run\ctfmen

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run\ctfmen

64位操作系统:

HKEY_CLASSES_ROOT\Wow6432Node\CLSID\{E6FB5E20-DE35-11CF-9C87-00AA005127ED}\InprocServer32

HKEY_LOCAL_MACHINE\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Explorer\vulnvol32\Version

HKEY_CURRENT_USER\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Explorer\vulnvol32\Version

HKEY_LOCAL_MACHINE\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Run\ctfmen

HKEY_CURRENT_USER\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Run\ctfmen

3.2 使用ATool进行清除

系统深度分析工具ATool是安天实验室在2006年开始发布更新的一款系统安全内核分析和RootKit检测工具,因Windows 10以后系统签名和启动认证的要求更为苛刻,很多原有免费ARK工具都不能在Windows 10等更新的系统下运行,所以近日安天更新发布了ATool V3.5免费版本,加强了对 Windows 10及Windows 11版本的支持,可在安天垂直响应平台[2]下载,如下所示:

图3-1 下载ATool

MyDoom释放文件、创建注册表较多,若使用任务管理器、资源管理器和注册表编辑器等Windows自带工具进行处置,则会导致频繁切换工具使得操作不便、效率低。当MyDoom蠕虫加载shervans.dll后会启动线程不断调用smnss.exe(病毒母体),所以清除时需要先关闭该进程。由于shervans.dll会启动线程开启3159端口,所以可以使用这个作为特征识别最初的样本,使用ATool可快速识别到开启该端口的进程并进行处置。以x64位MyDoom为例:

(1)端口管理中,暴力删除开启3159端口的进程,使用“删除文件”不能删除运行状态下的文件。

图3-2 暴力删除开启3159端口的进程

(2)进程管理中,结束并删除附件进程。

图3-3 结束并删除恶意进程

(3)自启动项中,删除自启动项ctfmen,暴力删除ctfmen.exe文件。

图3-4 定位自启动项

定位到注册表,删除该项。

图3-5 删除自启动项

(4)文件管理中,删除SysWOW64下的释放文件,先点击修改时间进行排序,随后点击查找进行文件的定位,最后使用暴力删除文件将文件删除,除下图所示仍需删除shervans.dll、grcopy.dll。

图3-6 删除MyDoom释放文件

(5)注册表管理中,定位到注册表项后删除表项,除下图所示仍需删除,HKEY_LOCAL_MACHINE(或HKEY_CURRENT_USER)\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Explorer\vulnvol32\Version中的表项。

图3-7 删除MyDoom写入的注册表项

4.防护建议


(1)安装终端防护软件:安装反病毒软件,建议安装安天智甲终端防御系统;

(2)加强口令强度:避免使用弱口令,建议使用16位或更长的口令,包括大小写字母、数字和符号在内的组合,同时避免多个服务器使用相同口令;

(3)部署入侵检测系统(IDS):部署流量监控类软件或设备,便于对恶意代码的发现与追踪溯源。安天探海威胁检测系统(PTD)以网络流量为检测分析对象,能精准检测出已知海量恶意代码和网络攻击活动,有效发现网络可疑行为、资产和各类未知威胁;

(4)安天服务:若遭受恶意软件攻击,建议及时隔离被攻击主机,并保护现场等待安全工程师对计算机进行排查;安天7*24小时服务热线:400-840-9234。

经验证,安天智甲终端防御系统(简称IEP)可实现对该蠕虫的有效查杀。

图4-1 安天智甲可实现对MyDoom蠕虫的有效查杀

5.样本分析


MyDoom蠕虫运行后首先检测虚拟机和调试器,然后通过注册表项A判断是否首次运行。

(1)若首次运行,则在C:\Windows\system32\目录下释放ctfmen.exe、shervans.dll、grcopy.dll,随后在注册表中记录5项感染标识,调用shervans.dll进行初始化、复制并运行smnss.exe、守护smnss.exe进程、设置自启动、监听3159端口进行代理等恶意操作,最后调用ctfmen.exe(启动母体复制文件smnss.exe或shervans.dll)。

(2)若非首次运行,则创建互斥量A保证自身唯一实例运行,判断注册表项B。若存在,则加载shervans.dll进行初始化和代理等操作;若不存在,则创建注册表项B。判断后启动线程收集Outlook邮箱通讯录,并从体积小于0.97MB且后缀为“html”、“htm”、“txt”、“xml”、“doc”、“pl”、“php”、“tbb”的文件中过滤特征字符串搜索邮箱地址,随后以MyDoom作为附件向其发送随机生成的钓鱼邮件。判断是否存在互斥量B,若不存在则加载shervans.dll,根据感染标识usbactiv的值判断是否进行移动介质传播。

最后使用DGA(域名生成算法)随机生成上线域名,经过三次校验后,连接C2服务端上传信息,包括:注册表iduser项的值、端口号3159、本地IP、操作系统版本。等待攻击者指令继而执行重启自身、DDoS攻击、下发恶意文件和可移动介质传播等操作。

注册表项A:HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Explorer\vulnvol32\Version或HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\vulnvol32\Version

注册表项B:HKEY_CLASSES_ROOT\CLSID\{E6FB5E20-DE35-11CF-9C87-00AA005127ED}\InprocServer32

互斥量A:VULnaShvolna,保证smnss.exe唯一运行

互斥量B:x_socks5aan,加载shervans.dll标识

Software\Microsoft\Windows\CurrentVersion\Explorer\vulnvol32\Version下MyDoom写入的各个键值,如下表所示:

表5-1 注册表Version项下感染标识各键值说明

序号

说明

1

iduser

字符串:随机8字符

机器的标识,连接C2服务端时提供

2

statem

数字

标识邮件发送线程被启动的次数,初始值为0

3

namecp

字符串:随机8字符.exe

可移动介质感染时复制MyDoom的文件名

4

usw

字符串

代理使用的用户名,初始值为:kgbee

5

pafw

字符串

代理使用的密码,初始值为:kcnfj

6

usbactiv

数字

感染可移动介质标识,初始值为0(不感染可移动介质)

7

timeout

数字

C2命令等待时间

5.1 释放文件

MyDoom蠕虫运行后释放3个核心文件:母体程序smnss.exe、母体启动程序ctfmen.exe以及初始化程序shervans.dll,释放的文件功能说明,如下表所示:

表5-2 MyDoom释放的文件功能说明

文件名称

文件所在路径

功能说明

smnss.exe(病毒母体)

C:\Windows\system32\

传播钓鱼邮件、通过可移动介质传播、连接C2 服务端

ctfmen.exe

C:\Windows\system32\

启动病毒母体(自启动项)、若母体不存在则调用shervans.dll

shervans.dll

C:\Windows\system32\

初始化环境、守护母体进程、设置自启动、监听3159端口

5.2 复制自身


MyDoom在复制自身时,会调用特定函数来修改文件的区段名,将前三个区段名替换为随机生成的8个字母,以确保每次复制都会产生不同哈希值的文件。通过这种方式,增加了文件的唯一性和随机性。

图5-1 修改区段名

5.3 持久化

MyDoom在加载shervans.dll后将ctfmen.exe程序添加至注册表启动项,实现smnss.exe(病毒母体)持久化:

图5-2 创建自启动项

5.4 设置监听端口

MyDoom在加载shervans.dll后设置监听3159端口:

图5-3 设置监听端口

5.5 传播钓鱼邮件
5.5.1 获取邮箱地址

MyDoom获取邮箱地址方式有两种:

(1)获取用户主机Outlook通讯录中的邮箱地址,并释放MyDoom压缩后的文件zipfi.dll与zipfiaq.dll:

图5-4 获取Outlook通讯录中邮箱地址

(2)遍历用户主机中后缀名为“html”、“htm”、“txt”、“xml”、“doc”、“pl”、“php”、“tbb”的文件,从中提取出邮箱地址,如下图所示:

图5-5 用户主机文件中邮箱地址

5.5.2 发送钓鱼邮件

不断扫描本地文件和Outlook通讯录,提取其中的邮箱地址,使用SMTP协议发送随机生成的钓鱼邮件。

图5-6发送钓鱼邮件

5.6 通过可移动介质传播

MyDoom释放satornas.dll以备在可移动介质传播时复制为autorun.inf,结合释放出的病毒母体达到传播的目的。

图5-7 autorun.inf中内容

通过C2指令可以开启和关闭可移动介质感染。

图5-8 通过C2指令开启和关闭可移动介质感染

5.7 命令与控制

使用DGA获取域名,该变种相比于之前变种增加了三次校验,以保证连接攻击者C2服务端,校验成功后连接C2服务端等待接收远控指令。

图5-9 DGA实现

图5-10 三次校验

通过校验后进行主机信息的上传:

图5-11 上传主机信息

远控的功能包括DDoS攻击、下发恶意文件和可移动介质传播等,如下表所示:

表5-3 命令控制功能

指令

功能

http

HTTP泛洪攻击

spamon

初始化发送邮件次数

down_file

下载文件到C:\Windows\system32\donzx.dll

pusk

下载文件并运行文件

restart

重新运行

timeout

设置命令执行间隔

socksa

设置注册表中的用户名、密码

flash_on

开启可移动介质感染

flash_off

关闭可移动介质感染

icmp

ICMP泛洪攻击

参考资料


[1] 安天. 以执行体信誉查询辅助威胁“半自动”猎杀处置——安天小胖谈系统工具ATool的特色[R/OL].( 2023-11-09)
https://mp.weixin.qq.com/s/pqc8QIf_0yr3rV-pAckLgQ
[2] 安天. 安天垂直响应平台(安天安全威胁排查工具、ATool系统安全内核分析工具)[R/OL]
https://vs2.antiy.cn