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 ...
随机推荐
- Kickstart部署之FTP架构
原文转自:https://www.cnblogs.com/itzgr/p/10029551.html作者:木二 目录 一 准备 1.1 完整架构:Kickstart+DHCP+VSFTP+TFTP+P ...
- Python3-sqlalchemy-orm 联表查询-无外键关系
#-*-coding:utf-8-*- #__author__ = "logan.xu" import sqlalchemy from sqlalchemy import crea ...
- Docker小白到实战之Dockerfile解析及实战演示,果然顺手
前言 使用第三方镜像肯定不是学习Docker的最终目的,最想要的还是自己构建镜像:将自己的程序.文件.环境等构建成自己想要的应用镜像,方便后续部署.启动和维护:而Dockerfile就是专门做这个事的 ...
- MongoDB(15)- 查询操作里面的游标 cursor
db.collection.find() 方法里面的游标 该方法最后会返回一个 cursor 正常情况下,访问文档必须迭代游标 重点事项 当调用 find() 函数时,Shell 并不立即查询数据库, ...
- Git 系列教程(1)- Git 简介
前言 因为工作中目前要大量使用 Git,虽然之前已经会用了,但没有系统的总结过,现在来重新总结 概念篇会直接搬网上的教程,比如:菜鸟.廖雪峰.老张.中文版Git,就不再花时间自己总结过概念了 Git ...
- PTA面向对象程序设计6-3 面积计算器(函数重载)
实现一个面积计算器,它能够计算矩形或长方体的面积. 函数接口定义: int area(int x, int y); int area(int x, int y, int z); 第一个函数计算长方形的 ...
- 学习PHP中好玩的Gmagick图像操作扩展的使用
在 PHP 的图像处理领域,要说最出名的 GD 库为什么好,那就是因为它不需要额外安装的别的什么图像处理工具,而且是随 PHP 源码一起发布的,只需要在安装 PHP 的时候添加上编译参数就可以了. G ...
- CSS linear-gradient() 函数
用于背景颜色渐变或画线条等场景 linear-gradient() 函数用于创建一个表示两种或多种颜色线性渐变的图片. 创建一个线性渐变,需要指定两种颜色,还可以实现不同方向(指定为一个角度)的渐变效 ...
- webpack线上和线下模式
区别: 1 线下模式代码没有压缩,source-map是全的,比较容易定位错误,调试方便 2 线上模式的代码是压缩的,文件小, 分开打包: 方式一:有点麻烦 在package.json文件 " ...
- mysql给数据库表里某个字段赋随机值
UPDATE sxz_goods set sales_volume_base = round(rand() * 50) + 1 where sales_volume_base =0 ORDER BY ...