吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 7550|回复: 50
上一主题 下一主题
收起左侧

[PC样本分析] 新人的初次木马程序分析

  [复制链接]
跳转到指定楼层
楼主
Joey_zh 发表于 2020-12-2 18:31 回帖奖励
使用论坛附件上传样本压缩包时必须使用压缩密码保护,压缩密码:52pojie,否则会导致论坛被杀毒软件等误报,论坛有权随时删除相关附件和帖子!
病毒分析分区附件样本、网址谨慎下载点击,可能对计算机产生破坏,仅供安全人员在法律允许范围内研究,禁止非法用途!
禁止求非法渗透测试、非法网络攻击、获取隐私等违法内容,即使对方是非法内容,也应向警方求助!
本帖最后由 Joey_zh 于 2020-12-7 18:15 编辑

说明:

   刚开始学习病毒分析的萌新,最近一段时间在面试病毒相关岗位,下面要分析的就是面试过程中的某个样本,整理成文,发表出来,供大家参考学习,一起进步!如果有什么分析的不正确的地方,欢迎各位大佬们指正!

0x0  样本信息

文件名:35a7db3cde6c0744dc2146f23f499df8ad527c93
大小:229 KB (234,496 字节)
CRC32:7E28EBC8
MD5:324B6AB5E45E2A106025BE8802D39511
SHA-1:35A7DB3CDE6C0744DC2146F23F499DF8AD527C93
分析环境:Windows10 专业版
分析工具:OD IDA 火绒剑 exeinfo Xvolkola

0x1 初步分析

0x1.1 文件加壳状态

拖入 exeinfo 查看有没有加壳:

发现是有壳的,是MPRESS。同时查看文件是否为PE文件,发现文件开始是MZ标志,且e_lfanew指向的也为PE标志,因此确定文件是PE文件。拖入OD发现pushad,说明确实加了壳:

于是使用Xvolkolak自动脱壳机开始脱壳:

脱壳完毕后生成一个.unp文件,拖入OD在入口点处,同时搜索字符串也显示正常,脱壳成功。


0x1.2 病毒行为分析

将未脱壳的源文件改为:1.exe,然后设置火绒剑进程过滤为1.exe,开始监控程序行为。
病毒首先打开并创建了一个Conhost.exe进程,接着在C:\Program File新建了Microsoft DN1文件

接着设置了注册表键为打开CMD,并且读取了用户的桌面、文档、音乐、视频、下载和onedrive文件夹中的desktop.ini文件

代码打开了sdclt.exe,可能想要通过sdclt.exe绕过UAC,且删除了上面创建的CMD键值。

接着进程1.exe结束,变成了MicrosoftEdgeCP.exe开始执行1.exe,执行了powershell.exe,在Windows\CurrentVersion\Explorer\下新建了一个键值ADDEJIWOQK,并设置了一个注册表项值inst。与此同时新建了images.exe文件,并启动自释放文件。设置images.exe为开机启动项。

MicrosoftEdgeCP.exe进程结束后,images.exe开始执行,分别执行了conhost.exe, powershell.exe和cmd.exe。

接着,程序一直在连接108.160.178和79.134.225.37两个ip:

至此,病毒大致行为分析完毕。

0x2 病毒代码分析

0x2.1 第一层分析

将脱壳后的程序拖入IDA:

进入函数,经过分析后发现第一个函数的功能为获取本机的security_cookie:

函数实现步骤如下:
通过函数计算出security_cookie,再将security_cookie放入[0x4E7EDC],将取反后的security_cookie放入[0x4E7ED8],特征码算法如下图所示:

接着开始分析sub_4014E0:
经过分析,找到关键函数:

跟进去后第四个函数功能为关闭CMD并分配内存:

接着利用OD进行分析:
第一个函数为关闭cmd,紧接着下一个函数就为分配内存空间写入。

进入函数后程序先获取当前进程句柄,然后调用VirtualAllocEx分配一块大小为0xC00000的内存,分配的内存首地址为:0x2550000

而接下的循环则是将0x4E4FFE中的数据按照地址从高到低的顺序进行单字节复制到新建的内存空间中,复制前先取反,再复制,且复制一个会跳过FF复制有效数据。

待复制的数据区:

解密后的内存空间:

复制的大小为:0x28000
经过分析,写入的为shellcode,于是dump下来,拖到IDA进行分析。

0x2.2 分析shellcode

导入IDA后先更改Imagebase为0Xb70000:

接着将0XB7053D之前的数据设置为代码段,开始进行shellcode分析。
经过分析,一直到0XB703A8之前shellcode将自己的PE文件复制到新建的内存中:

接着模拟了系统加载DLL时更新IAT表

然后使用VirtualProtect改变所有节的属性,然后调用调用FlushInstrutionCache

接着开始执行释放的dll:
创建了一个线程,线程函数地址为:0x3095CE2

开始分析线程函数:
首先调用了GetCommandLineA,获取命令行参数

使用GetStartupInfo取得在进程启动时被指定的STARTUPINFO 结构
用GetProcessHeap返回调用进程的默认堆句柄,用RtlAllocateHeap分配堆内存
获取模块句柄,最后关闭进程。线程函数结束

0x2.3 提取并分析dll

将dll文件dump下来,放到ida分析:

Dump下来后用LoadPE重建PE,然后更改Imagebase为:0x3150000:

搜索字符串后有如下关键语句:
查看windows用户列表:

SQL语句查询数据库中用户名和密码:

对数据库的一些操作:

使用CMD执行ping命令查看网络是否联通:

使用Powershell执行将自己所在路径在Defender中设置为白名单:

至此,基本分析完毕dll的主要功能。
最后调试images.exe发现功能和样本文件一致,于是得出结论,样本程序将自身复制一份放到了C:\ProgramData,并改名为image.exe。并且更改程序为开机自启,重启后自动运行images.exe。

0x3 总结

   此次分析的恶意代码是木马程序,程序首先收集系统目录的注册表信息,如操作系统、用户目录下的配置文件等。接着通过sdclt.exe绕过UAC,在内存中将自身附带的dll文件释放在内存中,并且通过远程线程注入的方式将dll注入到样本中,并执行cmd的ping命令和Powershell的设置路径为白名单的命令,以及对数据库进行一系统操作。并且将文件的备份放在C:\ProgramData隐藏文件夹下。然后设置注册表项开机自启动image.exe程序,同时程序会通过ZwDeviceIoControlFile函数和108.160.169.178和79.134.225.37等恶意IP进行通信,将用户的私密信息窃取。

免费评分

参与人数 16吾爱币 +15 热心值 +13 收起 理由
T3rra + 1 用心讨论,共获提升!
lingyun011 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
huRD + 1 + 1 用心讨论,共获提升!
dopoo1988 + 1 我很赞同!
zzzbbbccc + 1 谢谢@Thanks!
torol + 1 我很赞同!
enmoment + 1 + 1 用心讨论,共获提升!
ice02 + 1 + 1 我很赞同!
Pwcx + 1 谢谢@Thanks!
Hmily + 7 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
XCTA + 1 我很赞同!
yinse9577 + 1 + 1 用心讨论,共获提升!
feng76998 + 1 + 1 用心讨论,共获提升!
TeMoon + 1 谢谢@Thanks!
陈泽坤001 + 1 已经处理,感谢您对吾爱破解论坛的支持!
fred2020 + 1 很厉害的样子!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

来自 14#
 楼主| Joey_zh 发表于 2020-12-5 01:18 |楼主
本帖最后由 Joey_zh 于 2020-12-5 01:31 编辑

样本我已经上传,里面包含样本文件PDF版分析报告。有兴趣的可以自己分析一下,有问题可以回帖,看到后尽量回复,大家一起学习!
文件校验:
CRC32:440A6BCD
MD5:373E1AA62AAAA3495B0FC783AD08FD10
SHA-1:C77F7C469E42EE012F17CF497208AACFB40EF9C0
解压密码:52pojie
注意:请在虚拟机中调试,不要在物理机中调试样本!

样本.7z

941.17 KB, 下载次数: 117, 下载积分: 吾爱币 -1 CB

推荐
Attack 发表于 2021-2-17 16:50
Joey_zh 发表于 2021-2-9 14:32
可能你是把PE复制到内存后直接就dump了,要等shellcode继续修改PE结构后再dump,然后修复一下导入表。最 ...

谢谢楼主评论,这个如果进一步分析,你会发现是个warzone远控程序
推荐
Hmily 发表于 2020-12-7 18:12
Joey_zh 发表于 2020-12-7 18:11
因为是面试题限时,所以分析的没有特别的深入

可以好好分析补充一下。
沙发
yoxi011 发表于 2020-12-4 09:34
虽然看不懂 还是支持下
头像被屏蔽
3#
jackcui 发表于 2020-12-4 09:46
提示: 作者被禁止或删除 内容自动屏蔽
4#
2020Lin 发表于 2020-12-4 10:12
这。。不是新手吧
5#
myheartfly 发表于 2020-12-4 10:14
感谢讲解
6#
atrox 发表于 2020-12-4 10:18
新手不敢说话。。。
7#
TeMoon 发表于 2020-12-4 11:00
看不大懂,但是感觉好厉害!大佬牛逼
8#
zsxm6865 发表于 2020-12-4 11:08
支持大佬!
9#
cncq112233qwe 发表于 2020-12-4 11:34
看的不是很明白,但还是支持大佬
10#
封江寒 发表于 2020-12-4 15:33
新人刚接触还没有入门,只能说厉害!
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-24 08:39

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表