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

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判断是否首次运行。

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.学习路线图 

 攻击和防守要学的东西也不少,具体要学的东西我都写在了上面的路线图,如果你能学完它们,你去就业和接私活完全没有问题。

2.视频教程

网上虽然也有很多的学习资源,但基本上都残缺不全的,这是我自己录的网安视频教程,上面路线图的每一个知识点,我都有配套的视频讲解。

内容涵盖了网络安全法学习、网络安全运营等保测评、渗透测试基础、漏洞详解、计算机基础知识等,都是网络安全入门必知必会的学习内容。

 

 (都打包成一块的了,不能一一展开,总共300多集)

因篇幅有限,仅展示部分资料,需要保存下方图片,微信扫码即可前往获取

3.技术文档和电子书

技术文档也是我自己整理的,包括我参加大型网安行动、CTF和挖SRC漏洞的经验和技术要点,电子书也有200多本,由于内容的敏感性,我就不一一展示了。 

 因篇幅有限,仅展示部分资料,需要保存下方图片,微信扫码即可前往获取

4.工具包、面试题和源码

“工欲善其事必先利其器”我为大家总结出了最受欢迎的几十款款黑客工具。涉及范围主要集中在 信息收集、Android黑客工具、自动化工具、网络钓鱼等,感兴趣的同学不容错过。 

 还有我视频里讲的案例源码和对应的工具包,需要的话也可以拿走。

因篇幅有限,仅展示部分资料,需要保存下方图片,微信扫码即可前往获取

 最后就是我这几年整理的网安方面的面试题,如果你是要找网安方面的工作,它们绝对能帮你大忙。

这些题目都是大家在面试深信服、奇安信、腾讯或者其它大厂面试时经常遇到的,如果大家有好的题目或者好的见解欢迎分享。

参考解析:深信服官网、奇安信官网、Freebuf、csdn等

内容特点:条理清晰,含图像化表示更加易懂。

内容概要:包括 内网、操作系统、协议、渗透测试、安服、漏洞、注入、XSS、CSRF、SSRF、文件上传、文件下载、文件包含、XXE、逻辑漏洞、工具、SQLmap、NMAP、BP、MSF…

 因篇幅有限,仅展示部分资料,需要保存下方图片,微信扫码即可前往获取 

2009-02-16 0.20版本: 1.支持windows 7(由于win7还处于beta阶段,我也不知道它的确切Build号,现在默认大于6900是win7,目前程序可以在Build:7000的系统上正常运行) 2.加入数字签名,进程部分右键菜单--->查找没有数字签名的模块,会扫描系统中所有进程的模块 3.线程部分也有点改动,加了线程入口所在模块 4.防了消息钩子模块对XueTr的注入(可能会导致一些美化的系统中,XueTr的界面变丑,暂时不想处理这个问题了),另目前无法防止App_Inits模块的注入,这个暂时不想加了(加这个需要大改动,以后有时间会考虑) 5.对抗伪进程Id 6.XueTr启动的时候,会检测是否有线程注入到XueTr,并给出提示 7.内核模块部分,对有对应服务的,显示的时候会显示出其服务名 8.还修改了几个Bug,不表 2009-02-05 0.19版本: 1.新支持对exFAT文件系统的解析 2.新增了结束进程时候删除进程文件 3.对一些有文件全路径的地方,增添了文件厂商属性 2009-02-02 0.18版本:(本版更新纯是为了解决系统挂机Bug而临时升级的一个版本) 1.增强了启动项检测 2.进程部分右键菜单增加了查找进程模块功能 3.解决了内核模块检测部分的误报可疑驱动对象Bug(感谢dl123100指出) 4.解决了程序非正常结束,下一次启动系统死掉Bug(感谢dl123100和angel13th指出) 2009-01-30 0.17版本: 1.增加了卸载消息钩子 2.增加了枚举窗口,和对窗口的操作 3.增加了禁止待机、注销、关机和重启功能 2009-01-26 0.16版本: 1.界面语言自适应(在中文操作系统上是中文,其它操作系统是英文) 2.注册表部分引入了Hive分析,默认是不开启,如果要使用可以用"使用Hive分析"菜单,选择了这个就不会用驱动获取注册表了 3.加了自我保护 4.增加禁止创建进程、线程、文件以及禁止加载模块和消息钩子模块注入功能 5.改了几个界面的小问题,我的界面写作能力很菜,不表了 6.还增强了下内核模块钩子检测(还有提升空间,不想搞了) 2009-01-17 0.15版本: 1.进程部分,加入了挂起、恢复进程(线程)功能 2.文件部分加入了NTFS、FAT32、FAT16文件磁盘解析,本功能默认开启,可以用"开启物理磁盘分析"菜单关闭 2009-01-06 0.14版本: 1.新增ObjectType Hook检测功能(这个功能的实现参考了sudami写的文章,感激) 2.修正无法列举移动存储介质(U盘等)里的文件bug(感谢annybaby指出) 3.修正File和Rigister显示界面,当多次最小化最大化后,树形控件宽度逐渐变窄bug(感谢li58指出) 2009-01-02 0.13版本: 1.调整界面 2.新增操作IE插件、SPI、启动项、服务、映像劫持、Host文件等功能 3.修正一处filter显示bug(感谢dl123100指出) 2008-12-22 0.12版本: 1.解决在装有微点机器下全是白板的问题 2008-12-11 0.11版本: 1.修正有些机器全是白板问题
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值