Mydoom样本分析报告

2021-10-17

文件检测

信息
文件名 1.virus
文件类型 WIN 32 EXE
文件大小 41664 bytes
MD5 3d466b0f8ba9f3fe03e137a34d79f682
SHA-256 7c4d73c8c9e394a72cc0eeda7e3ce78340a23f40cb3f682c06715e948c09feca
加壳 upx 2.90

导入函数

3

2

通过导入表函数可以看出病毒有以下行为:

  • 文件创建
  • 线程注入
  • 注册表修改
  • 网络行为

动态行为分析

regshot创建注册表快照,同时监控程序进程,使用wireshark实时监控网络行为

注册表

4

[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
  1. 创建servers.exe和java.exe
  2. C:\\WINDOWS\\java.exeC:\\WINDOWS\\services.exe设置为自启动
  3. 设置http://127.0.0.1/wpad.dat为代理服务器,HTTP会话劫持

备注:

随机种子:[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Cryptography\RNG]

进程行为

86

7

  1. 临时路径下创建services.exe和java.exe使用,"C:\Users\HK_MAY~1\AppData\Local\Temp\services.exe"
  2. 主程序与services.exe进行通讯(services.exe->主程序->网络)
  3. services.exe设置浏览器代理

网络行为

既然有浏览器和邮件的相关恶意行为,那么主要看HTTP,HTTPS,SMTP,DNS协议

9

1110

  1. 通过浏览器查询信息
  2. 发送邮件,信息如第三张图

通过上面动态分析,总结和推测如下

  1. 释放文件services.exe和java.exe
  2. 修改注册表,设置随机数种子、开启自启程序、HTTP代理
  3. services.exe通过劫持会话,作为本地主程序与网络的中间服务器,发送邮件信息到网络,接受网络数据到主程序

静态分析

主程序分析

全局分析

23

创建互斥体

主机+root,将非字母替换为大写字母,以此命名互斥体,确保一个病毒运行

14

释放文件

1.在系统临时目录创建zincite.log
C:\Users\10245\AppData\Local\Temp\zincite.log
2.释放services.exe,并运行

15

servers.exe元数据

16

创建java.exe

17

设置自启项

将C:\Windows\java.exe写入注册表自启动HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run

18

创建线程关闭rctrl_renwnd32,ATH_Note,IEFrame窗口

19

20

创建线程,从浏览器获取并筛选邮箱地址,构建欺骗邮件信息

首先判断了网络状态

21

22

首先进入通过搜索引擎获取同类型邮箱地址

24

25

构造搜索链接

构造参数

26

参数1包括:

contact+mail
contack+email
contact+e-mail
reply
mailto

通过@后的域名+参数1参数1+@后的域名构建最终的参数

27

搜索链接形式包括

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随机

筛选域名与用户信息

筛选域名信息

30

31

嵌套循环,外层获取到的域名字符串,内层指定域名字符串,只要获取到的域名中包含了其中指定的字符串,就会排除。

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

用户信息排除

32

全字符匹配

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

构建欺骗邮件与附件

33

构建欺骗邮件信息

34

发件人信息构造方式

35

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

指定附件类型

36

37

实际上,这里就是分为了两部分,前部分伪造信息为htm,html,txt,doc,后部分为com,pif,scr,exe,实际上后部分才是附件真正的格式。例如pwd.txt .exe

或者直接为.zip文件

构建欺骗邮件信息

38

参考:https://famguardian.org/Subjects/Computers/Security/ImpersEmailAddr.htm

提取附件邮箱信息

递归遍历目录,获取指定后缀文件中的邮箱地址

39

递归遍历目录C:\Local Settings\Temporary Internet Files\.,获取指定文件包含的邮箱信息

40

41

43

查找指定后缀文件中的邮件信息,并且也对其中的信息进行了筛选

.pl*.ph*.tx*.tbb.ht*.asp.sht.dbx.adb.wab

递归遍历硬盘驱动器或闪存驱动器(字符从C增加),获取指定后缀文件中的邮箱地址

45

这里还有一些邮件的内容信息

52

services.exe

46

信息
文件名 services.exe
文件类型 WIN 32 EXE
文件大小 8192 bytes
MD5 b0fe74719b1b647e2056641931907f4a
SHA-256 bf316f51d0c345d61eaee3940791b64e81f676e3bca42bad61073227bee6653c
加壳 UPX 2.90

47

48

包含文件行为,注册表修改,网络行为

静态分析

50

51

主要做了三件事

  1. 对zincite.log文件操作
  2. 修改注册表,设置services.exe为自启项
  3. 绑定端口号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