Cyber security

POSTDump – Evading Detection And Safely Dumping LSASS Memory

Another tool to perform minidump of LSASS process using few technics to avoid detection.

POSTDump is the C# / .NET implementation of the ReactOS minidump function (like nanodump), thus avoiding call to the Windows API MiniDumpWriteDump function.

The dump logic code is saved under the POSTMinidump project, feel free to use it for your own projects. Such as NanoDump, you can encrypt or use an invalid signature for the minidump.

Usage of ProcExp driver is supported to dump/kill protected processes.

Usage

Dump LSASS:

c:\Temp>PostDump.exe --help

-o, --output        Output filename [default: Machine_datetime.dmp] (fullpath handled)

-e, --encrypt       Encrypt dump in-memory

-s, --signature     Generate invalid Minidump signature

--snap              Use snapshot technic

--fork              Use fork technic [default]

--elevate-handle    Open a handle to LSASS with low privileges and duplicate it to gain higher privileges

--duplicate-elevate Look for existing lsass handle to duplicate and elevate

--asr               Attempt LSASS dump using ASR bypass (win10/11/2019) (no signature/no encrypt)

--driver            Use Process Explorer driver to open lsass handle (bypass PPL) and dump lsass

--kill [processID]  Use Process Explorer driver to kill process and exit

--help              Display this help screen.

--version           Display version information.

Evasion

  • Usage of indirect syscall along with halo’s gate technic to retrieve syscalls IDs
  • No memory Allocation/Protection call is performed for indirect syscall, instead, free RWX codecave found in the current process are used
  • ETW patching
  • No call to MiniDumpWriteDump

Improvements Idea

  • Implement more dump technics (seclogon, PPLMedic, Shtinkering ..)
  • More evasion technics (callstack spoofing)
  • Implement Godfault to avoid driver usage

Compilation

  • You can build using .NET Framework 4.5.1 as-is.
  • Depending of the CLR version installed on the system where you execute PostDump, you may need to downgrade to .NET 3.5 more info here

Varshini

Varshini is a Cyber Security expert in Threat Analysis, Vulnerability Assessment, and Research. Passionate about staying ahead of emerging Threats and Technologies.

Recent Posts

pgrep Command in Linux: Find and Filter Running Processes

The pgrep command in Linux finds the PIDs of running processes based on a name or other…

6 hours ago

unlink Command in Linux: Remove a Single File or Symlink

The unlink command in Linux removes a single file by deleting its directory entry. It is a…

6 hours ago

How to Check Open Ports in Linux: nmap, netcat, and Bash

When troubleshooting a network connection or configuring a firewall, the first question is whether a…

6 hours ago

ifconfig Command in Linux: Configure Network Interfaces

The ifconfig command in Linux displays and configures network interfaces. It can assign IP addresses, bring interfaces…

7 hours ago

groupdel Command in Linux: Remove a Group and Audit Files

The groupdel command in Linux removes a group from the system. It deletes the group's entry from /etc/group and /etc/gshadow,…

1 day ago

wc Command in Linux: Count Lines, Words, Characters, and Bytes

The wc command in Linux counts lines, words, characters, and bytes in files or standard input. It…

1 day ago