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
Mydoom样本分析报告的更多相关文章
- 新型活跃Mozi样本分析报告
基本信息 对象 值 文件名 Photo.scr 文件类型 PE32 executable for MS Windows (GUI) Intel 80386 32-bit 文件大小 6271259 by ...
- 使用AES加密的勒索类软件分析报告
报告名称: 某勒索类软件分析报告 作者: 李东 报告更新日期: 样本发现日期: 样本类型: 样本文件大小/被感染文件变化长度: 样本文件MD5 校验值: da4ab5e31793 ...
- [FreeBuff]Trojan.Miner.gbq挖矿病毒分析报告
Trojan.Miner.gbq挖矿病毒分析报告 https://www.freebuf.com/articles/network/196594.html 竟然还有端口转发... 这哥们.. 江民安全 ...
- 《2018年云上挖矿态势分析报告》发布,非Web类应用安全风险需重点关注
近日,阿里云安全团队发布了<2018年云上挖矿分析报告>.该报告以阿里云2018年的攻防数据为基础,对恶意挖矿态势进行了分析,并为个人和企业提出了合理的安全防护建议. 报告指出,尽管加密货 ...
- Android木马病毒com.schemedroid的分析报告
某安全公司移动病毒分析报告的面试题目,该病毒样本的代码量比较大,最大的分析障碍是该病毒样本的类名称和类方法名称以及类成员变量的名称被混淆为无法辨认的特殊字符,每个被分析的类中所有的字符串都被加密处理了 ...
- Alpha阶段事后分析报告
每个团队编写一个事后分析报告,对于团队在Alpha阶段的工作做一个总结. 请在2016年11月24日上课之前根据下述博客中的模板总结前一阶段的工作,发表在团队博客上,并在课上的事后分析会上进行汇报,并 ...
- 《奥威Power-BI智能分析报告制作方法 》精彩回顾
上次课我们简单介绍了奥威Power-BI的智能分析报告,并展示了报告与图表相结合的应用场景.图文分析报表的意义不只在于美观,更重要的是固定框架下的灵活性和追根究底的动态分析,有着很强的实用性.上节课 ...
- 12月07日《奥威Power-BI智能分析报告制作方法 》腾讯课堂开课啦
前几天跟我一个做报表的哥们聊天,听着他一茬一茬地诉苦:“每天做报表做到想吐,老板看报表时还是不给一个好脸色.”我也只能搬出那一套“过程大于结果”的内心疗程赠与他,没想到他反而怒了:“做 ...
- M1事后分析报告(Postmortem Report)
M1事后分析报告(Postmortem Report) 设想和目标 1. 我们的软件要解决什么问题?是否定义得很清楚?是否对典型用户和典型场景有清晰的描述? 我们项目组所开发的软件为一个基于Andro ...
随机推荐
- 《网页布局基础篇》HTML+CSS单列布局--水平居中,垂直居中,水平垂直居中
https://blog.csdn.net/panlu666_pl/article/details/66480433 一.水平居中 子元素在父元素中水平居中 1.使用 text-align和inlin ...
- linux下查看磁盘使用内存及清除日志内存
1.查看磁盘内存 df -h 2.清理日志内存 echo "">catalina.out
- Java的参数传递是值传递还是引用传递?
一.前言 首先先说结论,Java中方法参数传递方式是按值传递.如果参数是基本类型,传递的是基本类型的字面量值的拷贝.如果参数是引用类型,传递的是该参量所引用的对象在堆中地址值的拷贝. 接下来深入了解一 ...
- MongoDB(6)- BSON 数据类型
BSON BSON是一种二进制序列化格式,用于在 MongoDB 中存储文档和进行远程过程调用 跟 JSON 的数据结构很像,但是支持更丰富的数据类型 数据类型 数据类型 序号 别名 备注 Doubl ...
- Devexpress TreeList控件使用
增加显示列treeList1.Columns.Add(new TreeListColumn {Caption = "城市", FieldName = "Name" ...
- 模拟BS服务器
一.模拟BS服务器分析 二.BS模拟服务器代码实现 图片都是单独请求,后台单独线程,这边是通过构造方法传入的Runable接口的实现类匿名对象创建线程: 创建本地输入流读取到网络输出流传过来的信息再放 ...
- 动态路由——OSPF
目录: 一. OSPF路由协议概述 1,OSPF协议 2,内部网关协议和外部网关协议 3,OSPF的工作过程 二.OSPF基本概念 1,OSPF区域 2,区域ID 3,R ...
- 一文了解Promise使用与实现
前言 Promise 作为一个前端必备技能,不管是从项目应用还是面试,都应该对其有所了解与使用. 常常遇到的面试五连问: 说说你对 Promise 理解? Promise 的出现解决了什么问题? Pr ...
- 运行FreeSWITCH的命令行参数
一般来说,FreeSWITCH 不需要任何命令行参数就可以启动,但在某些情况下,你需要以一些特殊的参数启动.在此,仅作简单介绍.如果你知道是什么意思,那么你就可以使用,如果不知道,多半你用不到. 使用 ...
- python中dump与dumps的区别
刚写了一个代吗,没有搞懂dump和dumps的区别,现在搞懂了,下班后在来整理import pickleq = [1,2,3,4]pickle.dump(q,open("cb1.txt&qu ...