首页
社区
课程
招聘
[原创]一次上当受骗的样本分析经验
发表于: 2021-6-29 10:59 13670

[原创]一次上当受骗的样本分析经验

2021-6-29 10:59
13670

样本sha1: 21766239b79ece18b15a03f4517f3be6ed9c07ed

今天工作时遇到一个样本,很小,只有4096字节,拖到虚拟机里运行直接退出了,但是在VT里查可以看到很多报毒

ESET报了a variant of Win32/MBRlock.BF,看来应该是会改MBR的,但是不知道为什么没有执行成功,而且文件这么小,IDA里打开看了一下也没有明显特征。最后出于谨慎在另一台有反反虚拟机功能的win7虚拟机里执行了一下,没想到竟然真的可以改MBR,而且设置了自动关机和开机自动运行。

于是我认为这个样本可以反虚拟机,而且文件那么小,所以很好奇是怎么写的,决定分析一下。

程序一开始从0x4040000x404004获得了两个数字,然后调用了位于0x4020B5的函数

图片描述

图片描述

进入函数0x4020B5

图片描述

这个函数首先调用了函数0x402002

图片描述

这是一个解码(或者叫编码?)函数,对位于参数1位置,长度为参数2的字节序列进行了异或编码。这次调用对位于0x405000,长度为16字节的序列进行了按位取反的解码,解码后的结果:

图片描述

所以0x4020B5应该是要检查调试器,继续往下看:

图片描述

调用了存储在0x401000,即0x40201D位置的函数,这个函数实际上是在调用VirtualProtect函数,设置目标地址为可读可写可执行:

图片描述

设置了可执行权限之后,程序调用了位于0x405000位置的代码,即检查调试器的代码。

图片描述

正常来说,由于在用调试器调试,IsDebuggerPresent的返回值应该是1,但是因为我这里使用了插件,所以返回值是0。如果返回值是1,可以手动修改为0。

之后会根据返回值判断执行流程,如果检查存在调试器,流程会跳转到程序开始处,相当于进入了一个无限循环:

图片描述

之后程序调用了存储了0x401004,即0x40203A位置的函数,这个函数也是在调用VirtualProtect函数,只不过修改的权限不同,设置的是可读可写,也就是取消了可执行权限:

图片描述

最后程序在此对0x405000处16字节的序列进行了按位取反的编码,相当于恢复了之前的数值。

最后看一下这个函数的结构:

图片描述

由于这个程序并不是很大,有了上面对几个函数的分析,现在已经可以看一下这个程序的整体流程了:

图片描述

从上图可以看出,这个程序分成四个部分,第一部分就是我们上面分析的检查调试器的部分,第二部分对位于0x405010,长度为0x4C字节序列进行了按位取反的解码并执行,第三部分对位于0x4050BC,长度为0xFE字节序列进行了按位取反的编码并执行,最后一部分是退出程序。除了最后一部分之外,其他三部份的流程都是一样的:修改权限→解码→执行→恢复编码→恢复权限

所以接下来要做的,就是对第二、三部分解码后的代码进行分析。

以下是调试得到的第二部分解码后的代码:

代码很简单,已经进行了必要的注释,可以看到这段代码用于设置开机自启。

以下是调试得到的第三部分解码后的代码,其中省略了垃圾代码,这个程序通过这些垃圾代码对分析进行了干扰,如果不省略,call指令会跳转到指令的中间,但是并不复杂。

首先调用CreateFileW,得到PhysicalDrive0的句柄,即MBR的位置

图片描述

然后解密获得MBR写入数据,调用WriteFile写入MBR:

图片描述

最后执行shutdown,关机

图片描述

先看一下修改MBR之后的开机界面:

图片描述

写入MBR的数据见附件,这个文件我是通过PE工具里面的Bootice引导扇区管理提取出来的。

将文件导入IDA之后发现,这个代码是在是有点简单,一开始是打印字符串,就是上面开机画面中的字符串:

图片描述

之后直接陷入了无限循环:

图片描述

打印的字符串也可以看到:

图片描述

所以这个程序是一个骗人的锁机病毒,到目前为止分析的都很顺利,可是我以为的反虚拟机呢?一开始就是以为有这个功能才决定分析一下这个小程序的,结果发现并没有这个功能,U•ェ•*U~

既然发现程序没有反虚拟机的功能,我就想弄清楚为什么在另一台虚拟机上程序没有执行成功,于是在该台虚拟机上调试之。

前面的流程都是一样的,一直到达了0x4050F8,程序调用CreateFileW,试图打开PhysicalDrive0,结果失败了。

图片描述

于是我写了一段代码测试了一下失败原因:

得到结果:

图片描述

图片描述

万万没想到!由于我的虚拟机为了方便测试病毒都是打了快照的,所以确实可能出现打快照的时机出现问题,导致PhysicalDrive0被占用。

最后重启了虚拟机,发现程序果然可以正常执行了,(lll¬ω¬)

分析下来这个样本还是蛮简单的,文件很小,结构规整,使用了简单的反调试、编码以及花指令技巧。值得注意的是,程序在解码的指令执行完毕之后,还会再次对其进行编码,这一行为也提高了分析的难度,很难从内存中提取出有效内容。

我又重新给虚拟机打了一个干净的快照……

_________________________________________________________________________________
|Bkav                    |                               W32.AIDetectVM.malware1|
|Elastic                 |                           malicious (high confidence)|
|MicroWorld-eScan        |                             Trojan.GenericKD.42989135|
|ALYac                   |                             Trojan.GenericKD.42989135|
|VIPRE                   |                               Trojan.Win32.Generic!BT|
|Sangfor                 |                                               Malware|
|K7AntiVirus             |                                  Trojan ( 0056483b1 )|
|BitDefender             |                             Trojan.GenericKD.42989135|
|K7GW                    |                                  Trojan ( 0056483b1 )|
|Cybereason              |                                      malicious.9b79ec|
|BitDefenderTheta        |                        Gen:NN.ZexaF.34152.auW@ay!9nhc|
|Cyren                   |                                  W32/Trojan.ETUW-3889|
|Symantec                |                           ML.Attribute.HighConfidence|
|APEX                    |                                             Malicious|
|Paloalto                |                                            generic.ml|
|Kaspersky               |                             HEUR:Trojan.Win32.Generic|
|Alibaba                 |                         Trojan:Win32/MBRlock.df6e613f|
|NANO-Antivirus          |                           Trojan.Win32.KillMBR.hjmtoj|
|AegisLab                |                              Trojan.Win32.Generic.4!c|
|Tencent                 |                             Win32.Trojan.Generic.Ednp|
|Ad-Aware                |                             Trojan.GenericKD.42989135|
|F-Secure                |                        Trojan.TR/Ransom.MBRlock.rcdja|
|DrWeb                   |                                  Trojan.KillMBR.24847|
|Zillya                  |                              Trojan.MBRlock.Win32.591|
|Invincea                |                                             heuristic|
|FireEye                 |                           Generic.mg.f1ddcdfec9784f92|
|Sophos                  |                                        Troj/KillMBR-V|
|Jiangmin                |                                  Trojan.Generic.erchp|
|Avira                   |                               TR/Ransom.MBRlock.rcdja|
|Fortinet                |                              W32/Generic.BF!tr.ransom|
|Antiy-AVL               |                                  Trojan/Win32.Wacatac|
|Arcabit                 |                               Trojan.Generic.D28FF64F|
|ViRobot                 |                         Trojan.Win32.Z.Wacatac.4096.Q|
|Microsoft               |                               Trojan:Win32/Occamy.C50|
|AhnLab-V3               |                        Malware/Win32.Generic.C4087080|
|McAfee                  |                                            RDN/Ransom|
|MAX                     |                                 malware (ai score=83)|
|VBA32                   |                                         Trojan.Occamy|
|Panda                   |                                           Trj/GdSda.A|
|ESET-NOD32              |                         a variant of Win32/MBRlock.BF|
|Rising                  |                          Trojan.MBRlock!8.751 (CLOUD)|
|Yandex                  |                            Trojan.MBRlock!fGxkbNwgCDw|
|SentinelOne             |                                    DFI - Malicious PE|
|eGambit                 |                                   Unsafe.AI_Score_99%|
|GData                   |                             Trojan.GenericKD.42989135|
|AVG                     |                               Win32:TrojanX-gen [Trj]|
|Avast                   |                               Win32:TrojanX-gen [Trj]|
|CrowdStrike             |                      win/malicious_confidence_80% (W)|
|Qihoo-360               |                 Generic/HEUR/QVM20.1.8F85.Malware.Gen|
---------------------------------------------------------------------------------
_________________________________________________________________________________
|Bkav                    |                               W32.AIDetectVM.malware1|
|Elastic                 |                           malicious (high confidence)|
|MicroWorld-eScan        |                             Trojan.GenericKD.42989135|
|ALYac                   |                             Trojan.GenericKD.42989135|
|VIPRE                   |                               Trojan.Win32.Generic!BT|
|Sangfor                 |                                               Malware|
|K7AntiVirus             |                                  Trojan ( 0056483b1 )|
|BitDefender             |                             Trojan.GenericKD.42989135|
|K7GW                    |                                  Trojan ( 0056483b1 )|
|Cybereason              |                                      malicious.9b79ec|
|BitDefenderTheta        |                        Gen:NN.ZexaF.34152.auW@ay!9nhc|
|Cyren                   |                                  W32/Trojan.ETUW-3889|
|Symantec                |                           ML.Attribute.HighConfidence|
|APEX                    |                                             Malicious|
|Paloalto                |                                            generic.ml|
|Kaspersky               |                             HEUR:Trojan.Win32.Generic|
|Alibaba                 |                         Trojan:Win32/MBRlock.df6e613f|
|NANO-Antivirus          |                           Trojan.Win32.KillMBR.hjmtoj|
|AegisLab                |                              Trojan.Win32.Generic.4!c|
|Tencent                 |                             Win32.Trojan.Generic.Ednp|
|Ad-Aware                |                             Trojan.GenericKD.42989135|
|F-Secure                |                        Trojan.TR/Ransom.MBRlock.rcdja|
|DrWeb                   |                                  Trojan.KillMBR.24847|
|Zillya                  |                              Trojan.MBRlock.Win32.591|
|Invincea                |                                             heuristic|
|FireEye                 |                           Generic.mg.f1ddcdfec9784f92|
|Sophos                  |                                        Troj/KillMBR-V|
|Jiangmin                |                                  Trojan.Generic.erchp|
|Avira                   |                               TR/Ransom.MBRlock.rcdja|
|Fortinet                |                              W32/Generic.BF!tr.ransom|
|Antiy-AVL               |                                  Trojan/Win32.Wacatac|
|Arcabit                 |                               Trojan.Generic.D28FF64F|
|ViRobot                 |                         Trojan.Win32.Z.Wacatac.4096.Q|
|Microsoft               |                               Trojan:Win32/Occamy.C50|
|AhnLab-V3               |                        Malware/Win32.Generic.C4087080|
|McAfee                  |                                            RDN/Ransom|
|MAX                     |                                 malware (ai score=83)|
|VBA32                   |                                         Trojan.Occamy|
|Panda                   |                                           Trj/GdSda.A|
|ESET-NOD32              |                         a variant of Win32/MBRlock.BF|
|Rising                  |                          Trojan.MBRlock!8.751 (CLOUD)|
|Yandex                  |                            Trojan.MBRlock!fGxkbNwgCDw|
|SentinelOne             |                                    DFI - Malicious PE|
|eGambit                 |                                   Unsafe.AI_Score_99%|
|GData                   |                             Trojan.GenericKD.42989135|
|AVG                     |                               Win32:TrojanX-gen [Trj]|
|Avast                   |                               Win32:TrojanX-gen [Trj]|
|CrowdStrike             |                      win/malicious_confidence_80% (W)|
|Qihoo-360               |                 Generic/HEUR/QVM20.1.8F85.Malware.Gen|
---------------------------------------------------------------------------------
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

最后于 2022-2-2 17:00 被kanxue编辑 ,原因:
上传的附件:
收藏
免费 5
支持
分享
最新回复 (10)
雪    币: 968
活跃值: (6818)
能力值: (RANK:462 )
在线值:
发帖
回帖
粉丝
2
感谢分享,若是方便可将样本压缩加密上传到论坛备份
2021-6-29 11:38
0
雪    币: 622
活跃值: (1231)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
3
写的很详细啊,看着很舒服
2021-6-29 19:13
1
雪    币: 576
活跃值: (2035)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
感谢分享,Bootice引导扇区管理提取
2021-6-29 21:43
0
雪    币: 154
活跃值: (3786)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
5
我看不懂,但是我大受震惊
2021-6-29 22:32
0
雪    币: 968
活跃值: (6818)
能力值: (RANK:462 )
在线值:
发帖
回帖
粉丝
6
恭喜中奖!(https://bbs.pediy.com/thread-268273.htm) 
麻烦私信我下收货地址
2021-7-2 09:43
0
雪    币: 1484
活跃值: (4386)
能力值: ( LV10,RANK:170 )
在线值:
发帖
回帖
粉丝
7
https://s.threatbook.cn/report/file/50fcbf3daae6488df88287b0308331dd65076f29c5555fc2b7912346692b5780/?sign=history&env=win7_sp1_enx86_office2013
2021-7-2 10:57
1
雪    币: 26398
活跃值: (63257)
能力值: (RANK:135 )
在线值:
发帖
回帖
粉丝
8
感谢分享~
2021-7-2 11:01
0
雪    币: 484
活跃值: (18)
能力值: ( LV4,RANK:40 )
在线值:
发帖
回帖
粉丝
9
真的很细呀,包括报错的信息都刨根问底了,新手也有收获。
2021-7-5 16:39
0
雪    币: 4922
活跃值: (4622)
能力值: ( LV10,RANK:171 )
在线值:
发帖
回帖
粉丝
10
学到了 net helpmsg
2021-7-6 09:52
0
雪    币: 2089
活跃值: (3933)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
现在打开弹UAC的软件都不太敢用啊
2021-7-6 11:06
0
游客
登录 | 注册 方可回帖
返回
//