跳转到帖子

游客您好,欢迎来到黑客世界论坛!您可以在这里进行注册。

赤队小组-代号1949(原CHT攻防小组)在这个瞬息万变的网络时代,我们保持初心,创造最好的社区来共同交流网络技术。您可以在论坛获取黑客攻防技巧与知识,您也可以加入我们的Telegram交流群 共同实时探讨交流。论坛禁止各种广告,请注册用户查看我们的使用与隐私策略,谢谢您的配合。小组成员可以获取论坛隐藏内容!

TheHackerWorld官方

学习笔记-GlobeImposter 勒索病毒分析 - Adolph_J

精选回复

发布于

0x00前言

此样本是GlobeImposter勒索病毒早期版本,它会加密磁盘文件并篡改后缀名..doc。由于其采用高强度非对称加密方式,受害者在没有私钥的情况下无法恢复文件。

分析工具:DIE、火绒剑、IDA、OD

分析环境:Win7 x86 Vmware

0x01样本信息

File name: lGGtcrugME.exe

File Size: 155 KB

File Type: Win32 EXE

File Version:1.0.0.1

MD5: 2908715EEC754ABA1AD21414B23CAFB6

SHA1: 4AF27F4B95F29F877D0ABB1167E6B1148C1849BD

CRC32: 64CAEB77

Packers: none

0x02样本分析

一、 lGGtcrugME分析

  申请了一段大小0x8668的堆内存,并将经加密的shellcode数据复制到该内存中,然后完成解密,修改堆内存的保护为可读可写可执行,最后执行这段shellcode:0uyr5megmav2829.png

  此处解密ShellCode:

uotnej4bifu2831.png

  用的应该是TEA算法:

dc2xthj3qv32832.png

二、 shellcode分析

  获取进程环境块(PEB),使用PEB数据结构来定位基址的加载Kernel32.dll。

wrn1nrlbdeg2833.png

  通过加载Kernel32.dll,获取GetProcAddress和LoadLibraryA。

akgyteluj1p2834.png

   通过GetProcAddress和LoadLibraryA加载需要的各种API。

ttv4vcntm0i2836.png

   申请内存,释放PE,修改0x400000属性。

fm1h5qolday2837.png

   将PE头拷贝至0x400000。

xdzpbk23oye2838.png

   将PE数据区段拷贝至0x401000(内存对齐 0x1000)。

pagnytlmha52839.png

   循环遍历并加载dll。

w2rxmzcshlu2841.png

   循环遍历导入函数并获取函数地址,修复导入地址表(IAT)。

axmizwxhcvk2842.png

   最后 JMP EAX 跳转到 OEP 执行 PE:

x1tfdr1s3yj2843.png

三、PE文件分析

0mrzxrwqpzg2844.png

  复制自身至 C:\Users\xxx\AppData\Roaming,创建 HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOnce\BrowserUpdateCheck 键值。

0ihnx0y5rq32846.png

   遍历进程,获取进程名,通过 taskkill /F /T /PID 命令强杀进程名中含有 “sql”、“outlookt”、“ssms”、“postgre”、“1c”、“excel”、“word”的进程。

4ap4nthpxqb2847.png

  在 C:\Users\xxx\AppData\Local\Temp 创建.bat批处理脚本,删除卷影,清理远程连接记录,删减日志记录。

lrccsfng4q52848.png

  启动cmd,完成自删除。

kxu155amkw32849.png

1.加密用户ID

   通过 sub_408F24 计算出 黑客公钥(hacker_rsa_pub)  的 sha256:AE09C984DF6E74640B3271EADB5DD7C65FDE806235B2CDA478E0EFA9129C09E7,以此作为文件名,在 C:\Users\Public 创建文件,写入user_rsa_pub + userID.

3vyen3jrprg2850.png

   通过RSA生成用户公钥(user_rsa_pub)用户私钥(user_rsa_pri),将 用户公钥(user_rsa_pub) 写入hash名文件,并将密钥和字符串进行拼接 rsa.P+rsa.Q+“..doc.Read___ME.html...doc.P:\00Read___ME.html...doc.P:\00\!!!!!” 使用 黑客公钥(hacker_rsa_pub) 加密得到 userID,最后将userID也写入文件。

kw2b34k2rze2852.png

2.加密文件

  过滤驱动器,创建加密线程。

palklqaa0qr2853.png

   遍历当前驱动分区,过滤不需要加密的文件(毕竟勒索病毒,还要收钱呢,玩玩不能把电脑搞死了),过滤勒索相关文件,对只读文件修改属性完成加密。

 jhqcsdkokz22854.png

   获取通用唯一识别码(UUID),并得到文件大小并做运算,作为AES的前置准备。

 htmt1b3tmux2855.png

   利用文件大小运算值和UUID获取AES key。

 5avnoec2w3z2857.png

   利用key,AES完成对文件内容加密,将加密后的内容写入文件(加密文件第一部分),继续追加两段hash值(加密文件第二、三部分),继续用 黑客公钥(hacker_rsa_pub) 加密UUID,写入加密的文件(加密文件第四部分),最后再写入userID(加密文件第五部分)。

 qeolirmhvur2858.png

0x03总结

用户最好能安装杀毒软件,并保持监控开启,且能及时更新病毒库,毕竟老的勒索病毒各大安全厂商还是能防御的。对于新型勒索病毒那就需要用户提高安全意识,不要随意打开来源不明的文件,也不要随意点击可疑的链接,并对重要的数据文件定期进行非本地备份。

 

参考资料:http://www.freebuf.com/articles/system/163792.html

创建帐户或登录后发表意见

最近浏览 0

  • 没有会员查看此页面。