Potato 发表于 2019-10-18 11:50

phobos勒索病毒样本分析

相关阅读:phobos勒索病毒家族详情我是链接,请点我
一、        样本信息
文件名:phobos.exe
MD5:8d87ba86cafe12dda433d8941d349d36
SHA1:f2de1b6c2a2b3edd717a75e97347a32b5a90ee3a
二、        样本分析
1.        自启动
将自身复制到”%LocalAppData%”目录下,将新路径添加到注册表自启动项中,另外还将复制自身到自启动目录下实现开机自启动。

病毒在执行时还会检查当前所属进程的执行权限。如果当前进程非管理员权限,则以管理员权限方式重新启动自身。
重新以管理员权限运行自身时,系统会弹出用户账户控制(UAC)对话框,等待用户选择,一旦用户点击”是”,病毒将以管理员权限执行;如果用户点击”否”,即新起病毒进程未通过UAC,程序则以普通权限运行。
病毒在管理员权限下运行将拥有更高的文件访问和读写权限,并可以执行诸多高权限操作(比如防火墙、进程访问和关闭等)。



2.        关闭防火墙
Phobos中的敏感字符串通过AES对称加密算法加密处理过,使用时使用内置32字节密钥和0初始向量进行CBC模式解密。
通过AES算法解密出的指令,功能为关闭防火墙。
netsh advfirewall set currentprofile state off
netsh firewall set opmode mode=disable
exit

3.        关闭指定进程
通过AES算法解密出41款软件的进程名字符串,之后遍历当前所有活动进程,找到目标并关闭。被关闭软件主要以文档编辑或数据操作类软件为主,关闭这些进程的目的在于解除文件的占用,以便于文件加密的顺利进行。

4.        搜索文件进行加密
之后phobos分别对当前机器可访问的网络资源和本地磁盘进行搜索,寻找可加密文件。
1)        搜索网络资源,尝试所有可访问的目标。

2)        搜索本地资源时,对所有磁盘进行遍历搜寻。

病毒会对搜索到的文件进行过滤,以避免加密自身释放的文件以及一些系统正常运行不可少的相关文件或程序,并且会对一些特殊目标匹配并进行标记,对这类文件进行全部加密。

搜索文件时,病毒会避开某些特定的文件或路径。而附件allEnc_target_suffixes.txt中则列出了所有需要进行彻底加密的目标文件后缀(主要是各种数据库文件后缀名)。
除以上目标文件或避过的文件外,其他文件或程序将都会被部分加密。
5.        文件加密
加密前,病毒会获取系统磁盘的序列号xxxxxxxx,为待加密文件生成特定后缀名”.id.[zax4444@qq.com].Banta”。
在搜寻可加密文件时,phobos为每个网络资源目标和磁盘根路径生成两个AES256随机密钥。该32字节密钥实际只有前16字节是以时间为因子和SHA256摘要算法获取的随机值,而后半部分16字节取自病毒内置的攻击者RSA公钥的第17-32字节。示例:

攻击者RSA(非对称加密算法)公钥N元素与程序中其他字符串相似,同样通过AES256解密出,为128字节(RSA 1024-bit);公钥的e元素为65537。元素N:


对生成的32字节AES,phobos将使用RSA对其进行加密,被加密内容共128字节,包括:
        常量“\x00\x02”
        85字节伪随机数
        常量”\x00”
        32字节AES随机密钥
        系统磁盘序列号
        字节串‘\x25\x23\x00\x00’
加密结果共128字节,接着为其计算crc32校验值,在进行文件加密时将进行校验,以免加密文件时错用AES对称密钥。

开始加密后,首先获取待加密文件大小。如果文件小于1.5Mb或待加密文件被标记为全加密文件,则phobos将待加密文件全部加密;否则只加密文件的部分内容。

1) 全加密方式,首先创建一个新文件,以待加密文件名拼接上加密文件特定后缀名命名。接着依次读取待加密文件中指定大小内容到内存,并使用AES随机密钥和随机初始变量(16字节)进行CBC模式加密(初始变量IV每个文件都不一致,同样是以时间为因子和SHA256摘要算法获取的随机值),加密内容依次写入新创建文件。
加密完整个文件并写入到新文件后,phobos还将在新文件尾部追加密钥、原文件等相关数据,总共242字节,包括以下主要内容:
        原文件名
        AES加密初始向量IV
        AES加密密钥和系统磁盘序列号(经RSA加密过)
        尾部空间大小(全加密文件为”\xf2\x00\x00\x00”)
        常量”ZAX325”
其中包括原文件名在内的前64字节使用相同的AES密钥和初始向量加密。
文件全加密方式代码如下:

尾部示例:

2) 对于可加密而又非数据库等类型的文件,phobos为其添加加密文件特殊后缀,从待加密文件间歇读取3次262144字节片段,合计786432字节内容,再加上部分常量和校验值,使用与加密文件同一套AES256(CBC)密钥和初始向量进行加密。
再将加密后内容拼接上与全加密方式中尾部空间结构相同的242字节内容,写在待加密文件尾部。最后,将原文件中截取的3个262144字节片段全部置0,如此一来,只有解密出附加在原文件尾部的内容才可恢复出原本文件。

Phobos文件加密流程以及加密后文件结构如下图所示:

6.        勒索信息
Phobos将会释放出info.hta和info.txt文件,将两者放入所有磁盘根目录以及桌面目录下。

打开info.hta文件,以提醒用户。


附件为会被加密的后缀类型


幽城幻剑1 发表于 2019-10-18 13:54

我这有份病毒的exe文件,想问问大佬有时间帮忙分析下吗?

360fans_Fy5C49 发表于 2019-10-18 14:14

厉害啊,很好的分析,学习了

armored 发表于 2019-10-18 18:15

好复杂,攻击者也是很tm用心了

ZeroTimelife 发表于 2020-3-31 18:09

今天也也刚碰上,分析了一下,后面看到这篇文章比我分析的好太多。
文中有些图挂了,RSA(没有找到)在CreaThread之前?
页: [1]
查看完整版本: phobos勒索病毒样本分析