木马病毒分析笔记

1.样本概况

1.1样本信息
文件: C:\Users\86134\Desktop\火\02156056304b0ef8122f0363efee43ec64013dfe.exe
大小: 57344 bytes
文件版本:1.00
修改时间: 2020年4月21日, 12:23:06
MD5: 26D9D3DE6426BB6F9D5F6B4039C3A1C0
SHA1: 02156056304B0EF8122F0363EFEE43EC64013DFE
CRC32: 273E30A2

1.2测试环境及工具
WMware+Win7 32位+火绒剑+IDA+OD+PChunter+010Editor+Hash

2.病毒行为

2.2进程行为,创建傀儡进程RegAsm.exe
木马病毒分析笔记_第1张图片
木马病毒分析笔记_第2张图片
2.2文件行为
木马病毒分析笔记_第3张图片
2.3注册表行为
木马病毒分析笔记_第4张图片
2.4网络行为
木马病毒分析笔记_第5张图片
通过火绒剑进行行为分析发现:
1.该病毒样本主要是以挂起的形式创建RegAsm.exe傀儡进程,远程写入ShellCode,设置傀儡进程的上下文环境,修改eip指向,执行ShellCode,达到隐藏和免杀的目的。
2.通过RegAsm.exe拷贝病毒原文件winsup.exe到目录C:User\86134\Temp\,并通过设置注册表RUN键自启动。
3.会连接可疑站点172.93.1.3.194:80端口,猜测可能是远控服务器地址。
访问www.plmaxvr.com/bby_encrypted_1107810.bin,并且会通过设置注册表项,修改IE浏览器将安全属性,使其能顺利访问可疑站点。(目前该站点已无法访问)

3.恶意代码具体分析
3.1.该程序未加壳,但使用大量混淆,导致静态分析直接失效,样本有反静态分析技术。
在这里插入图片描述
在这里插入图片描述
3.2.使用OD动态调试
使用OD对用户态常规API下断点,无法断下来,猜测可能是调用了更底层的API,或者使用了反调试。
木马病毒分析笔记_第6张图片
第一部分:病毒程序运行部分
创建傀儡进程RegAsm.exe
木马病毒分析笔记_第7张图片
将病毒代码远程写入到傀儡进程并执行
木马病毒分析笔记_第8张图片
对VirTualAllocEx下断点,通过栈回溯定位到ShellCode
获取ShellCode
木马病毒分析笔记_第9张图片
跳转到ShellCode
木马病毒分析笔记_第10张图片
执行ShellCode
木马病毒分析笔记_第11张图片
ShellCode具体分析
1.反调试
木马病毒分析笔记_第12张图片
2.关键位置和关键API
木马病毒分析笔记_第13张图片
木马病毒分析笔记_第14张图片
3.动态加载模块,调用A_ShaFinal计算哈希值,遍历IAT找到需要获取的API
木马病毒分析笔记_第15张图片
木马病毒分析笔记_第16张图片
shell32
木马病毒分析笔记_第17张图片
循环遍历获shell32.dll导出表,获取API
木马病毒分析笔记_第18张图片
注册表操作
木马病毒分析笔记_第19张图片

第二部分:傀儡进程RegAsm.exe执行部分

由于病毒的核心功能代码是在傀儡进程当中执行,所以在1.exe病毒进程远程写入的时候需要再开一个调试器对RegAsm…exe进行附加调试。并在ZwSetContextThread函数时找到CONTEXT结构体,通过偏移位置找到EIP被修改后所指向的位置,然后去傀儡进程对应的地址下断点,这样当调用ZwResumeThread时才会断到注入的病毒代码位置,方便调试。

注入到傀儡进程的关键API序列
木马病毒分析笔记_第20张图片
获取远程写入的地址:将11F0000的内容远程写入到1D40000木马病毒分析笔记_第21张图片
根据CONTEXT结构体找到RegAsm.exe的新的EPI地址0X1D0000
![(https://img-blog.csdnimg.cn/20200506151637550.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L20wXzQ1NTAzMTM3,size_16,color_FFFFFF,t_70)

在傀儡进程0X1D0000设置断点,当病毒进程执行ZwResumThread后,傀儡进程成功断下
木马病毒分析笔记_第22张图片
在用户目录创建临时目录temp并将winsup.exe写入
木马病毒分析笔记_第23张图片
注册表操作:RegCreateKeyEax创建“software\microsoft\windows\currentversion\runonce”,并将winsup.exe路劲写到runonce键下用于自启动
木马病毒分析笔记_第24张图片
设置注册表值
木马病毒分析笔记_第25张图片
文件操作:打开winsup.exe
木马病毒分析笔记_第26张图片
将病毒文件写入到winsup.exe
木马病毒分析笔记_第27张图片
访问可疑网址:
木马病毒分析笔记_第28张图片
修改IE浏览器安全属性并打开IE浏览器木马病毒分析笔记_第29张图片
访问www.plmaxvr.com/bby_encrypted_1107810.bin网路地址
木马病毒分析笔记_第30张图片
从网址读取数据:获取攻击命令
木马病毒分析笔记_第31张图片
使用到的API序列:
1.InternetOpen(ip:port/cmd.txt) CC地址
2.InternetConnect
3.InternetOpenRequest
4.InternetSendRequest ----> 1 0
5.InternetReadFile
通过InternetReadFile获取攻击命令,执行攻击操作
注:
1.由于该地址现以无法访问,导致一直在上图代码区循环,以无法定位执行命令地址。
2.通过人为修改执行流程,发现有大量混淆代码,也无法解析病毒用户协议。
3.猜测对用户协议解析后通过switch - case结构执行不同的攻击命令。

总结:
1.该病毒样本通过创建授信进程RegAsm.exe,申请堆空间,拷贝ShellCode,获取进程上下文环境,修改EPI指向,隐蔽执行恶意代码ShellCode。
使用到的关键API:
VirtualAllocExW,CreateFileW,ZwGetContextThread,ZwSetContextThread,ZwWriteVirtualMemory
2.该病毒样本使用到的大量API均为动态获取。
2.1通过fs:[0x30]加偏移获取kernel32的加载基址,遍历kernel32导出表,获取LoadLibrary函数地址动态加载模块。
2.2通过遍历模块导出表进行哈希值比对,动态获取需要调用的API。具有较强的隐蔽性和免杀性。
3.该病毒样本应该是属于木马后门,目前172.93.1.3.194:80和
www.plmaxvr.com/bby_encrypted_1107810.bin以无法正常访问。
4.
反分析手段:
1.该病毒具有反静态分析的功能,无法使用IAD进行分析。
2.该病毒具有反调试功能,会检测硬件和软件断点。
3.该病毒的ShllCode有大量的混淆和花指令,免杀和阻碍逆向分析。
4.该病毒未使用常规用户态API,程序无法正常断下。
5.调试该程序的时候,遇到各种莫名奇妙的问题,比如当对一个函数F7有时会崩溃,对某些函数F8会崩溃,经过多次调试发现对这些函数的返回地址下断点,F9就不会崩溃。

你可能感兴趣的:(病毒分析)