Cryzip Ransomware Trojan Analysis
- URL: http://www.secureworks.com/research/threats/cryzip
- Date: March 11, 2006
- Author: Joe Stewart
Summary
In May 2005, a trojan called PGPcoder was discovered in the wild by Websense Security Labs. The trojan's purpose was to encrypt a user's files, then demand a ransom for their decryption. Although this scheme seemed novel, it is actually predated by over 15 years, by a similar scam in 1989. SecureWorks' research team has now discovered a third such scheme involving ransomware which we are calling Cryzip.
Unlike PGPcoder, which used a custom encryption scheme (which was subsequently reverse-engineered by SecureWorks)Cryzip uses a commercial zip library in order to store files inside a password-protected zip. Although the zip encryption is stronger, a brute-force attack is still possible on the files, especially if one has a copy of the original file inside the zip.
File Details
Filename: vcmauth.dllFilesize: 1,191,936 bytes
MD5: 86a48836bced8c4a0b59fca972800890
SHA1: 0b3a49b3172fc65db607fcb1b8029820ec11c5b6
Packer: none
Compiler: Visual C++ 6.0
Compile Date: Thu Mar 2 18:11:02 2006
CME Number: none assigned
Identifying Strings:
- zippo.dll
- ZippoCrypt
- _zippo_crypter_v1.0_
Analysis
When run, Cryzip searches the C: drive (except for files in directories named "system" or "system32") for files which it will zip, overwrite with the text "Erased by Zippo! GO OUT!!!", and then delete, leaving only the encrypted zip file with the name original-file-name_CRYPT_.ZIP, where original-file-name is the original file name complete with the file extension.
Cryzip searches for and zips files with the following extensions:
- .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
- .pgp
- .pwl
- .pwm
- .rar
- .rtf
- .safe
- .tar
- .txt
- .xls
- .xml
- .zip
After it has finished processing a directory, Cryzip leaves a text file in the directory named AUTO_ZIP_REPORT.TXT, which contains the following text:
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.
------------------------------
How to pay to get your information back.
1. click on this link to open your free e-gold account - the first
screen is the e-gold "terms and conditions" page. You need to
agree to these by clicking on the "I AGREE" button on the bottom
on the page.
2. On the next page is the sign up form:
1. "Account name" - here is where you name your account - tip:
make it easy to remember (as you will be asked for it) and
reasonably short, example, "John's e-gold", "My Money e-gold"
or perhaps "Felix" (whatever you like, just make it easy for
you to remember it).
2. "User Name" - here just repeat the account name (from 1 above).
3. "Point of Contact" - this is where you put our name, address,
phone number and email address (any email address can be used
here but it is recommended you use your ISP address - not a
free hotmail, etc address).
It is also recommended your also include a fax number
(don't have a fax number? This company offers free fax to email
services). Try and make it as easy as possible for e-gold to contact
you.
4. "Passphrase" - this is the most important piece of information
connected to any e-gold account. We can not stress enough how
important it is that your passphrase is kept safe and secure.
5. "Turing Number Entry" - type the 6 numbers you see there into the
input
box below.
6. The last step click "Open"
On the next page it will tell you that your e-gold account number has been
emailed to you.
check your email - you can expect to wait up to 5 minutes for your account
number
to arrive. If it does not arrive after 5 minutes then that means the email
address
you supplied was incorrect and you will have to open another new account (go
through
and repeat what you just did above again).
To buy e-gold to your account please use official exchange services
http://www.me-gold.com/
http://www.goldex.net/
http://usece.com/
or try to search own way with
http://gold-pages.net/e-Gold__1MDC__Pecunix_Wizard_Links/Purchase_E-gold/index.html
http://www.google.com/search?hl=en&q=buy+e-gold&btnG=Google+Search
FINALLY when you bought e-gold you have to transfer $300 to our e-gold
account.
In next 24 hours you will recieve $1 back to your account. Transfer details
of this $1 transfer will have a link to software that will automatically
unzip all your files back to normal state.
Next day login to your account https://www.e-gold.com/acct/login.html,
press History and press submit, you will see LINK TO UNZIP-software.
##########################################################################
Remember you are just $300 away from your files
##########################################################################
At the top of the AUTO_ZIP_REPORT.TXT file, the number of an E-Gold account is inserted. This number is picked at random from a list embedded in the DLL. By operating many accounts simultaneously, the trojan author is betting that even if E-Gold shuts down some of the accounts, he/she will still receive payment on some of the others. The complete list of E-Gold accounts is:
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 |
The text of the AUTO_ZIP_REPORT.TXT file is encrypted inside the Cryzip DLL, using simple XOR (0x13) encoding. The password used to zip the files is also embedded inside the DLL but it is not encrypted - instead, the author decided to hide the password in plain sight, so to speak. The password is:
- C:\Program Files\Microsoft Visual Studio\VC98
Because this string often appears inside projects compiled with Visual C++ 6, the author likely figured anyone who found the infecting DLL and examined its strings looking for the password would simply overlook it.
Conclusion
At this time the infection vector is unknown. Infection reports are not widespread, so it is not believed this is a mass threat by any means. Malware of this nature is actually more successful when it is delivered in low volumes, as it is less likely that anti-virus vendors will have detection for it, and more attention means the likely closing of the accounts used for the anonymous money transfer. As such, most users will probably not have to worry about this threat - keep in mind however that the two incidents in the last 10 months indicate the possible start of a trend of this type of malware, and future incidents may affect a wider swath of users. However, in most cases, simply having and using proper backup software would mitigate the risk from ransomware.
Update - March 22, 2006:
The infection vector has been established to be recent Bagle virus runs. Starting in February and into March, a group of Bagle variants was seen which do not resemble other modern Bagles. Based on our research, we have determined that the author of Cryzip took the circa-2004 source code of Bagle, and adapted it to his/her own purposes. Part of the variants were used to spread a variant of Sality, among other files, downloaded primarily from invis1lblearm3333.com. The other variants directly downloaded an executable which installs Cryzip on the system, downloaded primarily from egozda.com. The author uses a specific User-Agent string in the download requests which is checked by the script serving the executable - therefore attempts to manually download the Cryzip dropper were unsuccessful unless the requestor used the proper User-Agent.
Further evidence in the binaries indicates that Cryzip and Sality are probably written by the same individual. In one example of this, the same psuedo-random number generator (PRNG) code was used in both Cryzip and Sality. The PRNG was apparently cribbed from the Mydoom source code, which would put it in wider use than just Cryzip and Sality - however, both Cryzip and Sality have minor variations in the binary code of the PRNG caused by a certain non-default compiler optimization setting which is uncommon even in Mydoom or Mytob variants which use the same PRNG. Based on other code similarities and the fact both were spread by open-source Bagle variants around the same time which were packed with the same unique executable packer, gives strong credence to the idea that they share the same author.
Update - May 22, 2006:
A second Cryzip variant has been released. This time, instead of storing the password in the trojan, the author uses a list of passwords which are served by a PHP script on a remote site. The trojan downloads the password dynamically and uses it to encrypt the files. Currently the website which served the passwords during the initial infection phase simply redirects to a porn site.
Due to the ephemeral nature of the password retrieval, users who are infected with this variant of Cryzip will probably not be able to find the password. If they do not wish to pay the ransom, the only other option is to brute-force the password. This is unlikely to work unless the user has a backup copy of one of the files inside one of the password-protected zip files. If so, it may be possible to do a "known plain-text" attack against the zip encryption for that file, using a tool such as Elcomsoft's Advanced ZIP Password Recovery tool. Note that this tool is commercial software, and costs $30 for a Personal license, and $60 for a Business license.
If a user does not have an original copy of one of the files inside the zips, it is unlikely they will be able to break the password encryption unless a) they pay the ransom or b) the trojan author is arrested and forced to divulge the passwords. While the latter option is not very likely, affected users are still encouraged to report the crime so that the authorities may be more likely to open a case.
You can report Internet crime online at http://www.ic3.gov/