QWERTY
MediumMalware Reverse Engineering
Overview
Our forensics team found a stealer, but the catch is it works on specific devices. flag format: flag{(c2_ip_address)}
Lab Details
Prerequisites & Requirements
- Intermediate C++ Knowledge: A solid understanding of C++ syntax, object-oriented concepts, and common library functions, essential for comprehending decompiled code.
- Intermediate x64 Assembly Knowledge: Familiarity with x64 assembly language, including register usage, calling conventions, and common instruction sets, which aids in interpreting low-level details from the disassembler.
- Basic Cryptographic Principles: A foundational understanding of XOR operations and the concept of pseudo-random number generation (PRNG).
What will you learn?
- Analyze Obfuscated C++ Executables: Develop skills in navigating and interpreting heavily obfuscated C++ code within a disassembler like IDA Pro, especially when symbols are available via PDB files.
- Reverse Engineer Custom Decryption Routines: Understand how to dissect proprietary decryption algorithms that rely on system-specific information (
e.g., keyboard layouts) and mathematical functions. - Implement PRNG Brute-Forcing Techniques: Learn to identify weaknesses in PRNG schemes and develop Python scripts to brute-force unknown seed values based on external system characteristics.
- Identify C2 Infrastructure: Pinpoint command and control (C2) communication channels and exfiltration targets by analyzing network-related API calls (
e.g., cURL functions).
Tools
- IDA Pro: A powerful disassembler and decompiler for in-depth static analysis of the C++ executable, especially with PDB symbol loading.
- Python: For scripting the brute-force decryption logic to recover the C2 address.
Job Positions
Malware Analyst
Tags
Ida ProStatic AnalysisMalware AnalysisC2 CommunicationIocsObfuscationPrng Weakness