# Prometheus Ransomware Decryptor **[medium.com/cycraft/prometheus-decryptor-6933e7bac1ea](https://medium.com/cycraft/prometheus-decryptor-6933e7bac1ea)** CyCraft Technology Corp September 16, 2021 [CyCraft Technology Corp](https://medium.com/@cycrafttechnology?source=post_page-----6933e7bac1ea--------------------------------) Jul 13, 2021 8 min read This year, CyCraft has been involved in several cases of Prometheus attacks. Naturally, we attempted to reverse-engineer Prometheus to gain a better understanding of the attack itself, the malware, and the attacker. We discovered that it was possible to recover our customers’ encrypted files to some degree. We are sharing this internally developed tool to help other victims recover. **Visit Our GitHub |** [https://github.com/cycraft-corp/Prometheus-Decryptor](https://github.com/cycraft-corp/Prometheus-Decryptor) **Direct Download |** https://github.com/cycraft-corp/PrometheusDecryptor/releases/download/1.2/prometheus_decryptor.zip ## Quick How-to Guide ----- We provided a GUI version for windows users. All features are supported in the GUI version. If your programming skills aren’t developed to a mature level, please follow the steps below to decrypt your files: 1. Choose a file or folder to decrypt. 2. Choose the output file name or output folder. 3. Select “Use thread” and fill in 2–4 for PC. (Threads usually make the decryption routine faster, but it actually depends on the number of your CPU cores) 4. Click decrypt. 5. There is a counter, which shows the current guessing tickcount. 6. The decrypting result will show in the text block below. (There may be multiple possible keys, so the decryption routine will continue to decrypt to find more possible keys. You can press “Next one” to skip the current file.) ## Brief History on Prometheus The emerging ransomware group Prometheus made headlines last month with Unit42’s report. According to the report, which had observed Prometheus for 4 months, victims of the emerging ransomware group total more than 30 in multiple different countries, including the ----- United States, the UK, and a dozen more countries in Asia, Europe, the Middle East, and South America. Organizations targeted for attack by Prometheus included government agencies, financial services, manufacturing, logistics, agriculture, healthcare services, insurance agencies, energy, consulting, law firms, and more. Although Prometheus claimed to be affiliated with REvil (the Russia-based ransomware group attributed to the attack on global meat supplier JBS that succeeded in acquiring an 11 million USD ransom, Prometheus’s code and behavior are more similar to Thanos. ## Brief History on Thanos — The Possible Predecessor of Prometheus First observed in 2020, Thanos gained notoriety for its 43 different configuration options as well as being the first ransomware to utilize the evasion technique know as RIPlace. RIPlace was introduced via a POC exploit in November 2019. Initially, RIPlace could bypass several ransomware defense mechanisms, including AV and certain EDR solutions. It wasn’t until a few months later that RIPlace was seen in the wild. Like other ransomware on the ransomware-as-a-service (RaaS) market, Thanos ransomware does appear to have code overlaps with other ransomware, notably Hakbit; however, just like other ransomware, Thanos does come with customization options and appears to still be under active development. ## Usage Build ``` make win32 # windows 32 bitsmake win64 # windows 64 bitsmake linux # linuxmake win32GUI # windows 32 bits GUI (built on windows)make win64GUI # windows 64 bits GUI (build on windows) Command Arguments Usage of ./bin/prometheus_decrypt: -b string Custom search with byte value. (i.e. \xde\xad\xbe\xef -> deadbeef) Please use ?? to match any byte (i.e. de?? beef) -c Use current tickcount. (only support in Windows) -e string Search file extension. -f int Found candidate. (default 1) -i string Input encrypted file. -k string Decrypt with this key. -m int Move backward m minutes from the current decrypted seed when guessing the next sample. (default 30) -o string Output decrypted file. -p int Use n thread. (default 1) -r Reversed tickcount. -s string Custom search with regular expression. -t int Start tickcount. Brute Force Random Seed ``` ----- Brute force the random seed of a png image from tickcount 0. ``` ./prometheus_decrypt -i ./sample/CyCraft.png.PROM\[prometheushelp@mail.ch\] -o ./output/CyCraft.png -e png -p 16 ``` In this command, there are 4 arguments: i: input encrypted file o: output file e: search file format p: thread count ## Reversed Tickcount Brute force the random seed of a png image from tickcount 100000 in reversed order. ``` ./prometheus_decrypt -i ./sample/CyCraft.png.PROM\[prometheushelp@mail.ch\] -o ./output/CyCraft.png -e png -p 16 -t 100000 -r ``` There are 2 additional arguments: t: start from 100000 r: reversed order (100000…0) ## Brute force from current tickcount (only for Windows) Brute force the random seed of a png image from the current tickcount in reversed order. This feature is usually used in reversed order. ``` ./prometheus_decrypt -i ./sample/CyCraft.png.PROM\[prometheushelp@mail.ch\] -o ./output/CyCraft.png -e png -p 16 -c -r ``` There is an additional argument: c: start from the current tickcount ## Decrypt (Encrypt) with a key Decrypt (Encrypt) a file with a provided key. ``` ./prometheus_decrypt -i ./sample/CyCraft.png.PROM\[prometheushelp@mail.ch\] -o ./output/CyCraft.png -k "+@[%T-mZSh+E[^^i{W:dpwnhdL4