Malware Analysis Report: load.exe - Info Stealer
Executive Summary
This binary is a MALICIOUS INFO STEALER disguised as a Nuitka-compiled Python application. Despite using legitimate Nuitka packaging, the payload contains sophisticated credential theft capabilities.
Risk Assessment: CRITICAL - MALWARE
Key Findings
- C2 Server:
https://auth.requiem.technology
- Type: Info Stealer / Credential Harvester
- Targets: Browser credentials, cookies, crypto wallets, Discord tokens, clipboard
- Packer: Custom XOR-encrypted Nuitka onefile with VM-obfuscated unpacker
- Payload Size: ~34 MB (decompressed), contains Python 3.11 runtime and malicious DLL
Threat Intelligence
Command & Control Infrastructure
| Indicator | Value |
|---|
| C2 URL | https://auth.requiem.technology |
| Protocol | HTTPS (encrypted) |
| Libraries | requests, urllib3, OpenSSL |
Targeted Data
| Category | References Found |
|---|
| Cookies | 518 |
| Opera Browser | 507 |
| Passwords | 116 |
| Edge Browser | 42 |
| Login Data | 28 |
| Chrome Browser | 12 |
| Clipboard | 8 |
| Keylogger | 6 |
| Credit Cards | 3 |
| Firefox Browser | 2 |
Binary Structure
Original Executable (load.exe)
| Property | Value |
|---|
| Type | Windows x64 PE Executable |
| Compiler | MinGW-w64 (GCC) |
| Framework | Nuitka Python Compiler + Custom Packer |
| Size | 22.6 MB |
| Architecture | x86-64 |
PE Sections (Packer)
| Section | Size | Entropy | Purpose |
|---|
.text | 334 KB | 5.80 | Nuitka loader code |
.4enk5 | 393 KB | 6.09 | Jump/dispatch tables |
.QZfVg | 19 KB | 0.02 | Pointer tables |
.dtQyA | 12 MB | 7.96 | VM-obfuscated packer code |
.rsrc | 9.3 MB | 7.99 | Encrypted payload |
Entry Point Redirection
- Real Entry:
0x140051370 → Redirects to .dtQyA packer section
- Packer Entry:
0x14015FBC2 → VM-based obfuscated unpacker
Encryption Analysis
Payload Encryption
| Property | Value |
|---|
| Algorithm | XOR with 256-byte key |
| Key Location | .dtQyA section @ offset 0xa7e44 (VA: 0x14015FE44) |
| Key (first 64 bytes) | 90370675869a9fe01de6a9f5cede87fcb7704b7674f0b4e59943974b7880144d78f048a2baf4a7165017abea35001d2095ab83e6ff7056530499fafcac2761da |
| Compression | Zstandard (zstd) after XOR decryption |
| Format | KAY + Zstd (Nuitka onefile format) |
Resource Details
| Property | Value |
|---|
| Type | RT_RCDATA (10) |
| ID | 27 |
| Size | 9,726,904 bytes (encrypted) |
| File Offset | 0xc0f4a0 |
Extracted Payload Contents
Successfully extracted 32 files (34.4 MB decompressed):
Main Malware Component
| File | Size | Description |
|---|
| load.dll | 17,161,724 bytes | Main malware DLL - Compiled Python code |
Python Runtime
| File | Size |
|---|
| python311.dll | 5,765,912 bytes |
| python3.dll | 67,352 bytes |
Crypto/Network Libraries
| File | Size | Purpose |
|---|
| libcrypto-3.dll | 5,157,656 bytes | OpenSSL cryptography |
| libssl-3.dll | 789,784 bytes | SSL/TLS connections |
| _ssl.pyd | 176,920 bytes | Python SSL bindings |
| _hashlib.pyd | 65,304 bytes | Hashing functions |
Windows Integration
| File | Size | Purpose |
|---|
| win32api.pyd | 132,096 bytes | Windows API access |
| win32security.pyd | 135,680 bytes | Security token manipulation |
| win32process.pyd | 52,224 bytes | Process control |
| pythoncom311.dll | 669,184 bytes | COM automation |
System Enumeration
| File | Size | Purpose |
|---|
| psutil/_psutil_windows.pyd | 67,072 bytes | System monitoring |
Data Handling
| File | Size | Purpose |
|---|
| zstandard/backend_c.pyd | 524,800 bytes | Compression |
| charset_normalizer/md__mypyc.pyd | 124,928 bytes | Encoding detection |
| certifi/cacert.pem | 287,634 bytes | CA certificates |
Malicious Capabilities
1. Browser Credential Theft
- Targets Chrome, Firefox, Edge, Opera, Brave browsers
- Steals saved passwords from "Login Data" SQLite databases
- Extracts cookies for session hijacking
- Harvests autofill data and credit card information
2. System Reconnaissance
- Uses
psutil library for comprehensive system enumeration
- Collects hostname, username, hardware info
- Gathers IP address and network configuration
- Detects installed software and running processes
3. Clipboard Monitoring
- 8 references to clipboard functionality
- Likely monitors for cryptocurrency addresses and passwords
4. Keylogging Capability
- 6 references to keylogger-related functionality
- Captures keystrokes for credential harvesting
5. Data Exfiltration
- Sends stolen data to
https://auth.requiem.technology
- Uses HTTPS for encrypted C2 communication
- Employs
requests and urllib3 libraries
Indicators of Compromise (IOCs)
Network Indicators
https://auth.requiem.technology
File Indicators
| Type | Hash/Name |
|---|
| Filename | load.exe |
| Extracted DLL | load.dll (17.1 MB) |
Strings Indicators
auth.requiem.technology
cookies
Login Data
passwords
clipboard
psutil
win32security
Mutex/Registry Keys
Software\Microsoft\Windows NT\CurrentVersion
Software\Microsoft\Windows\CurrentVersion\Internet Settings
Decryption Method
The payload was successfully extracted using the following method:
- Locate XOR key at VA
0x14015FE44 in .dtQyA section
- XOR decrypt the resource at file offset
0xc0f4a0 with 256-byte key
- Strip KAY header (3 bytes)
- Zstd decompress the remaining data
- Parse Nuitka format: UTF-16LE filename + null + 4-byte size + data
Key Script
# XOR decryption key (first 64 bytes)
key = bytes.fromhex("90370675869a9fe01de6a9f5cede87fcb7704b7674f0b4e59943974b7880144d...")
# Read encrypted resource
with open("load.exe", "rb") as f:
f.seek(0xc0f4a0)
encrypted = f.read(9726904)
# Simple XOR decryption
decrypted = bytes(encrypted *^ key for i in range(len(encrypted)))
# Skip "KAY" header and decompress
import zstandard as zstd
dctx = zstd.ZstdDecompressor()
payload = dctx.stream_reader(io.BytesIO(decrypted[3:])).read()
Packer Analysis
Obfuscation Techniques
- Custom PE Sections:
.4enk5, .QZfVg, .dtQyA with random names
- Entry Point Redirection: Real entry jumps to packer in
.dtQyA
- VM-Style Dispatch: Jump chain obfuscation in
.4enk5 section
- XOR Encryption: 256-byte repeating key for payload encryption
- Control Flow Flattening: 15+ functions with CFF detected
Packer Functions
| Address | Purpose |
|---|
0x14015FBC2 | Packer entry point |
0x14015FE44 | XOR key storage |
0x14000CE60 | Zstd frame processing |
0x14000D540 | Zstd decompression |
0x140001700 | XXHash64 (integrity check) |
Recommendations
Immediate Actions
- Block C2: Add
auth.requiem.technology to firewall/proxy blocklists
- Quarantine: Remove
load.exe and any extracted files
- Credential Reset: Reset all browser-saved passwords
- Session Invalidation: Invalidate all active sessions (Discord, banking, etc.)
- Monitor: Check for unusual network connections to the C2 domain
Detection Rules
# Yara Rule
rule Requiem_InfoStealer {
strings:
$c2 = "auth.requiem.technology" ascii wide
$kay = "KAY" ascii
$section1 = ".4enk5" ascii
$section2 = ".dtQyA" ascii
$key = { 90 37 06 75 86 9a 9f e0 }
condition:
uint16(0) == 0x5A4D and ($c2 or (2 of ($section*, $key)))
}
Files Generated
| File | Location | Description |
|---|
| raw_payload.bin | extracted_files/ | Encrypted resource dump |
| decrypted_full.bin | extracted_files/ | XOR-decrypted payload |
| partial_decompressed.bin | extracted_files/ | Zstd-decompressed data |
| load.dll | nuitka_extracted/ | Main malware DLL |
| *.pyd, *.dll | nuitka_extracted/ | Python extensions and DLLs |
Conclusion
This malware is a sophisticated info stealer that:
- Uses legitimate Nuitka packaging for evasion
- Employs custom XOR encryption + VM-obfuscated packer to hide payload
- Targets browser credentials, cookies, crypto wallets, and clipboard
- Exfiltrates data to auth.requiem.technology via HTTPS
- Contains keylogging capabilities
The malware was successfully unpacked without execution using static analysis and the discovered XOR key.
Report generated via IDA Pro MCP + static analysis
All payload files extracted safely without malware execution
Credits to Moash - INSTANT CLEAN EVERYTHING!*