Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
LibTP_Gadget — Crystal Palace, biblioteca para proxear llamadas a la API Nt a través del Threadpool. Actualizada para call gadgets. | Kitploit
Herramientas/GitHubGitHub/saerxcit/libtp_gadget
Evasión de IDS/IPSPost-ExplotaciónRed TeamingGeneración de ShellcodeDesarrollo de PayloadsAtaque Adversario
GitHubsaerxcit/libtp_gadget

LibTP_Gadget

Crystal Palace, biblioteca para proxear llamadas a la API Nt a través del Threadpool. Actualizada para call gadgets.

Ver Repositorio
233hace 9 mesesRevisado por Kitploit

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

LibTP_Gadget

Esta es una generalización de https://github.com/AlmondOffSec/LibTPLoadLib para hacer proxy de APIs con un número arbitrario (11 como máximo, pero suficiente) de argumentos. Se proporciona como una librería compartida de Crystal Palace. API compatible con el LibTP de @rasta-mouse para cambiar fácilmente usando archivos spec. Se proporcionan hooks para lucir las funciones más recientes de Crystal Palace.

ADVERTENCIA ⚠️ : Este proyecto no es usable tal cual. No proporciono un módulo en el que encontrar un gadget call. Tendrás que encontrar el tuyo propio. Lee la entrada del blog para más información.

Nota : Debido a la capacidad de pasar 11 argumentos (7 de los cuales se colocarán en la pila), el gadget call debe residir dentro de una función con un marco de pila lo suficientemente grande. Busca un add rsp de al menos 0x68.

ADVERTENCIA ⚠️ : Debido al funcionamiento interno de esta técnica, no es posible recuperar el valor de retorno de la función proxy. Hacer proxy de NTAPIs suele ser más útil, ya que su valor de retorno es "solo" el NTSTATUS. Eso dificulta saber si la función realmente tuvo éxito 🙃.

Cómo

  1. Encuentra un gadget funcional en un módulo disponible en el objetivo. En src/tp_gadget.c, parchea su nombre en la llamada a LoadLibraryA y la función GetCallGadgetAddress para que recupere su dirección. Parchea el stub en ensamblador si es necesario (valor de sub rsp, registro que llamará el gadget).

  2. Compila el proyecto: make. La salida es la librería compartida de Crystal Palace libtp_gadget.x64.zip.

  3. Compila el COFF de ejemplo (que simplemente cargará wininet.dll y luego asignará y ejecutará shellcode localmente): make -C example_print. La salida será un archivo COFF example_print.x64.o.

  4. Crea un archivo spec de Crystal Palace que indique al enlazador que use nuestros hooks en DFR: Usa el archivo spec Simple PIC de Tradecraft Garden y añade las siguientes líneas entre mergelib "../libtcg.x64.zip" y 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. Enlaza todo usando Crystal Palace para generar shellcode PIC: path/to/crystalpalace/link simplepic_modified/loader.spec example_print/example_print.x64.o out.bin.

  2. Ejecuta el shellcode con cualquier loader.

Créditos

  • Raphael Mudge, Adversary Fan Fiction Writers Guild
  • Chetan Nayak, Dark Vortex
  • Daniel Duggan, Rasta Mouse
Descargar herramienta