Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
PELoader — PE-Lader mit verschiedenen Shellcode-Injektionstechniken | Kitploit
Tools/GitHubGitHub/hagrid29/peloader
ExploitationShellcodePost-ExploitationMalware-AnalyseBinäranalyseRed TeamingPayload-Entwicklung
GitHubhagrid29/peloader

PELoader

PE-Lader mit verschiedenen Shellcode-Injektionstechniken

Repository anzeigen
45566vor 3 JahrenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

PELoader

PELoader implementiert verschiedene Shellcode-Injektionstechniken und nutzt die Bibliothek libpeconv zum Laden verschlüsselter PE-Dateien anstelle der Injektion von Shellcode in einen entfernten Thread.

Folgende Techniken wurden implementiert:

  • Module Stomping (LoadLibrary)
  • Module Stomping (NtMapViewOfSection) (PoC)
  • Transacted Hollowing (PoC)
  • Ghostly Hollowing (PoC)
  • Herpaderply Hollowing(PoC)
  • NtMapViewOfSection (RWX-RW-RX)
  • NtAllocateVirtualMemory (RW-RX)

Danksagung: Der Großteil meiner Arbeit basierte auf den PoC Skripten von @hasherezade.

Testen

PELoader wurde unter Windows 10 mit Cortex XDR / SentinalOne / Windows Defender / CrowdStrike getestet, wobei Windows Defender und CrowdStrike die Transacted Hollowing-Techniken erkannten. Die Eigenschaften jeder Technik wurden mit dem Speicher-Scanner-Tool Moneta von @forrest-orr getestet.

Module Stomping (LoadLibrary)

Rufe LoadLibrary auf, um eine legitime DLL zu laden. Überschreibe die DLL mit dem Payload.

Vorteile

  • Payload als MEM_IMAGE gemappt, was für EXE oder DLL legitim aussieht
  • Imitation einer legitimen DLL
  • Sections mit ursprünglichen Zugriffsrechten gemappt (kein RWX)

cdll

Module Stomping (NtMapViewOfSection)

Rufe NtCreateSection auf, um ein Dateimapping-Objekt (PAGE_READONLY) für eine legitime DLL zu erstellen, und rufe NtMapViewOfSection auf, um es in den aktuellen Prozess zu mappen. Überschreibe die DLL mit dem Payload.

Vorteile

  • Payload als MEM_IMAGE gemappt, was für EXE oder DLL legitim aussieht
  • Imitation einer legitimen DLL
  • Sections mit ursprünglichen Zugriffsrechten gemappt (kein RWX)
  • Nicht mit der Modulliste verbunden (unsichtbar für Module32First/Module32Next)

Nachteile

  • Nicht mit der Modulliste verbunden (siehe „Missing PEB module“ im untenstehenden Moneta-Scanergebnis)

mdll

Referenz zu @hasherezade's PoC.

Transacted Hollowing

Ein Hybrid aus Process Hollowing und Process Doppelgänging. Erstelle eine „unsichtbare“ Datei innerhalb der NTFS-Transaktion und schreibe den Payload in die Datei. Mappe den Abschnitt in den aktuellen Prozess und führe ihn aus.

Vorteile

  • Payload als MEM_IMAGE gemappt
  • Sections mit ursprünglichen Zugriffsrechten gemappt (kein RWX)
  • Dummy-Datei muss nicht existieren

Nachteile

  • Erkennung bei Überwachung der TxF-Aktivität

txf

Ghostly Hollowing

Ein Hybrid aus Process Hollowing und Process Ghosting. Erstelle eine Datei mit ausstehendem Löschstatus und schreibe den Payload in die Datei. Mappe den Abschnitt in den aktuellen Prozess und führe ihn aus.

Vorteile

  • Payload als MEM_IMAGE gemappt
  • Sections mit ursprünglichen Zugriffsrechten gemappt (kein RWX)
  • Vermeidung von „System Idle Process“ ohne Bildpfad (IOC von Process Ghosting)

Cron

  • Dummy-Datei auf der Festplatte erstellt

ghostReferenz zu @hasherezade's PoC.

NtMapViewOfSection (RWX-RW-RX)

Rufe NtCreateSection auf, um einen Speicherabschnitt (RWX) zu erstellen. Rufe NtMapViewOfSection auf, um eine Ansicht in den aktuellen Prozess zu mappen (RWX). Rufe VirtualProtect auf, um den Schutz auf RW zu ändern. Kopiere Shellcode in den gemappten Abschnitt. Ändere den Schutz auf RX und führe ihn aus.

Vorteile

  • Payload als MEM_MAPPED gemappt, um MEM_PRIVATE zu vermeiden, was bei Malware üblich ist

Nachteile

  • Speicherseite zu Beginn auf RWX-Schutz gesetzt
  • anormale gemappte EXE-Speicher mit RX-Schutz

map

NtAllocateVirtualMemory (RW-RX)

Rufe NtAllocateVirtualMemory auf, um Speicher (RW) zu allozieren. Kopiere Shellcode in den Speicher. Ändere den Schutz auf RX und führe ihn aus.

Vorteile

  • vermeidet RWX-Speicherseite

Nachteile

  • Shellcode auf Speicherseite vom Typ MEM_PRIVATE zwischengespeichert
  • anormale private EXE-Speicher mit RX-Schutz

priv

Verwendung

AES-Payload verschlüsseln

Konvertiere PE-Datei in Shellcode mit pe_to_shellcode und verschlüssle sie mit PELoader

root@kitploit:~
cmd> .\pe2shc.exe mimikatz.exe
Reading module from: mimikatz.exe
[WARNING] This is a console application! The recommended subsystem is GUI.
[+] Saved as: mimikatz.shc.exe
cmd> set hagrid=enc mimikatz.shc.exe
cmd> .\PELoader.exe
argument: enc mimikatz.shc.exe
Encrypting File

PE-Ausführung

Setze das Argument in die Umgebungsvariable "hagrid" und führe PELoader aus

root@kitploit:~
cmd> set hagrid=cdll mimikatz.shc.exe.enc
cmd> .\PELoader.exe  version
argument: cdll mimikatz.shc.exe.enc
Classic DLL Hollowing
[*] target dll: C:\WINDOWS\system32\aadtb.dll
[*] implant dll: mimikatz.shc.exe.enc
[*] Loading the DLL (using LoadLibary, classic DLL hollowing)...
[*] Overwriting the mapping
[*] Module Overloading finished...
[*] Executing Implant's Entry Point: 7ff8cf9d7578
[*] Executing Implant as EXE

  .#####.   mimikatz 2.2.0 (x64) #19041 Aug 10 2021 17:19:53
 .## ^ ##.  "A La Vie, A L'Amour" - (oe.eo)
 ## / \ ##  /*** Benjamin DELPY `gentilkiwi` ( [email protected] )
 ## \ / ##       > https://blog.gentilkiwi.com/mimikatz
 '## v ##'       Vincent LE TOUX             ( [email protected] )
  '#####'        > https://pingcastle.com / https://mysmartlogon.com ***/

mimikatz(commandline) # version

mimikatz 2.2.0 (arch x64)
Windows NT 10.0 build 19043 (arch x64)
msvc 150030729 207

mimikatz #

Verbesserungen

  • @forrest-orr erstellte einen detaillierten Vergleich verschiedener Varianten von Shellcode-Implants in diesem Artikel
  • @dglenx übertrug das Konzept auf die Remote-Process-Injektion und schlug mehrere Möglichkeiten vor, IOCs zu adressieren in diesem Artikel

Referenzen

  • https://github.com/hasherezade/libpeconv
  • https://github.com/hasherezade/module_overloading
  • https://github.com/hasherezade/transacted_hollowing
  • https://www.forrest-orr.net/post/masking-malicious-memory-artifacts-part-iii-bypassing-defensive-scanners
  • https://www.secforce.com/blog/dll-hollowing-a-deep-dive-into-a-stealthier-memory-allocation-variant/
Tool herunterladen