Peekaboo

June 11, 2026 · View on GitHub

img

Peekaboo is a modular framework designed to safely emulate malware behavior. It allows security researchers, red teamers, and blue teamers to reproduce complex threat scenarios - including Command & Control (C2) communication, persistence mechanisms, and lateral movement - without using destructive payloads.

The goal of Peekaboo is to accelerate detection engineering and operator training by providing predictable, reproducible, and safe threat artifacts.

Star History Chart

key features (how it works?)

  • malware source code template - build a payload/stealer from templates (select C2 channel & data collection modules).
  • payload generator - automated generation of C/C++ based payloads with built-in obfuscation (API hashing, string encryption).
  • AV/EDR bypass - encryption/encoding (syscalls)
  • multi-channel C2 - support for various covert channels:
    • standard HTTP/S
    • GitHub (abusing Issues/Commits)
    • Telegram & Discord Webhooks
    • TODO: adding all channels from one of my recent research
  • exfiltration - staged exfil to controlled endpoints (Github/Discord/Slack/VirusTotal/Azure DevOps/Angelcam).
  • evasive persistence - modular implementation of Windows persistence (Registry Run Keys, Winlogon, Screensaver).
  • lightweight dashboard - a python-based C2 backend and dashboard for real-time monitoring of active "beacons".
  • MITRE ATT&CK R&D - browse 200+ blog post techniques mapped to ATT&CK IDs with inline source code (C, C++, Nim, assembly).
  • Malpedia integration - threat actor and malware family lookup with semantic blog post matching via local LLM embeddings.
  • AI assistant - local RAG chatbot (Ollama/qwen3) trained on blog posts and codebase; also supports Claude and Gemini.
  • APT campaign pipeline - end-to-end automated pipeline: Malpedia actor -> threat reports -> TTP extraction (Claude API + regex) -> module selection -> binary compile. Full session history stored in SQLite with per-session report links, TTPs, and download access.
  • YARA rule generator - auto-generate YARA rules from compiled binaries or uploaded samples; rules can be saved, copied, and downloaded.
  • VirusTotal scanner - submit binaries for AV detection scoring; lookup by SHA256; poll analysis results; supports From Build and From Session sources.
  • Evasion lab - static evasion scoring (entropy, imports, strings, PE structure, packer detection) with patch suggestions; supports From Build, From Session, and direct upload.
  • PE inspector - deep anatomy of PE binaries: DOS / File / Optional / Section headers, imports, exports, Rich header, overlay, packer detection, threat score; supports From Build, From Session, and direct upload.
  • Hell's Gate / Direct Syscall Lab - parse ntdll.dll to extract System Service Numbers for all Nt*/Zw* exports; detect EDR inline hooks (JMP rel32, FF25, INT3, PUSH/RET trampoline); recover hooked SSNs via Halo's Gate (nearest-clean-neighbour inference) and Tartarus Gate (forward byte scan); generate ready-to-compile NASM x64 or C __declspec(naked) direct-syscall stubs.
  • Shellcode Emulator - x86/x64 CPU emulation via Unicorn Engine with per-instruction disassembly trace (Capstone), memory read/write log, self-modifying code detection, API interception at unmapped call targets, extracted string identification, and standalone disassembly-only mode.
  • Anti-Analysis Pattern Scanner - static Capstone scan of PE executables or raw shellcode for 15 anti-debug, anti-VM, timing, and sandbox-evasion patterns (RDTSC, CPUID, INT 2D, PEB FS/GS reads, SIDT/SGDT/SLDT, IN EAX/DX VMware backdoor, NOP sleds, PUSHFD Trap Flag probe, VPC magic bytes, and more); findings mapped to MITRE ATT&CK T1622, T1497.001, T1497.003.
  • ROP Chain Builder - parse PE/DLL/SYS binaries (x64/x86) for Return-Oriented Programming gadgets using Capstone; classify gadgets by semantic role (reg_load, stack_pivot, syscall, arithmetic, mem_write, mem_read, multi_pop, nop_ret, misc); interactive chain builder with per-slot stack argument inputs; generate C ULONG_PTR array or Python struct.pack payload; supports From Build, From Session, and direct upload.
  • safe by design: Focuses on telemetry generation (process creation, network connections) rather than actual system damage.

architecture

Peekaboo consists of 5 main components:
First malware module - highly portable C/C++ code designed to build specific "behaviors" (for final agent binary) on the target system.

  1. crypto (malware, agent) - build-in payload encryption/decryption logic constructor for agents.
  2. injection (malware, agent) - build-in injection logic constructor for agents.
  3. persistence (malware, agent) - build-in persistence logic constructor for agents (Registry Run Key, Winlogon, Screensaver).
  4. stealer (malware, agent) - stealer logic (Telegram, GitHub, VirusTotal, Bitbucket, Azure DevOps, Angelcam).

Second, payloads module - build-in payloads.

  1. payloads - for simplicity, just messagebox and reverse shell.

Final, peekaboo.py builder in Python.

demo

Run:

python3 peekaboo.py

img

dashboard

The dashboard is a Flask-based web UI that combines C2 monitoring, malware building, threat intelligence, and AI assistance in a single interface.

cd dashboard && python3 app.py

img

img

img

modules

moduledescription
BuilderCompile payloads and stealers from source templates with live build log streaming
Build HistoryBrowse, download, and manage all past builds; per-file download for main binary and persistence binary
SamplesUpload and manage captured agent samples (pcap, binaries, etc.) organized by session
BeaconsReal-time monitoring of active agents - hostname, OS, IP, check-in time
C2Deliver compiled binaries over Telegram, GitHub Gist, Bitbucket, VT Dead Drop, and Slack; source selector: Upload / From Build / From Session
YARAAuto-generate YARA rules from any binary (From Build, From Session, or Upload); save, copy, and download rules
VirusTotalSubmit binaries to VirusTotal for AV detection scoring; lookup by SHA256; poll analysis; From Build and From Session sources
Evasion LabStatic evasion score with category breakdown (entropy, imports, strings, PE structure); patch suggestions; From Build / From Session / Upload
PE InspectorDeep PE anatomy: DOS / File / Optional / Section headers, imports, exports, Rich header, overlay, packer detection, threat score; From Session / From Build / Upload
Hell's GateSSN extractor for all Nt*/Zw* exports; EDR hook detection; Halo's Gate + Tartarus Gate SSN recovery; NASM / C direct-syscall stub generator
SC Emulatorx86/x64 Unicorn Engine emulation with per-instruction trace, memory log, SMC detection, API interception, string extraction, and disasm-only mode
Anti-AnalysisStatic Capstone scan for 15 anti-debug/anti-VM/timing/evasion patterns; MITRE ATT&CK T1622/T1497 mapping; From Session / From Build / Upload
ROP BuilderGadget finder for Windows PE/DLL/SYS x64/x86; semantic classification (reg_load, stack_pivot, syscall, arithmetic, mem_write, mem_read, multi_pop…); chain builder with per-slot arg inputs; C ULONG_PTR array / Python struct.pack payload generation
APT CampaignFully automated pipeline: actor -> reports -> TTP extraction -> module selection -> binary compile
MITRE ATT&CKBrowse 200+ blog posts mapped to ATT&CK techniques with inline source code viewer
MalpediaThreat actor and malware family lookup with semantic blog post matching
AI AssistantRAG chatbot with support for Claude, Gemini, and local Ollama (qwen3); answers questions about the codebase and blog posts
ConfigInline editor for all API keys and service configs (Telegram, GitHub, Azure, Angelcam, Ollama, Gemini, etc.)

Builder

Select malware type (injection or stealer), injection technique, encryption algorithm, payload, stealer channel, and persistence method. Build output streams live to the UI. On success, the compiled binary and persistence binary (if enabled) are available for immediate download.

Build History

Every build is persisted to SQLite. The history table shows build ID, status badge, module/stealer name, compiler options, timestamp, and download links for each compiled file (main binary + persistence.exe when present). Builds can be cleared individually or in bulk.

Samples / Sessions

Upload binary samples captured during red team exercises. Each session groups files by actor/host, stores upload time, and provides direct download links. Sessions feed the "From Session" source selector in YARA, VirusTotal, Evasion Lab, PE Inspector, and C2 delivery.

C2 Panel

Channel status

Connectivity check for all configured channels (Telegram, GitHub, Bitbucket, VirusTotal, Slack) with live status indicators.

Binary source selector

Three source tabs above the delivery buttons:

tabdescription
UploadDrag-and-drop or browse a local binary; staged on the server via POST /api/c2/stage; staged ID used in all delivery calls
From BuildPer-file dropdown populated from build history; selects main binary or persistence.exe from any successful build
From SessionSession picker + file picker; delivers any sample uploaded to a session

If no source is selected the backend falls back to the most recently compiled binary.

Delivery channels

channelMITREdescription
TelegramT1102 + T1105Sends binary as sendDocument to configured bot/chat
GitHub GistT1102.001 + T1105Creates private gist with base64-encoded binary + decode instructions
BitbucketT1102 + T1105Commits base64-encoded binary to a Bitbucket repo under drops/
VT Dead DropT1102 + T1102.001Uploads binary to VirusTotal for analysis, then stages it as base64 chunks in VT file comments; agent retrieves by SHA256, reassembles binary (technique used by Turla, APT28)
SlackT1102 + T1071.001Posts payload metadata notification to Slack incoming webhook

After a VT Dead Drop delivery the result panel shows the SHA256, chunk count, and analysis link, plus a Retrieve Binary button that simulates the agent-side pull and a Save Binary button to download the reassembled file.

YARA Rule Generator

Auto-generates YARA rules from a binary using string extraction, section name heuristics, import pattern matching, and entropy thresholds. Rules can be generated from:

  • From Build - select any compiled build binary (or persistence binary)
  • From Session - select a captured sample
  • Upload - drag-and-drop any PE file

Generated rules can be copied to clipboard, downloaded as .yar files, and saved to the knowledge base.

VirusTotal Scanner

Submit binaries directly to VirusTotal for AV engine detection scoring. Features:

  • Upload tab - submit any binary by file upload
  • From Build tab - select any compiled binary from build history
  • From Session tab - select a captured sample
  • SHA256 Lookup - query existing VT reports without re-uploading
  • Poll - check pending analysis status

Results show detection ratio, engine-by-engine breakdown, and file metadata.

Evasion Lab

Static evasion scoring engine that estimates how detectable a binary is without executing it. Scores 0–100 across five categories:

categorywhat is measured
EntropyShannon entropy per section; packed/encrypted sections score higher
ImportsPresence of suspicious API calls (VirtualAllocEx, CreateRemoteThread, etc.)
StringsCleartext IOC strings (IPs, URLs, registry keys, API names)
PE StructureHeader anomalies, section name mismatches, unusual characteristics
PackerKnown packer section names (UPX, VMProtect, Themida, etc.)

Patch suggestions are shown for each category. Patches can be applied to the binary directly from the UI. Sources: From Build / From Session / Upload.

PE Inspector

Deep static analysis of PE binaries. Input sources: From Session, From Build, Upload.

Result tabs:

tabcontent
OverviewFile hashes (MD5 / SHA1 / SHA256), arch, PE type, timestamp, entry point, image base, subsystem, overall entropy, threat score (0–100)
DOS HeaderAll 17 MZ fields (e_magic through e_lfanew)
File HeaderCOFF fields: machine type, section count, timestamp, symbol table pointer, characteristics with decoded flag names
Opt HeaderPE32/PE32+ optional header: linker version, code/data sizes, entry point, base addresses, alignment, OS/image/subsystem versions, DLL characteristics with decoded flags
SectionsPer-section: name, virtual address, virtual size, raw size, raw offset, characteristics, decoded flags, entropy bar, R/W/X indicators, suspicious flag
ImportsDLL-grouped import table with suspicious API highlighting by category (injection, hollowing, anti-debug, anti-vm, network, execution, persistence, credential, keylog)
ExportsExported symbol names, ordinals, and RVAs
Rich HeaderDecoded Rich header entries: tool ID, tool name, build number, use count
OverlayOverlay detection: offset, size, entropy, SHA256 of appended data
PackerPacker identification by section name signatures (UPX, VMProtect, Themida, MPRESS, ASPack, etc.)

Hell's Gate / Direct Syscall Lab

Extracts System Service Numbers (SSNs) directly from a Windows ntdll.dll without touching the Win32 API - the core primitive behind Hell's Gate, Halo's Gate, and Tartarus Gate. Upload a copy of C:\Windows\System32\ntdll.dll from any Windows target or VM; all parsing runs in Python on the server with no code execution.

What it does:

stagedescription
SSN extractionWalks the ntdll.dll Export Address Table, collects all Nt*/Zw* stubs, and reads the mov eax, <SSN> immediate from the canonical 4C 8B D1 B8 xx xx xx xx prologue
EDR hook detectionIdentifies inline hooks at stub entry: JMP rel32 (E9), indirect JMP (FF 25), INT3 (CC), PUSH/RET trampoline (68 ... C3), and partial/deep hooks
Halo's Gate recoveryFor every hooked stub, infers the correct SSN by finding the nearest clean neighbour in RVA order (SSNs are contiguous in ntdll's EAT)
Tartarus Gate recoveryForward-scans hooked stubs for a B8 xx xx xx xx (mov eax, imm32) sequence with a value in the plausible SSN range (< 0x600)
Code generationEmits ready-to-compile NASM x64 or C __declspec(naked) stubs with recovery annotations

The SSN table is fully filterable (All / Clean / Hooked), searchable by function name, and supports per-row checkbox selection. Shortcut buttons select all hooked stubs or a preset list of 19 common injection APIs (NtAllocateVirtualMemory, NtWriteVirtualMemory, NtCreateThreadEx, NtProtectVirtualMemory, etc.).

References: Hell's Gate (am0nsec / smelly__vx, VX-Underground) · Halo's Gate (trickster0 / Alice Climent-Monde) · Tartarus Gate (trickster0) · SysWhispers3 (klezVirus)

SC Emulator

x86/x64 shellcode emulator powered by Unicorn Engine with Capstone disassembly. Runs shellcode in an isolated virtual CPU with no kernel interaction - safe for analysis of unknown or hostile samples.

Input modes:

modedescription
Hex / PastePaste shellcode as \xNN escape sequences, 0xNN comma-separated, or raw hex strings
Upload binaryUpload a raw .bin or .raw shellcode file
Disasm onlyPure Capstone disassembly without execution - instant, no CPU state

Emulation features:

featuredetail
Per-instruction traceAddress, raw bytes, mnemonic, operands, and live register snapshot for every instruction (up to 500 trace entries shown)
Memory access logEvery read and write: address, size, value - distinguishes code from data region access
Self-modifying code detectionFires when a write lands within the shellcode's own code region; SMC banner shown with the first triggering address
API interceptionCalls to unmapped addresses are caught, recorded with caller address and API hash guess (12 pre-loaded common Win32 hashes), and gracefully redirected - emulation continues past the call
String extractionPrintable ASCII/UTF-16 strings of 4+ characters assembled from emulated memory writes
Register dumpFinal state of all general-purpose and flags registers on exit
Stop conditionsInstruction count limit (configurable, max 50 000), wall-clock timeout (10 s), clean ret to sentinel address, or CPU exception

Memory layout: shellcode at 0x00400000, stack at 0x00200000, scratch heap at 0x00600000.

Anti-Analysis Pattern Scanner

Static disassembly-based scanner that detects anti-debug, anti-VM, timing, and sandbox-evasion techniques in PE binaries or raw shellcode. Uses Capstone to disassemble all executable sections and matches 15 pattern rules - no code is executed.

Input sources: Upload, From Session, From Build. Architecture: Auto (detected from PE header), x64, or x86.

Pattern catalog:

IDTechniqueCategoryMITRESeverity
RDTSCRead timestamp counterTimingT1497.003High
CPUIDHypervisor bit / vendor string probeAnti-VMT1497.001Medium
INT2DINT 2D kernel debug interruptAnti-DebugT1622High
INT3_AAInline INT 3 breakpoint trapAnti-DebugT1622Medium
IN_DXVMware I/O backdoor (port 0x5658)Anti-VMT1497.001High
SIDTIDT location probe - Red PillAnti-VMT1497.001High
SGDTGDT base fingerprintAnti-VMT1497.001High
SLDTLDT selector checkAnti-VMT1497.001Medium
STR_REGTask Register selector (VMware = 0x40)Anti-VMT1497.001Medium
RDPMCPerformance counter timing side-channelTimingT1497.003Medium
PEB_READPEB.BeingDebugged via FS:[30h] / GS:[60h]Anti-DebugT1622High
NOP_SLED≥8 consecutive NOPs (emulator stall)EvasionT1497.003Low
PUSHFDPUSHFD/POPFD Trap Flag probeAnti-DebugT1622High
VPC_MAGICVPC/Hyper-V magic bytes (0F 3F 07 0B)Anti-VMT1497.001High
DIV_ZERODIV/IDIV register - SEH trapAnti-DebugT1622Medium

Results include: per-category counts, MITRE ATT&CK coverage chips (T1622 / T1497.001 / T1497.003), and a filterable table showing severity badge, technique name, category, MITRE ID, section name, file offset + VA, raw bytes, and description. Findings can be exported as JSON.

ROP Chain Builder

Static ROP gadget finder for Windows PE executables, DLLs, and SYS drivers (x64 and x86). Uses Capstone to disassemble all executable sections and walks backwards from every ret/retn/jmp [reg]/call [reg] terminator to collect instruction chains of up to 6 instructions and 24 bytes. No code is executed.

Input sources: Upload, From Session, From Build. Architecture: Auto (detected from PE Machine field), x64, or x86. Image base defaults to the PE optional header value and can be overridden for relocatable DLLs.

Terminator types:

typedescription
retPlain RET, RETN N, RETF, RETQ
jmp_regJMP reg / JMP [reg] / JMP [reg+offset]
call_regCALL reg / CALL [reg]

Semantic classification:

classpattern
ret_onlyTerminator with no preceding instructions
reg_loadpop <reg>; ret
multi_popMultiple consecutive pop instructions
stack_pivotxchg rsp/esp, * / mov rsp/esp, reg / leave
syscallsyscall; ret / sysenter; ret / int 0x2e; ret
reg_movmov <reg>, <reg>; ret
mem_writemov [reg…], reg; ret
mem_readmov reg, [reg…]; ret
arithmeticadd/sub/xor/and/or/neg/shl/shr/ror/rol…; ret
nop_retAll-NOP body + ret
miscEverything else ending in ret

UI layout: two-column view. Left panel: gadget browser with filter pills (by semantic class) + keyword search + scrollable table showing address, RVA, section, bytes, disassembly, and semantic badge. Right panel: sticky chain builder - click Add on any gadget row to append it to the chain; each chain slot has an optional stack argument input (64-bit hex). Generate produces the selected output format; Copy puts it on the clipboard; Download saves as .c or .py.

Output formats:

/* C - ULONG_PTR array */
ULONG_PTR rop_chain[] = {
    0x7ffb12340000ULL,  /* pop rax; ret */
    0x0000000000000001ULL,  /* arg: rax = 0x1 */
    ...
};
/* memcpy onto stack or pass to NtCreateThreadEx as start address */
# Python - struct.pack
import struct
rop = b""
rop += struct.pack("<Q", 0x7ffb12340000)  # pop rax; ret
rop += struct.pack("<Q", 0x0000000000000001)  # arg: rax = 0x1

MITRE ATT&CK R&D

The MITRE ATT&CK tab indexes all blog posts from the meow research repository and maps them to ATT&CK technique IDs found in the post body. Source code is extracted automatically from the post directory - supporting C, C++, Nim, and assembly (.asm/.s) files, including posts where source is nested inside subdirectories.

img

  • filter by category (injection, persistence, evasion, cryptography, linux, macos, etc.)
  • click any technique to expand the inline source code snippet
  • Full Reindex button re-runs library scan -> semantic embeddings -> knowledge base in one shot with live progress per step

Malpedia integration

The Malpedia tab connects to the Malpedia REST API to browse threat actors and malware families. For each actor or family, related blog posts are matched using semantic similarity - the actor/family description is embedded via nomic-embed-text (Ollama), then cosine-ranked against all 200+ cached post embeddings. No hardcoded keyword rules.

img

  • search actors by name, country, or malware family
  • expand any actor/family to see techniques, aliases, and semantically matched blog posts with similarity score
  • requires a Malpedia API key in config/malpedia_config.json

APT campaign pipeline

The APT Campaign tab runs a fully automated, five-stage pipeline that takes a Malpedia actor or family identifier and produces a ready-to-test compiled binary in one shot.

img

Pipeline stages:

#StageWhat it does
1Malpedia FetchResolves the actor or family ID against the Malpedia REST API and retrieves associated metadata (country, aliases, malware families, report URLs)
2Report DownloadDownloads up to 10 linked threat intelligence reports and stores raw content in SQLite for later inspection
3TTP ExtractionExtracts MITRE ATT&CK technique IDs from report text - uses the Claude API for structured extraction with a regex fallback when no API key is configured
4Module SelectionMaps extracted TTPs to available peekaboo modules (injection, crypto, stealer, persistence) and selects the best match per technique
5Binary CompileRuns the peekaboo builder with the selected parameters and produces a Windows PE ready for EDR testing

img

All pipeline progress streams live to the right panel as it runs - reports appear as clickable links the moment they are downloaded, TTPs and selected modules are appended on completion of each stage, and the final binary is immediately available for download. Every session is persisted to SQLite; click any row in Past Sessions to open a drawer showing:

  • Reports tab - list of downloaded reports with a direct link to the original URL and character count
  • TTPs tab - full list of extracted ATT&CK techniques with tactic and evidence quote
  • Binary tab - build configuration badges, per-file download links, and selected modules

img

Configuration: set api_key in config/anthropic_config.json to enable Claude-powered TTP extraction. Without it the pipeline falls back to regex matching of T1xxx IDs in report text.

AI assistant

The AI assistant answers questions about malware techniques, the codebase, and blog posts using RAG (Retrieval-Augmented Generation). At query time the question is embedded and matched against all blog post embeddings; the top matching posts are injected as context into the LLM prompt.

img

Supported providers:

  • Local (Ollama) - qwen3:4b (or any Ollama model); runs fully offline; thinking mode tokens are filtered before streaming to the UI
  • Claude (Anthropic API key required)
  • Gemini (Google API key required)

CLI (peekaboo_cli.py)

The CLI is a rich interactive terminal application (peekaboo_cli.py) with a top-level REPL and dedicated sub-REPLs for each module. Uses prompt_toolkit for autocompletion and history, and rich for tables, panels, and syntax-highlighted output.

python3 peekaboo_cli.py

img

Top-level commands:

img

commanddescription
libraryBrowse and search the MITRE ATT&CK blog post library
artifactsView and rebuild the Artifact Map (embedding index)
builderCompile payloads and stealers interactively
shellcodeShellcode analysis and XOR encoding tools
yaraYARA rule generator sub-REPL
malpediaThreat actor and malware family lookup
ttpBrowse MITRE ATT&CK techniques
pePE binary anatomy sub-REPL
vtscanVirusTotal scanner sub-REPL
evasionEvasion score and patch lab sub-REPL
hellsgateHell's Gate / Halo's Gate / Tartarus Gate SSN extractor and stub generator sub-REPL
scemuShellcode emulator (Unicorn Engine) sub-REPL
antianalysisAnti-analysis pattern scanner sub-REPL
ropROP gadget finder and chain builder sub-REPL
helpTop-level help; help <module> for module-specific docs
exit / quitExit the CLI

library sub-REPL

Browse and search 200+ blog post techniques with inline source code display.

img

commanddescription
list [category]List all techniques, optionally filtered by category
search <query>Full-text search across technique titles and body
show <slug>Display metadata panel + syntax-highlighted source code
categoriesList all available categories
helpShow all library commands

Categories include: analysis, android, c2, credential-access, cryptography, discovery, evasion, execution, exfiltration, injection, linux, macos, persistence, privilege-escalation, reconnaissance.

builder sub-REPL

Interactive payload builder with the same options as the dashboard builder.

img

commanddescription
build <injection> [options]Build an injection binary
build stealer <name>Build a stealer (telegram, github, slack, virustotal, bitbucket, azure, angelcam)
list injectionList all injection techniques
list stealerList all stealer modules
list payloadList available payloads
list encryptionList encryption algorithms
list persistenceList persistence methods
historyShow build history
show <build-id>Show build metadata and download path
search <query>Search injection techniques by partial name
helpFull builder help

Example:

peekaboo builder > build virtualallocex -e speck -p meow -r registry
peekaboo builder > build stealer telegram

shellcode sub-REPL

Shellcode analysis and transformation tools.

img

commanddescription
analyse <path>Analyse raw shellcode: size, entropy, known pattern detection, hex dump
encode <path> [key]XOR-encode shellcode with a given key (default: random)
decode <path> [key]XOR-decode shellcode
helpShow all shellcode commands

yara sub-REPL

Generate and manage YARA rules from binaries.

img

commanddescription
gen <path>Generate YARA rule from a PE binary at the given path
gen-build [id] [fname]Generate rule from a compiled build binary
gen-session <sid> <file>Generate rule from a session sample
buildsList available compiled builds
save <path>Save the last generated rule to a .yar file
showPrint the last generated rule
helpShow all YARA commands

malpedia sub-REPL

Threat actor and malware family lookup against the Malpedia REST API with semantic blog post matching.

img

commanddescription
actorsList all threat actors
familiesList all malware families
search <query>Search actors and families by name, country, or alias
actor <id>Show actor detail + semantically matched blog posts
family <id>Show family detail + semantically matched blog posts
helpShow all Malpedia commands

ttp sub-REPL

Browse MITRE ATT&CK techniques.

img

commanddescription
list [tactic]List all techniques, optionally filtered by tactic
search <query>Search by technique name or description
show <T-ID>Show full technique detail: tactic, description, detection notes, mapped blog posts
tacticsList all ATT&CK tactics
helpShow all TTP commands

pe sub-REPL

Deep static analysis of PE binaries.

img

commanddescription
load <path>Load and analyse a PE binary from file path
load-session <sid> <file>Load from a captured session sample
load-build <id> [fname]Load from a compiled build binary
buildsList available compiled builds
dos-headerPrint DOS (MZ) header fields
file-headerPrint COFF file header fields with decoded characteristic flags
opt-headerPrint optional header fields with DLL characteristic flags
sectionsPrint enriched section table (virt addr, virt size, raw offset, entropy, flags)
importsPrint import table grouped by DLL with suspicious API highlighting
exportsPrint export table
richPrint decoded Rich header entries
overlayPrint overlay detection result
packerPrint packer identification result
summaryPrint overview panel (hashes, arch, entry point, threat score)
helpShow all PE commands

vtscan sub-REPL

Submit binaries to VirusTotal and query results.

img

commanddescription
scan <path>Upload a binary and start analysis
scan <id> [fname]Upload from a compiled build (optionally specify file)
listList available compiled builds with per-file entries
poll <analysis-id>Poll a pending analysis for results
lookup <sha256>Fetch existing VT report by SHA256
helpShow all vtscan commands

evasion sub-REPL

Static evasion scoring and binary patching.

img

commanddescription
load <path>Load a binary for evasion analysis
load-build <id> [fname]Load from a compiled build binary
load-session <sid> <file>Load from a session sample
buildsList available compiled builds
analyseRun evasion score analysis on the loaded binary
patchesList suggested evasion patches
apply <patch-id>Apply a specific patch to the loaded binary
apply-allApply all suggested patches
save <path>Save patched binary to file
helpShow all evasion commands

hellsgate sub-REPL

Parse ntdll.dll to extract SSNs, detect EDR hooks, recover hooked SSNs, and generate direct-syscall stubs.

commanddescription
scan <path>Load and parse ntdll.dll from a file path
filter <all|clean|hooked>Filter SSN table by hook status
search <query>Search by function name substring
show [page]Show current SSN table (paginated)
select <name…>Toggle functions for code generation
select-allSelect all currently filtered functions
select-hookedSelect all hooked stubs at once
select-commonSelect preset list of 19 common injection APIs
deselect-allClear selection
generate <nasm|c>Generate NASM x64 or C __declspec(naked) stubs for selected functions
save <path>Save generated stubs to file
helpShow all hellsgate commands

scemu sub-REPL

Emulate x86/x64 shellcode with Unicorn Engine and inspect CPU state.

commanddescription
run <path>Load and emulate a raw shellcode binary
hex <hex-string>Emulate shellcode from hex input (\xNN, 0xNN,, or raw hex)
disasm <path>Disassemble-only mode (no execution)
arch <x64|x86>Set emulation architecture (default: x64)
maxinsns <N>Set instruction count limit (default: 10 000, max: 50 000)
tracePrint per-instruction trace from last emulation
regsPrint final register state from last emulation
memPrint memory access log from last emulation
apiPrint intercepted API calls from last emulation
stringsPrint extracted strings from last emulation
smcShow self-modifying code detection result
helpShow all scemu commands

antianalysis sub-REPL

Scan PE binaries or raw shellcode for anti-debug, anti-VM, timing, and evasion patterns.

commanddescription
scan <path>Scan a binary file for anti-analysis patterns
scan-build [id] [fname]Scan a compiled build binary
scan-session <sid> <file>Scan a session sample
arch <auto|x64|x86>Set disassembly architecture (default: auto)
filter <all|anti-debug|anti-vm|timing|evasion>Filter findings by category
listList all findings from the last scan
export <path>Export findings to a JSON file
buildsList available compiled builds
helpShow all antianalysis commands

rop sub-REPL

Find ROP gadgets in PE binaries and build exploit chains.

commanddescription
scan <path>Scan a PE binary for ROP gadgets
scan-build [id] [fname]Scan a compiled build binary
scan-session <sid> <file>Scan a session sample
arch <auto|x64|x86>Set disassembly architecture (default: auto)
base <hex>Override image base address (e.g. base 0x180000000)
filter <semantic>Filter gadgets by semantic class (reg_load, stack_pivot, syscall, etc.)
search <keyword>Search gadgets by mnemonic or operand keyword
listList filtered gadgets (paginated)
chain-add <index>Add gadget by list index to the chain
chain-add-addr <hex>Add gadget by address to the chain
chain-arg <slot> <hex>Set a stack argument value for a chain slot
chain-showDisplay the current chain
chain-clearClear the chain
generate <c|python>Generate C ULONG_PTR array or Python struct.pack payload
save <path>Save generated payload to file
buildsList available compiled builds
helpShow all rop commands

virus total result:

02 september 2021

virustotal

https://www.virustotal.com/gui/file/c930b9aeab693d36c68e7bcf6353c7515b8fffc8f9a9233e49e90da49ab5d470/detection

30 december 2021 (NT API injector)

virtustotal 2

https://www.virustotal.com/gui/file/743f50e92c6ef48d6514e0ce2a255165f83afb1ae66deefd68dac50d80748e55/detection

antiscan.me result:

11 january 2022 (NT API injector)

antiscan

https://antiscan.me/scan/new/result?id=rQVfQhoFYgH9

websec.nl scanner result:

10 October 2024

websec

https://websec.net/scanner/result/a3583316-cb72-4894-bd22-48241ca79db9

Attention

This tool is a Proof of Concept and is for Educational Purposes Only!!! Author takes no responsibility of any damage you cause

License

MIT