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
LibTP_Gadget — Bibliothèque Crystal Palace pour relayer les appels d'API Nt via le Threadpool. Mise à jour pour les gadgets d'appel. | Kitploit
Outils/GitHubGitHub/saerxcit/libtp_gadget
Évasion IDS/IPSPost-ExploitationRed TeamingGénération de ShellcodeDéveloppement de Charges UtilesAttaque Adversariale
GitHubsaerxcit/libtp_gadget

LibTP_Gadget

Bibliothèque Crystal Palace pour relayer les appels d'API Nt via le Threadpool. Mise à jour pour les gadgets d'appel.

Voir le dépôt
233il y a 9 moisVé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

LibTP_Gadget

Ceci est une généralisation de https://github.com/AlmondOffSec/LibTPLoadLib pour proxifier des API avec un nombre arbitraire (11 max en fait, mais suffisant) d'arguments. Fournie comme bibliothèque partagée Crystal Palace. API rendue compatible avec le LibTP de @rasta-mouse pour une bascule facile à l'aide de fichiers spec. Des hooks sont fournis pour mettre en avant les nouvelles fonctionnalités de Crystal Palace.

AVERTISSEMENT ⚠️ : Ce projet n'est pas utilisable en l'état. Je ne fournis pas de module dans lequel trouver un gadget call. Vous devrez trouver le vôtre. Lisez le billet de blog pour plus d'informations.

Note : En raison de la capacité à passer 11 arguments (dont 7 seront placés sur la pile), le gadget d'appel doit se trouver dans une fonction disposant d'un cadre de pile suffisamment grand. Cherchez un add rsp d'au moins 0x68.

AVERTISSEMENT ⚠️ : En raison du fonctionnement interne de cette technique, il n'est pas possible de récupérer la valeur de retour de la fonction proxifiée. Proxifier les NTAPI est généralement plus utilisable, puisque leur valeur de retour n'est « que » le NTSTATUS. Cela rend difficile de savoir si la fonction a réellement réussi 🙃.

Comment

  1. Trouvez un gadget fonctionnel dans un module disponible sur la cible. Dans src/tp_gadget.c, corrigez son nom dans l'appel LoadLibraryA et la fonction GetCallGadgetAddress pour qu'il récupère son adresse. Corrigez le stub assembleur si nécessaire (valeur sub rsp, registre que le gadget appellera).

  2. Compilez le projet : make. La sortie est la bibliothèque partagée Crystal Palace libtp_gadget.x64.zip.

  3. Compilez l'exemple COFF (qui chargera simplement wininet.dll puis allouera et exécutera localement le shellcode) : make -C example_print. La sortie sera un fichier COFF example_print.x64.o.

  4. Créez un fichier spec Crystal Palace indiquant au linker d'utiliser nos hooks sur DFR : Utilisez le fichier spec Simple PIC de Tradecraft Garden, et ajoutez les lignes suivantes entre mergelib "../libtcg.x64.zip" et export:

root@kitploit:~
        mergelib "../libtp_gadget.x64.zip"

        attach "KERNEL32$LoadLibraryA"          "H_LoadLibraryA"
        optout "ProxyNtApi"                     "H_LoadLibraryA"
        attach "NTDLL$NtOpenProcess"            "H_NtOpenProcess"
        attach "NTDLL$NtAllocateVirtualMemory"  "H_NtAllocateVirtualMemory"
        attach "NTDLL$NtWriteVirtualMemory"     "H_NtWriteVirtualMemory"
        attach "NTDLL$NtProtectVirtualMemory"   "H_NtProtectVirtualMemory"
        attach "NTDLL$NtFreeVirtualMemory"      "H_NtFreeVirtualMemory"
        attach "NTDLL$NtClose"                  "H_NtClose"
        attach "NTDLL$NtCreateThreadEx"         "H_NtCreateThreadEx"
        attach "NTDLL$NtOpenThread"             "H_NtOpenThread"
        attach "NTDLL$NtSuspendThread"          "H_NtSuspendThread"
        attach "NTDLL$NtResumeThread"           "H_NtResumeThread"
        attach "NTDLL$NtGetContextThread"       "H_NtGetContextThread"
        attach "NTDLL$NtSetContextThread"       "H_NtSetContextThread"
        attach "NTDLL$NtWaitForSingleObject"    "H_NtWaitForSingleObject"
  1. Liez le tout avec Crystal Palace pour produire le shellcode PIC : path/to/crystalpalace/link simplepic_modified/loader.spec example_print/example_print.x64.o out.bin.

  2. Exécutez le shellcode avec n'importe quel loader.

Crédits

  • Raphael Mudge, Adversary Fan Fiction Writers Guild
  • Chetan Nayak, Dark Vortex
  • Daniel Duggan, Rasta Mouse
Télécharger l’outil