CSE CybSec ZLAB Malware Analysis Report: Petya

Pierluigi Paganini September 23, 2017

I’m proud to share with you the second report produced by Z-Lab, the Malware Lab launched by the company CSE CybSec. Enjoy the Analysis Report Petya.

CybSec Enterprise recently launched a malware Lab called it Z-Lab, that is composed of a group of skilled researchers and lead by Eng. Antonio Pirozzi.

It’s a pleasure for me to share with you the second analysis that we have recently conducted on the Petya Ransomware.

We have dissected the ransomware and discovered interesting details that are included in our report.

Below the abstract from the analysis, the detailed report is available for free on our website.


In a modern environment, where data stored in computers play a fundamental role in the private and work routine, we must consider the problem of the risk of losing these data. In fact, the ever-increasing threat, that is spreading, is Ransomware. In the last 15 years, malware writers have realized that they may have anyone in their hand with his data.

Figure 1: Characteristic Petya Skull with the corresponding UI containing the payment ransom instructions.

In this context, we studied a well-known ransomware that has particularly hit the public, Petya. Petya first appeared in March 2016 affecting Windows systems propagating with e-mail attachments or Dropbox links. Unlike a classic ransomware that encrypts only files containing data (i.e. doc, pdf, xls, txt, jpg, and png… files) without tampering the OS. Petya works differently because it creeps in the Windows bootloader and enciphers the MFT (Master File Table) making the files inaccessible.

Thus, we created a strategy for analyse this ransomware divided into three macro-phases.

In the first phase, we have a look of the malware executable global view. We extracted from the binary some strings, among which “http://petya5koahtsf7sv[dot]onion/” and “http://petya37h5tbhyvki[dot]onion/”, referring the established Onion site (only reachable with TOR network) for the payment of the ransom. Other strings are related to the function names, and are used to retrieve, at runtime, the correspondent handle of the specific function that uses the API call to the “GetProcAddress()” routine. This is a technique widely used by malware writers, and it is named Runtime Linking.

In the behavior analysis phase, we discovered that the malware:

  • gains the access to the disk in order to overwrite the original MBR
  • enciphers the original MBR and moves it in another disk sector
  • writes after the Petya Bootloader its own kernel
  • reboots the system using an undocumented API call “NtRaiseHardError()
  • shows a fake CHKDSK routine that actually crypts the MFT
  • displays the characteristic Petya interfaces

In the last phase, we focused on the reverse engineering of the Petya kernel. We analysed the code written on the disk deriving the control flow and the structures of the kernel, which contains:

  • routine for data encryption based on Salsa20 algorithm
  • routine for the validation of the key supplied by the Petya writers after the payment of the ransom
  • routine of MFT decryption and its restore
  • routine of MBR restore


Figure 2: Detail of Petya kernel

You can download the full ZLAB Malware Analysis Report at the following URL:


If you are intersted also into the first analysis conducted on NotPetya download the report at the following Link:

CSE CybSec ZLAB Malware Analysis Report: NotPetya

About the author: Antonio Pirozzi

Principal Malware Scientist and Senior Threat Researcher for CSE CybSec Enterprise spa

Actually, he holds more than 10 Infosec International Certification, from SANS, EC-Council and Department of Homeland Security.
His experience goes beyond the classical Computer Security landscape, he worked on numerous projects on GSM Security, Critical Infrastructure Security,  Blockchain Malware, composition malware, malware evasion.



[adrotate banner=”9″]

Pierluigi Paganini

(Security Affairs – Petya, malware)

[adrotate banner=”12″]

you might also like

leave a comment