-
-
[原创]phobos勒索病毒样本分析
-
发表于: 2023-3-8 19:16 7905
-
Phobos勒索家族于2019年初被发现,并不断更新病毒变种,通过RDP暴力破解+人工投放和钓鱼邮件等方式扩散到企业与个人用户中,感染数量持续增长。据说此勒索软件变种使用“RSA+AES”算法加密文件,暂时没有解密工具。
值得关注的是,该勒索病毒在运行过程中会进行自复制,并在注册表添加自启动项,如果没有清除系统中残留的病毒体,很可能会遭遇二次加密。
文件名:Ransom.Win32.Phobos.exe
MD5:f785b1a9a657aca7e70d16ac5effaabd
先将敏感字符串解密出来。
使用CopyFileW将自身拷贝到C:\User\administrator\Local\目录下
成功后使用RegOpenKeyEx打开注册表中的Software\Microsoft\Windows\CurrentVersion\Run键值
将自身路径写入开机自启动项
之后循环拷贝,将自身拷贝到各种系统关键目录下
先将关闭防火墙的命令解密出来。
先创建新的线程,将之前解密的指令传入线程回调函数。
但是很奇怪的是,传入的时候v2还是之前的防火墙操作。
经过调试可以发现,这个回调函数在解密函数前也被调用,执行了以下命令。
命令执行的流程是先创建通信管道,之后使用CreateProcessW打开了cmd进程,通过管道通信将命令写入cmd。
这样做估计是因为直接在CreateProcessW传入参数会被EDR记录,这样应该也是一种免杀手段。
先将目标程序名解密出来
拍摄自身进程以及这些进程使用的堆、模块和线程的快照。
在快照中遍历进程,比较进程名与目标程序名。
比较成功则使用OpenProcess获得进程句柄,之后进行关闭操作。
病毒先尝试打开磁盘,获取系统磁盘的序列号xxxxxxxx,为待加密文件生成特定后缀名。
之后搜索磁盘中的资源,文件名通过比较后进入加密函数。
使用CryptGenRandom获得aes随机密钥用于加密。
使用CreateFileW打开目标文件,获取文件大小。
使用SetFileAttributesW去除文件只读属性。
对文件大小进行判断,对比较小的文件进行全加密,对大文件进行部分加密。
创建一个新文件,由目标文件名和加密后缀拼接。
使用ReadFile循环读取原文件内容,使用aes随机密钥进行cbc加密。
在完成加密后,还会拼接一段数据,可以看到其中有原文件名,aes密钥等信息,猜测为用于还原的信息。
之后对这段信息使用相同的密钥进行aes加密,写入新文件尾部。
最后删除原文件。
从原文件中截取三段内容,大小为0x40000字节,将三段内容和一些数据进行拼接,之后使用aes随机密钥进行加密,加密方式与全加密相同。