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

Bash Scripting Best Practices Every Beginner Should Know

Introduction Bash scripting is a powerful way to automate Linux tasks, but writing a script…

22 hours ago

How To Create A Self-Signed SSL Certificate Using Bash And OpenSSL

Introduction A self-signed SSL certificate is a certificate that is created and signed by the…

23 hours ago

How To Debug Bash Scripts Using bash -x And set Commands

Introduction Debugging is an important part of Bash scripting. When a script does not work…

1 day ago

How To Use Cron Jobs With Bash Scripts For Automation

Introduction Cron jobs are used in Linux to run commands or Bash scripts automatically at…

1 day ago

How To Use Pipes In Bash Scripts For Command Chaining

Introduction Pipes are an important feature in Linux and Bash scripting. A pipe allows you…

1 day ago

How To Use grep, awk, And sed In Bash Scripts

Introduction The grep, awk, and sed commands are powerful text-processing tools in Linux. They are…

1 day ago