DearCry勒索软件技术分析

  • A+
所属分类:逆向工程

DearCry是首个锁定ProxyLogon漏洞的勒索软件。本文中,研究人员对该勒索软件进行了详细分析,揭示了其运行方式等其他信息。

初步分析


DearCry勒索软件使用C++语言编写:

DearCry勒索软件技术分析

图1. 用C++编写的DearCry

该勒索软件执行后,会将名为readme.txt”的勒索说明文档保存在桌面中。勒索说明文档中,提供了2个电子邮件地址“[email protected]”和“ [email protected]”,要求受害者主动与该电子邮件地址联系,以获得进一步的指示或如何解密的信息,同时还要求受害者发送文档中所提供的哈希值。

DearCry勒索软件技术分析

图2. 勒索说明文档

研究人员观察到该DearCry将创建加密文件副本,并添加.CRYPT扩展名。然后,删除原始文件。

DearCry勒索软件技术分析

图3. 成功感染后删除原始文件

DearCry勒索软件技术分析

图4. 添加.CRYPT扩展名

如下图所示,DearCry二进制文件中的某些字符串是明文显示的未被加密,可以直接理解。

DearCry勒索软件技术分析

图5. 可见的字符串

明文显示的字符串中,包含DearCry勒索软件所要加密的目标文件扩展名,如下所示:

.TIF .TIFF .PDF .XLS .XLSX .XLTM .PS .PPS .PPT .PPTX .DOC .DOCX .LOG .MSG .RTF .TEX .TXT .CAD .WPS .EML .INI .CSS .HTM .HTML  .XHTML .JS .JSP .PHP .KEYCHAIN .PEM .SQL .APK .APP .BAT .CGI .ASPX .CER .CFM .C .CPP .GO .CONFIG .PL .PY .DWG .XML .JPG .BMP .PNG .EXE .DLL .CAD .AVI .H.CSV .DAT .ISO .PST .PGD  .7Z .RAR .ZIP .ZIPX .TAR .PDB .BIN .DB .MDB .MDF .BAK .LOG .EDB .STM .DBF .ORA .GPG .EDB .MFS

此外,还包含攻击者的RSA公钥,以及勒索说明文档的文件名、内容和附加的文件扩展名等信息。

深入分析


深入分析DearCry勒索软件,研究人员发现其调用了“StartServiceCtrlDispatcher” 函数,该函数用于运行服务控制调度器,以提供服务控制管理器和DearCry创建的“msupdate”服务之间的连接。之后,DearCry将调用开始加密文件的函数。

DearCry勒索软件技术分析

图6. StartServiceCtrlDispatcher函数和加密函数

DearCry所创建的服务“msupdate”是非法的且未与Microsoft关联,该服务将用于启动文件加密。

DearCry将利用OpenSSL库生成密钥并加密文件。创建“msupdate”服务后,该勒索软件将调用一个加密哈希函数,该函数将使用内嵌的RSA公钥执行加密操作,并将输出的“2133c369fb115ea61eebd7b62768decf”哈希值记录在勒索说明文档中。攻击者将通过该哈希值,确认相应的解密密钥。

DearCry勒索软件技术分析

图7. 用于哈希加密的RSA公钥

DearCry勒索软件技术分析

图8. 哈希加密操作

DearCry勒索软件加密步骤


之后,DearCry将通过“GetLogicalDrives”、“GetLogicalDriveStringsA”和“ GetDriveType”函数获取可用的驱动器,以开始加密。

DearCry勒索软件技术分析

图9. 检查可用的驱动器

接下来,它将遍历每个文件夹,以通过“FindFirstFileA”和“ FindNextFileA”函数搜索要加密的文件,然后通过检查文件扩展名,以确认是否要对该文件进行加密。

DearCry勒索软件技术分析

图10. 检查文件扩展名

当找到的文件扩展名在目标列表中时,DearCry会继续执行以下加密步骤:

1. 打开目标文件读取前8个字节,并比较其是否等于勒索标记“DEARCRY!”。该步骤是为了验证目标文件是否已被感染了。

DearCry勒索软件技术分析

图11. 在rb模式下打开目标文件

DearCry勒索软件技术分析

图12. 检查勒索标记是否存在

2. 如果勒索标记存在,它将跳过该文件以防止再次感染。否则,它将继续读取目标文件的内容,并使用AES-256进行加密。

3. 然后,它将使用“lstrcpyA”函数复制目标文件的文件名,并添加.CRYPT扩展名(如“baitforransom.txt.CRYPT”),创建一个新的文件。

DearCry勒索软件技术分析

图13. 复制目标文件名并添加.CRYPT扩展名

DearCry勒索软件技术分析

图14. 左侧为原始文件,右侧为新文件

4. 之后在先创建的新文件中写入“DEARCRY!”标记,再拷入原始文件的内容。

DearCry勒索软件技术分析

图15. 原始文件的内容和新文件的内容


5. 接下来,它将原始文件的内容重写为AAAAAA…并保存,使该被加密的文件几乎无法被恢复。


DearCry勒索软件技术分析

图16. 重新原始文件


6. 最后,删除原始文件。


DearCry勒索软件技术分析

图17. 删除原始文件


加密完成后,DearCry勒索软件将删除创建的msupdate”服务,结束执行。


DearCry勒索软件技术分析

图18. 删除创建的服务


DearCry勒索软件技术分析


一如既往的学习,一如既往的整理,一如即往的分享。感谢支持DearCry勒索软件技术分析

“如侵权请私聊公众号删文”



扫描关注LemonSec

DearCry勒索软件技术分析

觉得不错点个“赞”、“在看”哦DearCry勒索软件技术分析


本文始发于微信公众号(LemonSec):DearCry勒索软件技术分析

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: