Demystifying the Playboy RaaS
Gijs Rijnders (Malware Reverse Engineer · Dutch National Police)
Virus Bulletin Conference 2025 (VB2025) · Day 1 · Green room
Overview
In this insightful presentation at Virus Bulletin, Gijs Rijnders, a Malware Reverse Engineer with the Dutch National Police, meticulously dissects the inner workings of an elusive Ransomware-as-a-Service (RaaS) operation dubbed "Playboy." The talk provides an unprecedented look into a seized RaaS builder infrastructure, offering a rare glimpse into the tools and methodologies employed by ransomware affiliates to generate bespoke encryptor samples. Rijnders' research, born from a collaborative law enforcement effort, highlights the critical role of reverse engineering in combating the pervasive threat of ransomware.

Key moments
- 0:00 Introduction and Dutch Police's role
- 4:00 Discovery and seizure of RaaS infrastructure
- 5:30 Playboy RaaS key generation and builder workflow
- 11:00 Ransomware's advanced anti-debugging techniques
- 13:30 Asynchronous I/O and ECIS encryption scheme
- 18:30 Architectural differences hint at ransomware origins
- 20:00 Attribution: Linking Playboy RaaS to Babuk and Logbit
- 23:30 Call for security researchers' collaboration
Demystifying the Playboy RaaS
Speakers: Gijs Rijnders (Malware Reverse Engineer, Dutch National Police)
Conference: Virus Bulletin
YouTube: https://www.youtube.com/watch?v=jWMStL7wFN8
Overview
In this insightful presentation at Virus Bulletin, Gijs Rijnders, a Malware Reverse Engineer with the Dutch National Police, meticulously dissects the inner workings of an elusive Ransomware-as-a-Service (RaaS) operation dubbed "Playboy." The talk provides an unprecedented look into a seized RaaS builder infrastructure, offering a rare glimpse into the tools and methodologies employed by ransomware affiliates to generate bespoke encryptor samples. Rijnders' research, born from a collaborative law enforcement effort, highlights the critical role of reverse engineering in combating the pervasive threat of ransomware.
The investigation into Playboy RaaS is particularly significant given the global impact of ransomware and the Dutch National Police's active role in disruptive operations and initiatives like No More Ransom. By sharing detailed technical analysis of the builder components, anti-debugging techniques, encryption schemes, and architectural variations, Rijnders not only demystifies a specific RaaS but also provides invaluable intelligence for the broader cybersecurity community. This deep dive empowers defenders with actionable insights to better understand, detect, and potentially counter similar sophisticated ransomware threats.
The talk underscores the persistent challenge ransomware poses to organizations worldwide, including law enforcement agencies themselves. Rijnders' work directly contributes to the collective effort to reduce the profitability of ransomware groups by exposing their operational toolkits and identifying potential weaknesses. The detailed technical breakdown serves as a crucial resource for incident responders, threat intelligence analysts, and security researchers seeking to enhance their understanding of modern ransomware development and deployment.
Background
▶ Watch: Introduction and Dutch Police's role (0:00)
Ransomware remains a top-tier cyber threat, imposing significant financial and operational burdens on organizations globally. The Dutch National Police, as a key player in international cybercrime enforcement, actively combats ransomware through various initiatives. These include high-profile operations like Operation Kronos, which targeted LockBit, and Operation Endgame, aimed at disrupting multiple ransomware groups and their supply chain partners, such as TrickBot. A cornerstone of their strategy is the No More Ransom initiative, a collaborative effort with Europol and cybersecurity companies worldwide, focused on providing free decryption tools to victims whenever cryptographic weaknesses are identified in ransomware implementations. Rijnders himself has contributed several decryptors to this platform.
The investigation into the Playboy RaaS began when the Dutch National Police received actionable intelligence from a third-party cybersecurity company. This intelligence indicated the presence of a Virtual Private Server (VPS) infrastructure hosted in the Netherlands, assessed with high confidence to contain tools for a Ransomware-as-a-Service operation. Specifically, this infrastructure was believed to be used for building new ransomware samples for affiliates. Upon receiving this information, forensic investigators, working in conjunction with Rijnders' threat intelligence team, seized the infrastructure. The seized assets revealed a comprehensive toolkit, including a ransomware builder, a key generator, and various encryptors tailored for different architectures and operating systems, prompting a detailed reverse engineering effort by Rijnders and his team.
Key Findings
▶ Watch: Playboy RaaS key generation and builder workflow (5:30)
The primary discovery from the seized infrastructure was a complete Ransomware-as-a-Service (RaaS) builder kit, demonstrating a sophisticated modular approach to ransomware deployment. This kit allowed ransomware operators to generate customized encryptor samples for their affiliates, pre-configured with specific behaviors and encryption keys. The core components of this RaaS operation were identified as:
- Key Generator: A utility designed to securely generate new elliptic curve public and private key pairs for each ransomware campaign or even per victim/affiliate.
- Key Replacer: A tool responsible for injecting these newly generated keys into template ransomware binaries, customizing them for deployment.
- Builder Tool: A central application that took a
config.jsonfile as input, allowing operators to configure various behavioral options for the Windows encryptor and embed them into the final sample.
Crucially, the investigation revealed that the Playboy RaaS offered encryptors for multiple operating systems and architectures, including Windows, NAS (Network Attached Storage), and ESXi hypervisors. However, a significant finding was the observed divergence in the technical implementations across these different encryptors. While the Windows encryptor appeared to be a distinct, potentially custom-developed piece of malware, the Linux (NAS) and ESXi encryptors exhibited strong indicators of being derived from existing, known ransomware families, specifically Babuk. This suggested a "Frankenstein" approach, where different components or codebases were assembled to create a comprehensive RaaS offering. The use of specific, less common ciphers like Soosemanuk in the ESXi variant and ChaCha in the Linux variant, alongside unique footer markers and checksum variations, provided critical clues for attribution.
Technical Deep Dive
▶ Watch: Asynchronous I/O and ECIS encryption scheme (13:30)
The Playboy RaaS builder kit followed a precise three-step workflow to generate customized ransomware samples:
1. Key Generation:
The process began with a key generator utility. This simple tool's sole purpose was to create a new pair of public and private keys. The analysis revealed that it utilized the Curve25519 elliptic curve algorithm. Rijnders identified this by observing the characteristic secret key trimming – specifically, the modification of the first and last bytes of the generated key, a requirement for the Curve25519 algorithm. The utility employed big integer logic for the computation of the public key from the private key. Once generated, these keys were saved to disk as public.bin and private.bin.
2. Key Replacement:
Following key generation, the key replacer utility was executed. This tool's function was to embed the newly created public or private keys directly into the ransomware template binaries. It operated by searching for a specific string marker, "curve pattern," within the target encryptor files (Windows, NAS, ESXi). Upon locating this pattern, it would overwrite a 16-byte section with the appropriate key, effectively customizing the ransomware sample with its unique cryptographic identity. This simple yet effective method allowed for rapid customization of pre-compiled binaries.
3. Builder Tool and Configuration:
The final step in the builder process involved the builder tool, which specifically targeted Windows executables. This tool took a config.json file as input. This JSON file contained a multitude of options allowing affiliates to customize the ransomware's behavior. Notable options included a "running one" flag, which, though optional in this implementation, is crucial for preventing file corruption by ensuring only a single instance of the ransomware runs. The builder tool would then ingest these configuration options and embed them directly into the resources section of the Windows encryptor binary. This method provided a robust and reliable way for the encryptor to retrieve its operational parameters at runtime.
Windows Encryptor - Anti-Debugging Techniques:
The Windows encryptor was the most extensively analyzed component due to its complexity. It incorporated several anti-debugging measures:
- Basic API Checks: It used standard Windows API calls like
IsDebuggerPresentandIsRemoteDebuggerPresent. - Process Environment Block (PEB) Inspection: A more advanced technique involved calling
NtQueryInformationProcessto retrieve a pointer to the Process Environment Block (PEB). At offset0x188within the PEB on 64-bit systems, theNtGlobalFlagis located. Specific bits within this flag are set when a debugger is attached, which the encryptor actively checked. - Hardware Breakpoint Detection: The encryptor further called
NtQueryInformationProcessfor the main thread and thenGetThreadContextto access the CPU context. This context includes the debug registers, which store information about any hardware breakpoints set by a debugger. If any debug registers were found to be active, indicating a debugger, the ransomware would alter its execution path.
Windows Encryptor - File I/O and Encryption Scheme:
The Windows encryptor employed an efficient asynchronous I/O mechanism using I/O Completion Ports. Unlike synchronous I/O, where threads wait for each operation to complete, asynchronous I/O allows threads to continue processing while I/O operations are pending. The ransomware would enumerate files, and for each file slated for encryption, it would use PostQueuedCompletionStatus to push a message to an I/O completion queue. A separate thread pool would then pull messages from this queue, performing the actual encryption. This significantly improves performance by maximizing CPU utilization and minimizing thread idle time, a common characteristic of fast modern ransomware.
The encryption process itself involved reading files in **1MB blocks (1,024 * 1,024 bytes). The core encryption algorithm was the HC-128 stream cipher, which was less common but a recognized algorithm. The overall cryptographic scheme used was ECIES (Elliptic Curve Integrated Encryption Scheme). For each file, a unique public and private key pair was generated. Elliptic Curve Diffie-Hellman (ECDH) was used to derive a shared secret key, which was then passed through a SHA-256 hash function** to generate the final symmetric key for HC-128. This robust scheme ensures that each file is encrypted with a unique, securely derived symmetric key.
Windows Encryptor - Footer Details:
Every encrypted file contained a footer, a common ransomware practice to store information necessary for decryption. The Windows encryptor's footer included:
- The encryption key in an encrypted form.
- A CRC32 checksum (with a peculiar initial value of "dong") used to validate the integrity of the encrypted key.
- A unique 32-byte marker, "diffuse," serving as a signature to identify files encrypted by Playboy. The decryptor would check both the checksum and this marker before attempting decryption.
Architectural Differences and Attribution:
A critical part of the deep dive was comparing the different encryptor architectures:
- Linux Encryptor (NAS): This variant was significantly different from the Windows version. It used the ChaCha stream cipher instead of HC-128 and featured a completely different footer marker, lacking the CRC32 checksum found in the Windows variant.
- ESXi Encryptor: This encryptor also implemented the ECIES public-private key scheme but used a "native way" to generate random bytes. Most notably, it employed the Soosemanuk cipher, a less common stream cipher.
These divergences prompted Rijnders to conduct threat hunting using YARA rules and VirusTotal's retro-hunting feature. The ESXi encryptor's use of Soosemanuk, in particular, provided a strong link, as this cipher has been previously associated with Babuk ransomware. YARA rules created for the ESXi variant quickly returned matches for Babuk. Similarly, the Linux encryptor also showed links to Babuk, although some samples also contained elements of LockBit ransom notes. This suggested a potential scenario where a Babuk-derived encryptor was used to impersonate LockBit, leveraging the latter's notoriety. The Windows encryptor, however, did not yield any immediate matches to known ransomware families, suggesting it might be a more recent or custom development by the Playboy RaaS operators.
Demo / Proof of Concept
▶ Watch: Architectural differences hint at ransomware origins (18:30)
While the talk did not feature a live, interactive demonstration of the Playboy RaaS builder or its encryptors, Gijs Rijnders provided extensive visual proof throughout his presentation. This included numerous IDA Pro screenshots detailing the disassembled code for the key generator, key replacer, builder, and various encryptor components. These screenshots highlighted specific code patterns, API calls, cryptographic functions, and memory offsets discussed in the technical deep dive, effectively serving as a static proof-of-concept for the audience to follow the reverse engineering process and validate the technical findings. The detailed analysis of the config.json file and the structure of the encrypted file footers further illustrated the operational aspects of the RaaS.
Defensive Implications
▶ Watch: Call for security researchers' collaboration (23:30)
The detailed analysis of the Playboy RaaS offers several critical defensive implications for organizations and security professionals:
- Understanding RaaS Modularity: Defenders must recognize that RaaS operations are highly modular. The presence of a builder, key generator, and key replacer highlights the need for a multi-layered defense that can detect each stage of a ransomware attack, from initial compromise to payload deployment. Focusing solely on the final encryptor may miss earlier opportunities for detection and prevention.
- Anti-Debugging Awareness: The specific anti-debugging techniques employed by the Windows encryptor (PEB inspection,
NtGlobalFlagchecks, hardware breakpoint detection) demonstrate a level of sophistication. Security teams should be aware of these methods and train incident responders on how to bypass or detect them during malware analysis. Implementing robust endpoint detection and response (EDR) solutions that can identify these behaviors is crucial. - Asynchronous I/O Detection: The use of I/O Completion Ports for efficient asynchronous file encryption is a hallmark of modern, fast-executing ransomware. EDR and behavioral analysis tools should be tuned to detect rapid, high-volume file I/O operations, especially those involving encryption APIs, as a strong indicator of ransomware activity.
- Cryptographic Scheme Recognition: Familiarity with the specific cryptographic algorithms used (Curve25519, HC-128, ECIES, SHA-256, ChaCha, Soosemanuk) can aid in quick identification of ransomware families and potential attribution. Knowledge of these schemes is also vital for any future efforts to develop decryptors, should vulnerabilities be discovered.
- Attribution and Threat Intelligence: The finding that different architectural encryptors within the same RaaS operation may be borrowed from other ransomware families (e.g., Babuk, LockBit) underscores the importance of robust threat intelligence. Organizations should leverage YARA rules and platforms like VirusTotal to cross-reference indicators of compromise (IOCs) and TTPs against known malware families, enabling faster and more accurate attribution.
- Supply Chain Security: The seizure of the RaaS builder on a VPS in the Netherlands highlights the vulnerability of infrastructure used by cybercriminals. Law enforcement efforts to disrupt such infrastructure play a vital role. Organizations should contribute to threat intelligence sharing and report suspicious infrastructure to relevant authorities.
- Contribution to Decryptor Development: As emphasized by Rijnders, the cybersecurity community has a role in contributing to initiatives like No More Ransom. Finding and responsibly disclosing cryptographic weaknesses in ransomware can lead to the development of free decryptors, directly undermining the profitability of RaaS operations.
Key Takeaways
- The Playboy RaaS utilized a modular builder kit comprising a key generator, key replacer, and builder tool for Windows, NAS, and ESXi encryptors.
- The Windows encryptor employed advanced anti-debugging techniques, including PEB inspection (
NtGlobalFlagat offset0x188) and hardware breakpoint detection via debug registers. - Efficient file encryption was achieved through asynchronous I/O using I/O Completion Ports, processing files in 1MB blocks with the HC-128 stream cipher and ECIES for key management.
- Attribution efforts revealed that the ESXi and Linux encryptors likely leveraged code from Babuk ransomware, with the Linux variant potentially impersonating LockBit. The Windows encryptor's origin remains less clear.
- Defenders should prioritize detection of sophisticated anti-debugging, high-volume asynchronous file I/O, and leverage threat intelligence for attributing ransomware families and their code reuse patterns.
- Collaboration between law enforcement and cybersecurity researchers is crucial for disrupting RaaS operations and developing free decryptors, as advocated by the No More Ransom initiative.
About the Speaker(s)
Gijs Rijnders is a Malware Reverse Engineer and CTI Analyst with the Dutch National Police. He specializes in combating ransomware, an area he finds "a lot of fun to reverse engineer." His work involves building decryptors to help victims recover their files and assisting forensic investigators in disrupting botnets and other criminal infrastructure. Rijnders is part of a seven-person threat intelligence team focused on investigating cyber threats targeting the police organization itself. He has contributed multiple decryptors to the No More Ransom initiative, showcasing his commitment to reducing the profits of ransomware groups and aiding victims. His expertise lies in deep technical analysis of malware, particularly ransomware, to understand their TTPs and inform defensive strategies.
Reviews
Dr. Zero (Offensive Security Researcher) — STRONG ACCEPT
Solid LE reverse engineering walkthrough of a seized RaaS builder. The real value is the rare access—you don't often get to poke at the operator-side tooling. Technical depth is competent but not groundbreaking; the Babuk/LockBit attribution thread is the most interesting finding.
Heather Calloway (CISO) — SOLID
Solid law enforcement reverse engineering work on a seized RaaS builder. Useful for threat intel teams tracking ransomware lineage and code reuse patterns. Limited direct operational value for most enterprise security programs.
→ Top-rated talks at Virus Bulletin Conference 2025 (VB2025)