Glossary

Terms maldev uses without redefinition. If a page references jargon and you're not sure, the term should be here. Open an issue if a term is missing.

Entries are alphabetical. Each entry is one sentence (definition) plus one optional sentence (where it shows up in maldev).

A

ADR (Architecture Decision Record). A short record of why a non-trivial decision was made. See Concepts ▸ Decisions.

AMSI (Antimalware Scan Interface). Windows mechanism that ships script bodies (PowerShell, .NET, …) to a registered antimalware provider for inspection. Bypass via evasion/amsi.

ACG (Arbitrary Code Guard). Windows mitigation that blocks a process from allocating dynamic executable memory. Activated via SetProcessMitigationPolicy; relevant in preset.Aggressive.

ApiSet. Indirection layer (api-ms-win-*.dll) that resolves to real DLLs at load time. Important when walking exports; ApiSet contracts get filtered in DLL-hijack discovery.

B

BOF (Beacon Object File). Cobalt-Strike-style relocatable COFF object loaded in-process. Run via cmd/bof-runner or runtime/bof-loader.

BYOVD (Bring Your Own Vulnerable Driver). Use a legitimately- signed but exploitable driver to gain kernel R/W. See kernel/byovd.

BlockDLLs (Mitigation::BinarySignaturePolicy::MicrosoftSignedOnly). Process mitigation that allows only Microsoft-signed DLLs to load. Part of preset.Aggressive.

C

Caller (*wsyscall.Caller). The runtime knob that selects how every NT* call is issued (WinAPI / Native / Direct / Indirect). See ADR-0001.

CET (Control-flow Enforcement Technology). Hardware-assisted mitigation (shadow stack + indirect-branch tracking). maldev's evasion/cet covers opt-out at the implant-process level.

CFG (Control Flow Guard). Software mitigation that validates indirect-call targets against a bitmap. AMSI bypass works around it because prologue patching doesn't trigger CFG checks.

COFF (Common Object File Format). Object-file format used by BOFs. Different from PE; PE wraps COFF + extras.

D

D3FEND. MITRE's defender taxonomy (counter-techniques to ATT&CK). Tagged on every technique page as D3-XXX.

Diátaxis. Doc-IA framework with 4 quadrants (Tutorial / How-to / Reference / Explanation). maldev's nav is Diátaxis- inspired (see ADR-0004).

DLL hijack. Plant a DLL on the search path of a privileged process. Discovery via recon/dllhijack; full chain in examples/privesc-dll-hijack.

Donor cert. A WIN_CERTIFICATE blob harvested from a legitimately-signed binary, stamped into a packed payload to mimic provenance.

E

EDR (Endpoint Detection and Response). Defender + product (CrowdStrike, SentinelOne, Defender for Endpoint, …). Hooks ntdll, watches ETW, inspects memory.

EAT (Export Address Table). The table in a PE's IMAGE_DIRECTORY_ENTRY_EXPORT listing exported functions. Walked by hash-resolution shellcode.

ETW (Event Tracing for Windows). Kernel + user telemetry backbone. AMSI counterpart for behavioural data. Patched via evasion/etw.

ETW-TI (Threat Intelligence). Privileged ETW provider that exposes the loudest signals (RWX allocations, suspicious loaders).

F

FILE_SHARE_READ. CreateFile share flag. Allows the file to be opened for read by others; relevant for marker-file flushing races (see Runbook: DLL hijack silent).

G

garble. Go toolchain wrapper that obfuscates names + literals

godoc / pkg.go.dev. The authoritative API reference for any Go package. maldev's policy: every technique page links here, never duplicates content. See ADR-0002.

H

Hook. Code overlay on a Windows API entry (typically by an EDR) that intercepts calls. Unhooking removes the overlay; see evasion/unhook.

HALO's gate / Tartarus' gate / Hell's gate. Three flavours of direct-syscall SSN resolution. maldev's wsyscall.MethodDirect implements the modern variant.

I

IAT (Import Address Table). Where the loader writes the absolute VAs of imported functions. Hooked by some EDRs as a cheap interception point.

IL (Integrity Level). Windows process integrity (Low / Medium / High / SYSTEM). UAC bypass moves from Medium to High.

IOC (Indicator of Compromise). Anything (hash, IP, file path, registry key) that telegraphs your presence.

L

LSASS. lsass.exe, the Windows process that holds authentication material in memory. Target of credential dumping via credentials/lsassdump.

M

MITRE ATT&CK. Adversary technique taxonomy (https://attack.mitre.org). Every maldev technique declares its T-IDs in frontmatter.

MDX. Markdown + JSX. Docusaurus syntax; mdBook doesn't support it. Relevant only if we ever migrate (ADR-0003).

N

NT API.* Native Windows API in ntdll.dll (NtAllocateVirtualMemory, NtProtectVirtualMemory, …). Lower- level than Win32 kernel32.dll; the hook layer EDRs care most about.

ntdll. ntdll.dll, the lowest-level user-mode DLL. Every Win32 API ends up here. EDR hooks usually live in its .text section.

O

OEP (Original Entry Point). Where a binary's first instruction was before it got packed. The packer's stub jumps to OEP after decryption.

OPSEC. Operational Security — minimising your attack surface. Covers tooling artefacts, network behaviour, build metadata.

P

PEB (Process Environment Block). Per-process structure at a fixed offset from the GS segment. Holds ProcessParameters.CommandLine, loaded modules, image base. maldev's PEB-CommandLine patch (RunWithArgs export) lives in the packer stub.

Plan 9 asm. Go's internal assembler syntax. maldev's pe/packer/stubgen/amd64 emits raw bytes via Plan9 helpers.

Plt / IAT thunk. Per-import indirection slot in the IAT.

R

RVA (Relative Virtual Address). Offset from a PE's image base (after loading). The linker bakes RVAs; the loader doesn't rewrite them unless the image is rebased.

rpc. Microsoft RPC (rpcrt4.dll). Several persistence and LSASS-dump primitives ride on RPC interfaces.

Reverse-engineering of .text. Static analysis that reads the unpacked code section. Defeated by the packer's per-pack SGN encoding + section-name randomisation (ADR randomisation default-on — see v0.135.0 changelog).

S

SGN (Shellcode Generation). Polymorphic encoder format (SUB-NEG-NEGATE shape) used by maldev's packer for byte-level diversity per pack.

SSN (System Service Number). Per-Windows-version index used by the kernel syscall stub. Direct syscalls require resolving SSN at runtime (wsyscall does this).

Stub. The decoder bytes injected at the new PE entry by the packer. Stage1 = current implementation; emitted by pe/packer/stubgen/stage1.

SYSTEM. NT AUTHORITY\SYSTEM, the highest non-kernel account. End goal of most privesc chains.

T

TEB (Thread Environment Block). Per-thread structure analogous to PEB. Holds TLS slots; relevant for Go runtime init in injected threads.

U

UAC (User Account Control). Windows prompt that gates elevation from Medium to High IL. Bypass primitives in privesc/uac.

W

WIN_CERTIFICATE. Authenticode signature blob layout (PE's DataDirectory[SECURITY]). Harvested by cmd/cert-snapshot, pasted onto packed binaries for masquerade.

wsyscall. The maldev-internal package providing the Caller abstraction over WinAPI / Native / Direct / Indirect syscall methods. See ADR-0001.

X

x64dbg. Open-source ring-3 debugger. Used to develop the memscan stack (see research helpers for the current pure-Go incarnation that replaced the legacy x64dbg-MCP plumbing).