Cryzip勒索型特洛伊程序的简单分析
来源:中国安全信息网 更新时间:2012-04-13
               

2005年5月,Websense Security实验市发现了一个被命名为PGPcoder的特洛伊木马程序。这个木马程序企图加密用户的文件,然后向受害者勒索解密费用。虽然这个手法看起来很新鲜,事实上早在15年以前,也就是1989年就有一个类似的事件。包括勒索类软件在内,LURHQ的Threat Intelligence Group到目前为止已经发现了第3起类似事件,并把该软件命名为Cryzip。

和使用普通加密手法的PGPcoder不同(LURHQ曾将PGPcoder通过逆向工程分析),Cryzip使用的则是商业压缩库,目的是将文件存储在一个密码保护模式下的zip压缩包中。

虽然zip加密比较强大,但是暴力破解仍然是可能的,尤其对压缩包内含有一份原文件副本的zip。

文件细节

文件名:vcmauth.dll 
文件大小:1,191,936 字节
MD5校检:86a48836bced8c4a0b59fca972800890 
SHA1校检:0b3a49b3172fc65db607fcb1b8029820ec11c5b6[2]
壳:无
编译器:Visual C++ 6.0 
编译日期:Thu Mar 2 18:11:02 2006 
CME号:无 
验证字符串: 
zippo.dll 
ZippoCrypt 
_zippo_crypter_v1.0_

分析

运行后,Cryzip会搜寻C盘(system或system32目录下的文件除外),以便寻找它要压缩的文件。用内容“Erased by Zippo! GO OUT!!!”覆盖这些文件,然后将它们删除,仅仅在原目录下留下一个名为“原文件名_CRYPT_.ZIP”的压缩包,“原文件名”就是被它压缩后删除的文件名,连同扩展名一起。

Cryzip会寻找并加密如下扩展名的文件:

.arh .asm .arj .bas .cdr .cgi .chm .cpp .db1 .db2 
.dbf .dbt .dbx .doc .dpr .dsw .frm .frt .frx .gtd 
.gzip .jpg .key .kwm .lst .man .mdb .mmf .old .p12 
.pas .pak .pdf .pgp .pwl .pwm .rar .rtf .safe .tar 
.txt .xls .xml .zip

当完成一个目录的搜寻和破坏之后,Cryzip会在该目录下留下一个名为AUTO_ZIP_REPORT的TXT文件,其中包含如下的内容:

OUR E-GOLD ACCOUNT: XXXXXXX

INSTRUCTIONS HOW TO GET YUOR FILES BACK
READ CAREFULLY. IF YOU DO NOT UNDERSTAND, READ AGAIN.

This is automated report generated by auto archiving software.

Your computer catched our software while browsing illigal porn
pages, all your documents, text files, databases was archived
with long enought password.

You can not guess the password for your archived files - password
lenght is more then 10 symbols that makes all password recovery
programs fail to bruteforce it (guess password by trying all
possible combinations).

Do not try to search for a program what encrypted your information - it
is simply do not exists in your hard disk anymore.
If you really care about documents and information in encrypted files
you can pay using electonic currency $300.
Reporting to police about a case will not help you, they do not know
password. Reporting somewhere about our e-gold account will not help
you to restore files. This is your only way to get yours files back.

上文大意是:

我们的E-Gold银行帐号是:XXXXXXXXXXXX

关于如何取回您被加密的文件

认真阅读。如果你没看明白就再看一遍。

这些自动生成的文件是由自动存档软件完成的。

你在看非法色情站点的时候计算机感染了我写的病毒,你硬盘上所有的文档、文本文件还有数据库资源等都让我用足够安全的密码给你保存上了。

你甭想猜出来这些加密文件的密码,密码长度在10字符以上,足够让世面上所有的密码暴力破解(就是硬猜)软件都对它没辙。

另外,你也不用搜索什么相关的加密程序了,它只在你的计算机上存在,为你特别定做的。

如果想要这些被俺加密了的文档呀信息呀啥的,那就支付300美金。

报警是没有用滴,他们根本不知道密码。把我的E-Gold银行帐号公布了也不能帮你找回文件。付钱是找回你宝贝资料的唯一的方法。

(部分不重要的文字就不翻译了)

在AUTO_ZIP_REPORT.TXT文件的最顶端,E-Gold帐号的数字是随机插入的。这个数字是从其内嵌的DLL文件中随即挑选的。通过同时开很多帐号,木马的制作者才能保证其中某一E-Gold帐号被关闭,他仍然能够从其他的帐号中拿到钱,所有的帐号如下:

2934363 2917501 2917505 2917510 2934369 2934376 2934380 2934382 2934383 2934389
2934392 2934394 2934396 2934404 2934409 2934419 2934421 2934425 2934427 2897227
2934430 2897191 2897193 2934435 2897209 2897212 2934441 2897232 2934446 2934448 
2897243 2897258 2934452 2897021 2917497 2934354 2934356 2917500 2897263 2934455 
2934459 2934466 2934469 2934477 2934491 2934501 2934506 2934510 2934515 2934474 

2934782 2934788 2934799 2934806 2934814 2934816 2934820 2934825 2934829 2934832 
2934837 2934841 2934849 2934853 2934860 2934862 2934866 2934872 2934869 2934885 
2934880 2934891 2934895 2934898 2934903 2934925 2934929 2934938 2934948 2934953 
2934956 2934964 2934480 2934487 2934775 2934802 2934811 2934864 2935277 2935274 
2935268 2935264 2935260 2935252 2935244 2935235 2935232 2935229 2935223

AUTO_ZIP_REPORT.TXT的内容是通过简单的异或(0x13)加密[3]后保存在Cryzip的DLL文件里的。用来加密zip文件的密码也是嵌入保存在DLL文件中的,但是它并没有被加密,木马程序的作者是想通过视觉手段来迷惑找密码的人。密码是这个:

C:\Program Files\Microsoft Visual Studio\VC98

因为这个字符串经常出现在通过Visual C++ 6编译的项目中,所以作者使用这种相似的字符串来做密码,企图让那些发现了这个程序的DLL文件并通过逆向工程寻找密码的人忽略这个字符串。

结论

到目前为止我们还无法确定有多少用户被感染。感染报告的数量并不多,所以我们基本可以确定它不是为了大规模传播了制作的。如果通过低调的手法传播,类似这样敲诈的事实上是比较成功的。同时反病毒软件制作商似乎还没有专门为检查这类软件而更新,而这些用于敲诈和匿名转帐的帐户似乎在逐渐关闭。

如此,大多数用户很可能不需要为这种勒索担心。但是大家应该关注到,过去的10个月发生的这两起事件,很可能仅仅是一种有害软件趋势的开始,今后发生的事件将影响更多的用户。然而,在大多数情况下,少量的放置和简单的进行一下备份,可以很大程度的避免和减轻勒索软件造成的损失