某比特币勒索病毒分析
面试时拿到的一个勒索病毒样本,结束后整理了一下当时的分析报告来和大家分享一下。该样本比较老,2012年首次在VT上被记录。样本的逆向难度比较简单,没有什么反逆向技术,挺适合新手练手。
IOC
MD5?291456322adcac8f75437b9f4a715693
SHA-1?ac51cec89c0d563715a646ccf5d584f1ce1fdd5d
SHA-256?62e59afe5b604b14efeb68600ca3f179024b17d2e4babf30fa41ebbf91e2f710
静态分析&动态分析
解密配置文件
从资源节区中加载配置文件数据,再通过密钥解密配置文件,配置文件。
解密算法如下:
void?__stdcall?__spoils<edx,ecx>?sub_40211B(char?*a1,?int?a2)
{
??v2?=?a1;
??v3?=?a1;
??v4?=?0;
??for?(?i?=?a2;?i;?--i?)
??{
????if?(?v4?==?16?)
??????v4?=?0;
????v6?=?*v2++;
????*v3++?= key[v4++]?^ v6;????????????// key:89 EF 37 A2 01 55 C9 80? 7F 69 83 14 2D 45 6B 03
??}
}
加密文件
在start函数中,通过GetLogicalDrives函数获取最大可用磁盘设备号,从A盘开始到最大可用磁盘设备号进行遍历,遍历分区下所有目录和文件,并将目标文件类型加密。
被加密的文件格式都有哪些?
在sub_4013A8函数中,我们可以看到待加密文件的文件类型有:*.zip、.rar、.7z 、.tar、.gzip、. jpg、.jpeg、.psd 、.cdr、.dwg、.m ax、.bmp、.gif.* .png、.doc、.doc x、.xls、.xlsx、.ppt、.pptx、.tx t、.pdf、.djvu.* .htm、.html、.md b、.cer、.p12、. pfx、.kwm、.pwm. .1cd、.md、.mdf 、.dbf、.odt、.v ob、.ifo、.lnk. .torrent、.mov、 .m2v、.3gp、.mpe g、.mpg、.flv、. avi、.mp4、.wmv、.divx、.mkv、.m p3、.wav、.flac、.ape、.wma、.ac 3、.exe、.iso、. dll,以及.html。

被加密文件的数据配置信息中指定的文件加密大小
指定的加密大小是nNumberOfBytesToRead (0x1B03E4),也就是默认加密的最大长度为1770468个字节。此外,加密的位置是从第48字节以后开始的。
运行被加密文件时弹出勒索提示框的
通过在注册表“HKEY_CLASSES_ROOT”根下添加一个键“.lUUUUUUUUU”,此后所有以该键为文件后缀的文件启动后,会运行依据HKCR\AOUIJJJBNYUXWCN\shell\open\command(Default)下设置的程序。
HKEY_CLASSES_ROOT控制键包括了所有文件扩展和所有和执行文件相关的文件。它同样也决定了当一个文件被双击时起反应的相关应用程序。

相关代码位于函数sub_402342。
文件加密算法&加密文件的密钥的产生
加密文件使用的tea加密密钥是根据一组固定密钥根据文件名末尾地址进行4轮循环异或生成新密钥。
对文件进行加密使用到的加密算法有两种,根据配置文件来决定使用哪一种算法进行加密:
1.tea加密,算法位置在函数sub_4017EC,tea解密算法在函数sub_4018B0;
unsigned?__int32?__stdcall?tea_decryph(unsigned?int?*a1,?unsigned?__int32?*a2)
{
??v2?=?0x9E3779B9?*?dword_4065A5;
??x?=?_byteswap_ulong(*a1);
??y?=?_byteswap_ulong(a1[1]);
??do
??{
????v5?=?y?-?((dword_406591?+?(x?>>?5))?^?(v2?+?x)?^?(dword_40658D?+?16?*?x));
????v6?=?x?-?((dword_406589?+?(v5?>>?5))?^?(v2?+?v5)?^?(newKey?+?16?*?v5));
????v7?=?v2?+?0x61C88647;
????y?=?v5?-?((dword_406591?+?(v6?>>?5))?^?(v7?+?v6)?^?(dword_40658D?+?16?*?v6));
????x?=?v6?-?((dword_406589?+?(y?>>?5))?^?(v7?+?y)?^?(newKey?+?16?*?y));
????v2?=?v7?+?0x61C88647;
??}
??while?(?v2?);
??result?=?_byteswap_ulong(x);
??*a2?=?result;
??a2[1]?=?_byteswap_ulong(y);
??return?result
2.函数sub_401748,使用一组16位密钥进行异或加密。 

样本的勒索逻辑是否严密,被加密文件是否能够解密?解密思路?
该勒索病毒的勒索逻辑并不严密,能够轻易解密。加密后解密密钥被保存在样本数据段中,加密算法也并不复杂,可以写脚本直接反解被加密的文件。由于解密算法也在样本中,所以可以修改代码逻辑去主动执行解密程序。比如,可以修改sub_401AB9函数中的代码逻辑,将输入的密码计算得到的密钥改成保存的正确密钥。
前者思路太麻烦了,这里提供第二种解密思路:将下图画圈处硬编码地址改为0x406DC9即可,也是最简单的修复方法。
运行后成功执行解密程序,所有被加密的文件均被解密还原。
end
招新小广告
ChaMd5?Venom?招收大佬入圈
新成立组IOT+工控+样本分析?长期招新
欢迎联系admin@chamd5.org

关注公众号:拾黑(shiheibook)了解更多
[广告]赞助链接:
四季很好,只要有你,文娱排行榜:https://www.yaopaiming.com/
让资讯触达的更精准有趣:https://www.0xu.cn/
关注网络尖刀微信公众号随时掌握互联网精彩
- 1 总书记带领我们“办好自己的事” 7904522
- 2 再次提醒:中国公民近期避免前往日本 7808720
- 3 联合国厕所不再提供擦手纸 7712952
- 4 近15万亿新增贷款去哪了 7615962
- 5 蜜雪冰城开始卖早餐了 7519817
- 6 女子毕业24年起诉母校多收4千元学费 7428899
- 7 网警:男子AI生成车展低俗视频被拘 7328927
- 8 东北阿姨1984年买的黄金一克47元 7233210
- 9 华为重夺中国手机市场份额第一 7137496
- 10 立冬以来最大规模雨雪上线 7041208






![宋伊人 七夕快乐哇[憧憬] ](https://imgs.knowsafe.com:8087/img/aideep/2025/9/19/924482e15365961061a281b54248accd.jpg?w=250)
Chamd5安全团队
