吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 9949|回复: 20
收起左侧

[PC样本分析] 分析带混淆的勒索病毒

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

这是之前的勒索病毒样本,一直没有好好分析,在找工作期间决定好好分析,也当是复习,这是我第一次发帖,如有不足,请各位指出。
一、样本信息

文件名称:1.exe
编译平台:Microsoft Visual C++ 6.0
是否有壳: 无
MD5::DBD5BEDE15DE51F6E5718B2CA470FC3F
SHA1::863F5956863D793298D92610377B705F85FA42B5
CRC32::1386DD7A

二、行为分析
样本无壳,但含附加数据
   1.jpg
用火绒剑分析病毒行为,可以猜测病毒 1.exe 先自我复制,重命名为 dlojuo,随后删除自身,修改注册表,并添加启动项这是病毒常见的傀儡进程操作,后面的是一些网络行为和加密目标文件,这里就不截图了
2.jpg
OD加载样本,程序在执行完 004118D6 直接跑飞到 774D64F4,进入函数4118B4查看情况
   3.jpg
4118B4 里面全部都是密密麻麻的 JE 跳转,这里就得改变以下思路。火绒剑分析病毒会创建进程,直接下 CreateProcessW/A 断点,然后F9跑起来
4.jpg
程序断下来了,可以看出,子程序以挂起方式创建,栈回溯发现地址太小,猜测是 VirtualAlloc申请出来的空间,一般申请空间后会使用 WriteProcessMemory 往空间写入,接着 VirtualAlloc 、WriteProcessMemory 下断点。
5.jpg
程序断了下来,申请的空间很小,写入内容为乱码,不是我们要找的内存,程序接着断在 Virtualloc
6.jpg
申请的空间很大,写入的是PE文件,这块内存才是真正的病毒程序  dlojuo ,选中这块内存右键直接 dump
7.jpg

将dump后的程序拖进 IDA、OD 详细分析病毒会自我复制,在CopyFileW下断点,被复制的程序会在 C:\Users\用户名\Documents\下创建子程序,文件名为6位数随机字母,栈回溯去到4074CE
8.jpg
往上翻看后发现有拼接字符串的操作,重新运行程序发现这里拼接的是病毒程序路径,之后打开C:\Users\15pb-win7\Documents\1_dump.exe的程序,如果没有,则返回错误码0x2h,这里jnz跳转条件不成立,为了方便后序分析,这里更改为无条件跳转
9.jpg
接着往下单步可以发现这里调用GetFunctionAddr获取API CreateMutexW创建互斥体,然后在下面call eax处调用,防止病毒程序多开,之后获取系统版本信息
10.jpg
打开IDA 静态接着分析,接下来,一些不重要的函数就直接跳过不分析了
11.jpg
发现 PowerRaising_4108F0 函数进行提权操作
   12.jpg
线程回调函数 sub_406EB0函数枚举当前运行的进程,查找是否有进程名为taskmg、regedi、procex、msconfi、cmd的进程在运行,若在运行,则结束该进程
   13.jpg
线程回调函数 4072A0通过 ShellExecuteExW 执行程序
14.jpg
动态调试后猜测是要删除程序,看不懂
15.jpg
线程回调函数413180主要作用是连接网络,将数据发送被作者,下面是病毒用到的URL
16.jpg 17.jpg
接着来到重点线程回调函数401710,往下分析来到 401920 ,该函数是整个程序的重点
18.jpg
401920 函数获取驱动器信息,并调用 EnumDriveDir遍历磁盘
19.jpg
进入EnumDriveDir函数,里面递归遍历磁盘文件
20.jpg
EncodeFile_401CD0 函数是加密函数,可以判断上面的表达式是筛选符合后缀的文件,对其进行加密操作
21.jpg
我之前通过IDA流程图找到关键函数sub_402170, 该函数作用是在内存中解密字符串,动态跟踪函数
22.jpg
函数内先后解密出了大量字符串,动态跟踪时注意堆栈中出现的字符串
   23.jpg
观察调用call的返回信息可以发现有非常多的字符串 ,下面就不一一截图了,只截一些关键的字符串
24.jpg
被加密文件的命名
25.jpg
生成勒索文本的字符串
26.jpg
上面的那个判断就是根据这些后缀名进行筛选
27.jpg
绕远了,下面接着分析 加密函数401CD0,进入查看
28.jpg
这里需要配合OD动态调试
29.jpg
设置文件属性,随后将文件读取到内存中,读取128个字节
30.jpg
判断文件开头128位是否为空,为空则跳转调用RtlAllocateHeap申请堆空间,这个判断是 被加密文件的特征
31.jpg
之后设置文件指针到文件头部,写入加密后的文本,写入成功程序继续运行,写入失败则释放堆空间,并关闭句柄
32.jpg

成功后跳转401f01,第二次申请堆空间
33.jpg
往下跑第二个函数就是勒索病毒所使用的加密算法
34.jpg
IDA中显示
35.jpg
算法片段
36.jpg
37.jpg

三、解决方案无解,病毒所使用的加密算法为RSA4096,经评论提醒,该勒索可以解密,详情见https://bbs.pediy.com/thread-255755.htm
38.jpg

四、防护建议开启防火墙,及时给杀软和操作系统打补丁,别点来历不明的文件

下面是样本下载链接,请在安全的环境下运行样本,否则后果自负!
链接:https://pan.baidu.com/s/1BvH--MrpiEj2L0Mp2NvrvA
提取码:l4t7
复制这段内容后打开百度网盘手机App,操作更方便哦


免费评分

参与人数 4威望 +1 吾爱币 +10 热心值 +4 收起 理由
bury咩 + 1 + 1 大佬
Hmily + 1 + 7 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
onething + 1 + 1 热心回复!
三胖胖胖 + 1 + 1 热心回复!

查看全部评分

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

hack528 发表于 2019-11-10 11:05
图片刮了 大佬
Hmily 发表于 2019-11-13 18:51
比海更深 发表于 2019-11-11 17:54
多谢提醒,我这就去弄
接着往下单步可以发现这里调用GetFunctionAddr获取AP


这行上面好像还有一个图无法显示。
 楼主| 比海更深 发表于 2019-11-10 12:29
IMF 发表于 2019-11-10 13:57
感谢大佬的分析
hjm666 发表于 2019-11-11 08:43
别用外链图片···
yppsniper 发表于 2019-11-11 11:19
大佬  图片长时间加载不出来,可否做成Word或PDF,再上传一次?谢谢
忧郁剑客 发表于 2019-11-11 15:02
图片全部挂了,一个也看不到
姚小宝 发表于 2019-11-11 15:21
再编辑一下吧  还是图片问题
dtkevin 发表于 2019-11-11 15:57
超厉害。。。但是图片为什么看不了
snsmqing 发表于 2019-11-11 16:19
图都看不到哦
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则 警告:本版块禁止灌水或回复与主题无关内容,违者重罚!

快速回复 收藏帖子 返回列表 搜索

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

GMT+8, 2024-3-29 13:45

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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