Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
PELoader — Chargeur PE avec diverses techniques d'injection de shellcode | Kitploit
Outils/GitHubGitHub/hagrid29/peloader
ExploitationShellcodePost-ExploitationAnalyse de MalwareAnalyse de BinairesRed TeamingDéveloppement de Charges Utiles
GitHubhagrid29/peloader

PELoader

Chargeur PE avec diverses techniques d'injection de shellcode

Voir le dépôt
455662il y a 3 ansVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

PELoader

PELoader implémente diverses techniques d'injection de shellcode et utilise la bibliothèque libpeconv pour charger des fichiers PE chiffrés au lieu d'injecter du shellcode dans un thread distant.

Les techniques suivantes ont été implémentées :

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

Crédits : la plupart de mon travail est basé sur les PoC de @hasherezade.

Tests

PELoader a été testé sur Windows 10 avec Cortex XDR / SentinalOne / Windows Defender / CrowdStrike, et Windows Defender / CrowdStrike ont détecté les techniques de Transacted Hollowing. Les caractéristiques de chaque technique ont été testées avec un outil de scan mémoire Moneta de @forrest-orr.

Module Stomping (LoadLibrary)

Appeler LoadLibrary pour charger une DLL légitime. Écraser la DLL avec la charge utile.

Avantages

  • charge utile mappée comme MEM_IMAGE, ce qui semble légitime pour EXE ou DLL
  • usurpation d'une DLL légitime
  • Sections mappées avec les droits d'accès d'origine (pas de RWX)

cdll

Module Stomping (NtMapViewOfSection)

Télécharger l’outil

Appeler NtCreateSection pour créer un objet de mappage de fichier (PAGE_READONLY) pour une DLL légitime, puis appeler NtMapViewOfSection pour le mapper au processus actuel. Écraser la DLL avec la charge utile.

Avantages

  • charge utile mappée comme MEM_IMAGE, ce qui semble légitime pour EXE ou DLL
  • usurpation d'une DLL légitime
  • Sections mappées avec les droits d'accès d'origine (pas de RWX)
  • Non connecté à la liste des modules (invisible pour Module32First/Module32Next)

Inconvénients

  • Non connecté à la liste des modules (vérifiez « Module PEB manquant » dans le résultat de scan de Moneta ci-dessous)

mdll

référence au PoC de @hasherezade.

Transacted Hollowing

Un hybride entre Process Hollowing et Process Doppelgänging. Créer un fichier « invisible » dans la transaction NTFS et écrire la charge utile dans le fichier. Mapper une section au processus actuel et l'exécuter.

Avantages

  • Charge utile mappée comme MEM_IMAGE
  • Sections mappées avec les droits d'accès d'origine (pas de RWX)
  • le fichier factice n'a pas besoin d'exister

Inconvénients

  • Détection en cas de surveillance de l'activité TxF

txf

Ghostly Hollowing

Un hybride entre Process Hollowing et Process Ghosting. Créer un fichier avec un état de suppression en attente et écrire la charge utile dans le fichier. Mapper une section au processus actuel et l'exécuter.

Avantages

  • Charge utile mappée comme MEM_IMAGE
  • Sections mappées avec les droits d'accès d'origine (pas de RWX)
  • Évite « System Idle Process » sans chemin d'image (IOC du process ghosting)

Cron

  • Fichier factice créé sur le disque

ghostréférence au PoC de @hasherezade.

NtMapViewOfSection (RWX-RW-RX)

Appeler NtCreateSection pour créer une section mémoire (RWX). Appeler NtMapViewOfSection pour mapper une vue au processus actuel (RWX). Appeler VirtualProtect pour changer la protection en RW. Copier le shellcode dans la section mappée. Changer la protection en RX et l'exécuter.

Avantages

  • Charge utile mappée comme MEM_MAPPED pour éviter MEM_PRIVATE, courant dans les malwares

Inconvénients

  • Définit la page mémoire en protection RWX au stade initial
  • mémoire EXE mappée anormale avec protection RX

map

NtAllocateVirtualMemory (RW-RX)

Appeler NtAllocateVirtualMemory pour allouer de la mémoire (RW). Copier le shellcode dans la mémoire. Changer la protection en RX et l'exécuter.

Avantages

  • évite la page mémoire RWX

Inconvénients

  • mise en scène du shellcode dans une page mémoire de type privé MEM_PRIVATE
  • mémoire EXE privée anormale avec protection RX

priv

Utilisation

Chiffrement AES de la charge utile

Convertir un fichier PE en shellcode avec pe_to_shellcode et chiffrer avec 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

Exécution PE

Définir l'argument dans la variable d'environnement « hagrid » et exécuter PELoader

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 #

Améliorations

  • @forrest-orr a fait une comparaison détaillée des variations d'implant de shellcode dans cet article
  • @dglenx a déplacé le concept vers l'injection de processus distant et suggère plusieurs façons de traiter les IOC dans cet article

Références

  • 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/