Inside the Guts of Ransomware
Where
Crypto Privacy Village
DEF CON 34
Duration
28 min
Shows how malware analysts identify AES, RSA and ChaCha20 in ransomware using FindCrypt, cipher constants and Windows crypto API breakpoints.
Summary
Ashley Munoz, an incident response specialist at Kaspersky's Global Emergency Response Team, opens with a practical reason to care about cipher identification: if responders can tell which algorithm a ransomware family used, they may find that a decryptor already exists for a victim. She reviews the basics first, covering symmetric versus asymmetric ciphers, AES block modes such as ECB and CBC, and substitution boxes whose published values make cipher constants recognizable.
The middle of the talk is hands-on. Using the FindCrypt plugin in Ghidra, she locates AES lookup-table constants in a sample. To separate ChaCha20 from Salsa20, she points to the "expand 32-byte k" string and the order of its words. For RSA and ECC, she sets breakpoints on the Windows CryptGenKey call in a debugger, dumps memory, and reads the algorithm ID value, then matches it against Microsoft's documented table, which in her example resolved to 256-bit AES.
Her takeaways are that AES still dominates ransomware file encryption, RSA commonly wraps per-file keys, and hybrid designs trade speed against attacker control. She recommends extracting encryption headers or footers, tracing random number generation, watching for reused constants or seeds across versions, and keeping an internal database of crypto signatures. She closes with a 2024 incident in Mexico, where a strain that used BitLocker to encrypt a server turned out to have a weakness that let the team build a decryptor.
Materials
Related talks
DragonJAR - Hacking y Seguridad Informática·4 min
Evaluates ransomware Rap and evaluates key implications for security practitioners.
Briefings·37 min
Tien-Chih Lin · Wei Chieh Chao · Zhao-Min Chen
IDA Pro feat. MCP (Model Context Protocol) is truly amazing.
CSIT Village·18 min
Theodore Lee
Theodore Lee examines reverse engineering (RE) is time consuming and resource intensive.


