发布于2022年11月8日3年前 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: 此处解密ShellCode: 用的应该是TEA算法: 二、 shellcode分析 获取进程环境块(PEB),使用PEB数据结构来定位基址的加载Kernel32.dll。 通过加载Kernel32.dll,获取GetProcAddress和LoadLibraryA。 通过GetProcAddress和LoadLibraryA加载需要的各种API。 申请内存,释放PE,修改0x400000属性。 将PE头拷贝至0x400000。 将PE数据区段拷贝至0x401000(内存对齐 0x1000)。 循环遍历并加载dll。 循环遍历导入函数并获取函数地址,修复导入地址表(IAT)。 最后 JMP EAX 跳转到 OEP 执行 PE: 三、PE文件分析 复制自身至 C:\Users\xxx\AppData\Roaming,创建 HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOnce\BrowserUpdateCheck 键值。 遍历进程,获取进程名,通过 taskkill /F /T /PID 命令强杀进程名中含有 “sql”、“outlookt”、“ssms”、“postgre”、“1c”、“excel”、“word”的进程。 在 C:\Users\xxx\AppData\Local\Temp 创建.bat批处理脚本,删除卷影,清理远程连接记录,删减日志记录。 启动cmd,完成自删除。 1.加密用户ID 通过 sub_408F24 计算出 黑客公钥(hacker_rsa_pub) 的 sha256:AE09C984DF6E74640B3271EADB5DD7C65FDE806235B2CDA478E0EFA9129C09E7,以此作为文件名,在 C:\Users\Public 创建文件,写入user_rsa_pub + userID. 通过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也写入文件。 2.加密文件 过滤驱动器,创建加密线程。 遍历当前驱动分区,过滤不需要加密的文件(毕竟勒索病毒,还要收钱呢,玩玩不能把电脑搞死了),过滤勒索相关文件,对只读文件修改属性完成加密。 获取通用唯一识别码(UUID),并得到文件大小并做运算,作为AES的前置准备。 利用文件大小运算值和UUID获取AES key。 利用key,AES完成对文件内容加密,将加密后的内容写入文件(加密文件第一部分),继续追加两段hash值(加密文件第二、三部分),继续用 黑客公钥(hacker_rsa_pub) 加密UUID,写入加密的文件(加密文件第四部分),最后再写入userID(加密文件第五部分)。 0x03总结 用户最好能安装杀毒软件,并保持监控开启,且能及时更新病毒库,毕竟老的勒索病毒各大安全厂商还是能防御的。对于新型勒索病毒那就需要用户提高安全意识,不要随意打开来源不明的文件,也不要随意点击可疑的链接,并对重要的数据文件定期进行非本地备份。 参考资料:http://www.freebuf.com/articles/system/163792.html
创建帐户或登录后发表意见