Mydoom样本分析报告
文件检测
信息 | 值 |
---|---|
文件名 | 1.virus |
文件类型 | WIN 32 EXE |
文件大小 | 41664 bytes |
MD5 | 3d466b0f8ba9f3fe03e137a34d79f682 |
SHA-256 | 7c4d73c8c9e394a72cc0eeda7e3ce78340a23f40cb3f682c06715e948c09feca |
加壳 | upx 2.90 |
导入函数
通过导入表函数可以看出病毒有以下行为:
- 文件创建
- 线程注入
- 注册表修改
- 网络行为
动态行为分析
regshot创建注册表快照,同时监控程序进程,使用wireshark实时监控网络行为
注册表
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Cryptography\RNG]
"Seed"=hex:f4,9d,30,f1,c6,bc,ea,49,17,69,71,10,29,fe,0c,34,1a,7c,76,bd,cf,ab,\
d9,02,17,5e,1e,43,3e,12,f7,8d,1e,0a,36,d9,4a,82,b7,5e,cb,b1,08,ea,a1,31,1c,\
86,dd,21,54,de,53,28,41,a5,d8,ee,79,3d,f4,9c,62,7f,63,b4,64,ac,25,07,ba,76,\
18,10,f4,aa,c9,89,87,61
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Daemon]
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run]
"JavaVM"="C:\\WINDOWS\\java.exe"
"Services"="C:\\WINDOWS\\services.exe"
[HKEY_CURRENT_USER\Software\Microsoft\Daemon]
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.vir]
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.vir\OpenWithList]
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Connections]
"SavedLegacySettings"=hex:3c,00,00,00,5b,01,00,00,01,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,19,00,00,00,68,74,74,70,3a,2f,2f,31,32,37,\
2e,30,2e,30,2e,31,2f,77,70,61,64,2e,64,61,74,f0,b0,88,2c,93,41,d3,01,01,00,\
00,00,c0,a8,f4,83,00,00,00,00,00,00,00,00
- 创建servers.exe和java.exe
C:\\WINDOWS\\java.exe
和C:\\WINDOWS\\services.exe
设置为自启动- 设置
http://127.0.0.1/wpad.dat
为代理服务器,HTTP会话劫持
备注:
随机种子:[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Cryptography\RNG]
进程行为
- 临时路径下创建services.exe和java.exe使用,
"C:\Users\HK_MAY~1\AppData\Local\Temp\services.exe"
- 主程序与services.exe进行通讯(services.exe->主程序->网络)
- services.exe设置浏览器代理
网络行为
既然有浏览器和邮件的相关恶意行为,那么主要看HTTP,HTTPS,SMTP,DNS协议
- 通过浏览器查询信息
- 发送邮件,信息如第三张图
通过上面动态分析,总结和推测如下
- 释放文件services.exe和java.exe
- 修改注册表,设置随机数种子、开启自启程序、HTTP代理
- services.exe通过劫持会话,作为本地主程序与网络的中间服务器,发送邮件信息到网络,接受网络数据到主程序
静态分析
主程序分析
全局分析
创建互斥体
主机+root,将非字母替换为大写字母,以此命名互斥体,确保一个病毒运行
释放文件
1.在系统临时目录创建zincite.log
C:\Users\10245\AppData\Local\Temp\zincite.log
2.释放services.exe,并运行
servers.exe元数据
创建java.exe
设置自启项
将C:\Windows\java.exe写入注册表自启动HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
创建线程关闭rctrl_renwnd32,ATH_Note,IEFrame窗口
创建线程,从浏览器获取并筛选邮箱地址,构建欺骗邮件信息
首先判断了网络状态
首先进入通过搜索引擎获取同类型邮箱地址
构造搜索链接
构造参数
参数1包括:
contact+mail
contack+email
contact+e-mail
reply
mailto
通过@后的域名+参数1
或参数1+@后的域名
构建最终的参数
搜索链接形式包括
http://www.altavista.com/web/results?q=%s&kgs=0&kls=0&nbq=%d
http://www.altavista.com/web/results?q=%s&kgs=0&kls=0
http://search.yahoo.com/search?p=%s&ei=UTF-8&fr=fp-tab-web-t&cop=mss&tab=&n=%d
http://www.google.com/search?hl=en&ie=UTF-8&oe=UTF-8&q=&num=%d
前一个参数为之前构造的字符串,后一个表示搜索数量20/50随机
筛选域名与用户信息
筛选域名信息
嵌套循环,外层获取到的域名字符串,内层指定域名字符串,只要获取到的域名中包含了其中指定的字符串,就会排除。
avp,syma,sarc.,microsoft,msdn,msn.,hotmail,panda,spersk,yahoo,sophos,example,domain,uslis,update,trend,foo.com,bar.,secur,seclist,gmail,gnu.,google,arin.,ripe.,sourcedorge,sf.net,rarsoft,winzip,winrar
用户信息排除
全字符匹配
info
noone
nobody
nothing
anyone
someone
your
you
me
rating
site
soft
no
foo
help
not
feste
ca
gold-certs
the.bat
page
子串匹配
admin
support
ntivi
submit
listserv
bugs
secur
privacycertific
accoun
sample
master
abuse
spam
mailer-d
构建欺骗邮件与附件
构建欺骗邮件信息
发件人信息构造方式
tb1 = ["Mail Delivery Subsystem","MAILER-DAEMON","Returned mail","Bounced mail","The Post Office","Post Office","Automatic Email Delivery Software","Mail Administrator","Postmaster"]
tb2 = ["MAILER-DAEMON","noreply","postmaster"]
这两个列表随机组合,最终组合形式tb1
+<
+tb2
+@
+域名
+>
,例如The Post Office<noreply@qq.com>
邮件主题
作为发送失败的信息
Returned mail: Data format error
Returned mail: see transcript for details
Delivery reports about your e-mail
Mail System Error - Returned Mail
Message could not be delivered
delivery failed
report
test
status
error
hi
hello
指定附件类型
实际上,这里就是分为了两部分,前部分伪造信息为htm
,html
,txt
,doc
,后部分为com
,pif
,scr
,exe
,实际上后部分才是附件真正的格式。例如pwd.txt .exe
或者直接为.zip
文件
构建欺骗邮件信息
参考:https://famguardian.org/Subjects/Computers/Security/ImpersEmailAddr.htm
提取附件邮箱信息
递归遍历目录,获取指定后缀文件中的邮箱地址
递归遍历目录C:\Local Settings\Temporary Internet Files\.,获取指定文件包含的邮箱信息
查找指定后缀文件中的邮件信息,并且也对其中的信息进行了筛选
.pl*.ph*.tx*.tbb.ht*.asp.sht.dbx.adb.wab
递归遍历硬盘驱动器或闪存驱动器(字符从C增加),获取指定后缀文件中的邮箱地址
这里还有一些邮件的内容信息
services.exe
信息 | 值 |
---|---|
文件名 | services.exe |
文件类型 | WIN 32 EXE |
文件大小 | 8192 bytes |
MD5 | b0fe74719b1b647e2056641931907f4a |
SHA-256 | bf316f51d0c345d61eaee3940791b64e81f676e3bca42bad61073227bee6653c |
加壳 | UPX 2.90 |
包含文件行为,注册表修改,网络行为
静态分析
主要做了三件事
- 对zincite.log文件操作
- 修改注册表,设置services.exe为自启项
- 绑定端口号1034,作为服务器开放监视端口(后门)
java.exe和主程序相同的
信息 | 值 |
---|---|
文件名 | java.exe |
文件类型 | WIN32 EXE |
MD5 | 90c2d4ca3613c5d17f1c938ce076fef2 |
文件大小 | 41664 bytes |
IOC信息
家族:Mydoom描述:MyDoom是一种通过电子邮件附件和P2P网络Kazaa传播的病毒,当用户打开并运行附件内的病毒程序后,病毒就会以用户信箱内的电子邮件地址为目标,伪造邮件的源地址,向外发送大量带有病毒附件的电子邮件,同时在用户主机上留下可以上载并执行任意代码的后门。MD5S:3d466b0f8ba9f3fe03e137a34d79f68290c2d4ca3613c5d17f1c938ce076fef2b0fe74719b1b647e2056641931907f4aIPS15.54.159.1494.240.75.254TTPSUPX加壳邮件发送失败返回注册表修改自启项递归遍历获取邮箱信息搜索引擎构建链接获取邮箱信息文件特征字符串java.exeservices.exezincite"Mail Delivery Subsystem","MAILER-DAEMON","Returned mail","Bounced mail","The Post Office","Post Office","Automatic Email Delivery Software","Mail Administrator","Postmaster","MAILER-DAEMON","noreply","postmaster"Returned mail: Data format errorReturned mail: see transcript for detailsDelivery reports about your e-mailMail System Error - Returned MailMessage could not be delivereddelivery failedreportteststatuserrorhihello