吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 7296|回复: 82
收起左侧

[PC样本分析] 一个MBR硬盘锁分析实录

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

基本信息

  报告名称:一个MBR硬盘锁分析实录                                                   
  作者: Virus4                                                         
  报告更新日期:2021-3-15                                                                                      
  样本类型: 系统破坏,MBR硬盘锁                                                  
  样本文件信息:
1.jpg                        
(是的,壳都没有)
  可能受到威胁的系统:    XP         
               

简介
  
         
最近一直很闲,把逆向抓回来重新看看,正好在论坛上看到有人求分析的帖子,就决定分析看看。由于里面有大量反调试以及垃圾代码,分析起来很困难,本篇重点主要在如何调试以及追踪到算法代码,对程序行为的分析偏少。
一个MBR硬盘锁,非常猖狂 - 『病毒样本区』 - 吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn     


被感染系统症状
      
2.jpg QQ截图20210315034612.jpg

程序运行后,单击启动按钮,系统本身会受到破坏,MBR扇区被更改。重启后效果如上图,如果用OD调试会被检测到,会有“惩戒行为”,直接将MBR破坏掉。
但在我这里测试,即便是正常修改MBR扇区,输入了正确的密码也是进不去系统的...所以找到密码的意义也不是很大了。

详细分析
首先在虚拟机里执行程序,报内存错误,初步猜测是可能有反虚拟机的功能(也有可能就是程序不行,不过在网上的沙箱中是有成功运行的实例的)
3.jpg


我们用OD跑一下程序,确定到主函数
4.jpg
我不知道有更好的方法没有..我的方法就是纯试错,主函数F7进去以后,把每个Call都F8过去一遍最终找到可以用跳转跳过的报错call

试错流程为
004E7454 ->004F39E->004FF9A5->00432697->00422A5E->004082FF
5.jpg
最终定位到这里,我们可以看到00408322有一个跳转没有实现,这里我们强制使这个跳转实现,改为jmp即可使程序正常运行。
我自己调试的过程中,是没有第一次就找对call的,我甚至F7进了下面的call,然后进入了一个套路很深的循环,再也没出来过,最后也确定不下来哪个call最终报了错(有一个call 有时候报错,有时候不报错的情况)
就只好往回找补,最后找到了这个跳转可以修改正常使用。

程序终于可以正常跑起来了,在字符串搜索中找到一个有用的字符串下段,结果发现被"惩戒“”了

6.jpg

虚拟机直接蓝屏,启动扇区应该是直接被破坏了
7.jpg 8.jpg

这时我的思路是 肯定有个函数是反调试的,我们更改一下这个反调试的结果,让关键call失效即可。

用字符串定位,可以发现字符串上方都有一个跳转,都修改为jmp
9.jpg

这个地方有点奇怪,在我最初逆向的时候,修改完程序是会报错的,但是写这篇文章做复现的时候却没问题了...

总之这里有另外一个思路..是我当初遇到报错后想到的。

我用ARK工具检查了一下程序的进程,发现有多个线程,大胆猜测它是多线程执行多个函数的,也许可以找到这个反调试的函数,通过修改线程函数地址,来跳过反调试函数。

bp CreateThread 之后,通过栈进行追溯,可以找到 CreateThread的调用地址

image.png

通过对函数地址进行观察追踪,这面发现有如下几个函数

0040C0BD 这个函数如果没记错的话是 修改系统注册表以及结束杀软进程的(taskkill能过什么杀软的自保呢...)
0041942A 这个函数就是反调试的函数了
0041A247
0042153C 这两个函数我大致看了下没跟进去,有很多垃圾代码,一层call接着另一层,大佬们有兴趣的可以看看...



我们可以看到CreateThread的第三个参数为ThreadFunction,即为线程执行的函数,我们可以把执行反调试的函数替换为0040C0BD,让他再执行一遍去。

这样我们就跳过了对OD进行反调试的检测。

走到这里我们距离算法的位置已经不远了,我们通过对特定字符串进行追踪(如\r\n F5:, 这些字符串是在重启后的界面中可以看到的,可以判断是对MBR进行写入)

11.jpg

从这个位置向上翻,就可以看到算法了。

12.jpg

可以看到有大量的浮点运算。

算法如下:
QQ截图20210315043224.jpg

我们把数字扔进Excel里,方便进行说明

通过计算得出12组结果,然后依次相加(减)。

前五组结果规律相同
以第一行为例

第一组结果为 (B1+C1)*A1,第二组为 D1*E1
到第五行为止。共10组结果。
第十一组为D1*A3,第十二组为E2单独一个数

密码为R1+R2...+R11-R12.
可得最终结果
11741626793


但是其实结果已经没有多大意义了...系统已经被破坏的启动不了了。即便输入密码也没多大用...

到这里就分析的差不多了,分析的时候觉得斗智斗勇,写帖子下来真觉得索然无味啊... (有种这好像也没多难怎么花了那么久的感觉...)

预防及修复措施

此类病毒其实大多数杀软都能进行查杀,多以外挂进行伪装,诱导用户关闭杀软。本样本双后缀名,诱导隐藏后缀名的用户双击而已。

Vista以上系统更是需要UAC权限才能修改MBR。

如果不幸中了该类病毒,可以通过Winhex等工具查看磁盘头来获取密码。也可以通过 DiskGenius等工具对MBR进行修复。

总结

随着系统安全权限的不断完善。病毒的发展似乎从技术型越发成长为盈利型。

目前各式锁机勒索病毒无论在移动还是PC终端上都十分流行。不过一般都有挽救的余地。

中间还有很多疑惑和不解的问题,比如大量垃圾代码如何有效跳过,同时又不忽略一些重要的信息。

调试过程中我还遇到过F7进call 就报错,但是在call的位置下断点就可以成功进去的情况。也有像jmp改完就报错,但是第二次又不复现的情况...(我一开始以为是反调试手段,但是感觉好像是程序写的不够稳定?)

追踪报错call的时候我是一个一个试的,不知道有更好的方法没有

还请大家多多指教。

免费评分

参与人数 23威望 +1 吾爱币 +39 热心值 +22 收起 理由
ACG音乐控 + 1 + 1 谢谢@Thanks!
便胜晴天 + 1 + 1 用心讨论,共获提升!
中国音乐 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
溯雪 + 1 + 1 我以前也分析过类似的,现在已经快看不懂了
日子熬人 + 1 + 1 论坛禁止求脱求破,求助软件分析思路,务必在主题帖中描述清楚你的分析思路.
09282037 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
Hmily + 1 + 20 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
liuzqm + 1 + 1 我很赞同!
yongzheng + 1 + 1 我很赞同!
19183311119 + 1 + 1 我很赞同!
yanshengwapj + 1 + 1 我很赞同!
+莫默墨 + 1 用心讨论,共获提升!
nanaqilin + 1 + 1 新手,表示在学习当中
蒋震德 + 1 + 1 用心讨论,共获提升!
小熊真麻烦 + 1 + 1 我很赞同!
鬼将军温宁 + 1 谢谢@Thanks!
天凉°好个秋 + 1 + 1 我很赞同!
zhang1244000 + 1 + 1 我很赞同!
xaibin + 1 + 1 我很赞同!
woyucheng + 1 + 1 谢谢@Thanks!
mistyang + 1 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
小哲哲你来了 + 1 + 1 热心回复!
bjxiaoyao + 1 + 1 热心回复!

查看全部评分

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

 楼主| Virus4 发表于 2021-3-16 09:27
yuleniwo 发表于 2021-3-16 09:20
我在想 这个惩罚模式是不是在弹消息框,点确定之后。还是在弹窗前就已经开始了。如果是之后的,那不是杀掉 ...

应该是之后,但是这个锁机其他线程会破坏系统,结束了之后也没办法继续正常调试了,还是快照来得实在
yuleniwo 发表于 2021-3-16 09:20
我在想 这个惩罚模式是不是在弹消息框,点确定之后。还是在弹窗前就已经开始了。如果是之后的,那不是杀掉进程就可以了。
bjxiaoyao 发表于 2021-3-16 05:43
fzj 发表于 2021-3-16 05:46
分析的很到位!学习了
Fxhlt 发表于 2021-3-16 06:10
厉害了  大佬
吃兔子的肉 发表于 2021-3-16 07:54
分析到位,学习了
mistyang 发表于 2021-3-16 07:55
分析的很仔细,学到了不少东西,赞
leskady 发表于 2021-3-16 07:56
小白看不懂,但还要谢谢楼主分享。
ciker_li 发表于 2021-3-16 08:01
分析的很仔细,学到了不少东西
好久丿好酒 发表于 2021-3-16 08:19
我好像看懂了,谢谢科普
iyysbbs 发表于 2021-3-16 08:23
做个记号,万一哪天用上呢
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

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

GMT+8, 2024-11-24 10:00

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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