流氓硬盘逻辑锁—病毒分析解密
本帖最后由 Hou 于 2021-9-17 14:16 编辑其实99%的硬盘逻辑锁都可以使用该方法进行解密取得密码,分析病毒样本请在虚拟机进行并使用快照备份以便快速恢复!
请勿按照本教程在实体机分析!否则你的电脑会有被锁风险!
先给个干货吧:
这个锁机病毒工作流程—>添加注册表自启动—>为administrator帐号增加开机密码(密码:123)—>硬盘逻辑锁(密码:ID值+212)—>关机
由此可见该病毒的死循环有意向受害者多次进行勒索,相当流氓!不多说盘他!
1.直接拉进OD看,没壳这就好办了
2.那就直接中文搜看看有什么关键字
哇,一搜都出来了!Software\Microsoft\Windows\CurrentVersion\Run?svchose.exe?net user administrator 123?qq2110167494?shutodwn -r?
这不就是病毒的工作流程了吗,那我们继续分析吧.
3.我们分别在两个qq文本和关机命令shutodwn -r 下断,看看有什么结果
第一个qq文本断下来时,堆栈出现了两个可疑的数值(4897,4685),我们暂时记录下来
4.第二个QQ文本断下来并没有什么信息,我们跳过,来到下一个断点关机命令shutodwn -r,按上述的工作流程,此时我们的电脑已经被锁了,但是关机命令CALL并未有执行
此时我们又看到堆栈有一条可疑信息,直接跟过去看,又发现了两个数字,是不是似曾相识?没错这就是锁机ID和锁机密码了
但是密码后面为什么有这么多AAAAAA?这应该是C语言的内存回收和分配机制导致的,这些AAAA没有什么作用
基本分析已经完结了,下面我们重新运行进一步分析
=====================================================================
我们知道病毒制作者会通过随机密码来阻止我们分析密码,但是密码是怎样生成的?就是通过这个ID。
我们怎么计算密码?逆向算法?不不不,这太难了,我们只需把他的ID固定他就会自动计算密码了。
我们回去看第一张图ID是17412,我们这次就固定这个ID值查看密码吧。
1.我们在程序起点00401C0下断,这个起点奇奇怪怪的,不像易语言程序,我们一直F8单步分析,看看这个ID是在哪里生成的
2.我们单步来到004011FB,寄存器都出现了一个数值,这是上面的CALL产生的,没错了,就这是ID生成的CALL
我们在仔细看看,堆栈和ESI有一个可疑的十六进制数值2D1A,他的十进制就是11546,这不就是这次锁机的ID吗?
这里解释下,我们看到的文本型"11546"其实只是给我们锁机时显示的文本,实际的ID值是整数型在OD里会以16进制显示,所以我们三个地方都要修改。
3.我们需要的是ID是17412,十六进制是4404,我们这三处地方进行更改
4.然后我们在文本shutodwn -r下断点并运行,查看ID和密码是否正确
嗯,没错了,ID是17412,密码是17624
细心的人已经发现了,我们分析这两次的ID跟密码都非常接近
第一次ID4685,密码4897
我们将密码和ID相减,结果都是相差212,所以推断密码就是ID值+212
5.我们完成一下作者心愿,把机锁一下测试密码吧
密码完全正确,我们到达了登录界面,还记得前面吗,net user administrator 123
6.我们输入密码123,来到熟悉的界面
嗯....呕心东西,注册表自启动,手速慢的孩子到安全模式删除吧,手速快的直接把注册表启动项删掉就可以了。
位置在这里
好了教程到这里基本结束了,如果有认真单步追踪的同学,可能你会发现这个地方的内存被覆盖了。
密码:1 只是锁系统,并没有锁数据?用PE进去删文件也可以的 huzpsb 发表于 2020-3-9 08:39
怀疑不是那个原因..你看看是不是虚拟机名称什么的...
我以前还好奇为什么我分析病毒里面有我的名字....
他的字符串是连贯的,不会是虚拟机的信息,在其他机器测试了一下 结果是一样的
@神咲你需要的 分析的较为完整挺清晰的 感谢分享 学习了,鄙视逻辑锁种人 学习到了,感谢楼主 诶?何以看出是咱们论坛的人嘞 这种硬盘逻辑锁不能用密码解锁吧? 海上明日 发表于 2020-3-8 15:25
诶?何以看出是咱们论坛的人嘞
最后一图内存区域出现了52pojie字样,或许是调用了我们论坛里的某些代码或者模块 余吉 发表于 2020-3-8 15:38
这种硬盘逻辑锁不能用密码解锁吧?
硬盘逻辑锁都是可以使用密码解开的,除非作者设置的是随机密码或者是破坏性的锁