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
CobaltWhispers — CobaltWhispers is an aggressor script that utilizes a collection of Beacon Object Files (BOF) for Cobalt Strike to perform process injection, persistence and more, leveraging direct syscalls (SysWhispers2) to bypass EDR/AV | Kitploit
Herramientas/GitHubGitHub/nvisosecurity/cobaltwhispers
Persistence MechanismsIDS/IPS EvasionPost-ExploitationCommand and ControlRed TeamingPayload DevelopmentAdversarial Attack
GitHubnvisosecurity/cobaltwhispers

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

CobaltWhispers

CobaltWhispers is an aggressor script that utilizes a collection of Beacon Object Files (BOF) for Cobalt Strike to perform process injection, persistence and more, leveraging direct syscalls (SysWhispers2) to bypass EDR/AV

Ver Repositorio
24035hace 3 añosRevisado por Kitploit

CobaltWhispers

Author: @Cerbersec

CobaltWhispers es un script Aggressor que utiliza una colección de Beacon Object Files para Cobalt Strike para realizar inyección de procesos, persistencia y más, aprovechando syscalls directas para evadir EDR/AV.

CobaltWhispers está impulsado por SysWhispers2 y InlineWhispers2
CobaltWhispers está basado en StayKit y en el trabajo de Hasherezade y Forrest Orr.

CobaltWhispers fue creado como parte de unas prácticas en el Red Team de NVISO Security. Las publicaciones de blog asociadas se pueden encontrar aquí (inyección de procesos) y aquí (kernel karnage).

Compilar desde el código fuente

CobaltWhispers requiere varias herramientas para compilar:

  • MingW-w64 - apt install mingw-w64
  • Make - apt install make
  • Python3
  • SysWhispers2
  • InlineWhispers2

Cada proyecto requiere 3 archivos generados por SysWhispers2 / InlineWhispers2 para funcionar:

  • syscalls-asm.h
  • syscalls.c
  • syscalls.h

Estos archivos se pueden generar según la documentación de InlineWhispers2, sin embargo, este no es el método óptimo porque se incluirá mucho código no utilizado:

root@kitploit:~
git clone https://github.com/Sh0ckFR/InlineWhispers2 && cd InlineWhispers2
cd SysWhispers2/ && python3 syswhispers.py --preset all -o syscalls_all && cd ..
python3 InlineWhispers2.py

En su lugar, use SysWhispers2 para generar los archivos de salida solo para las API necesarias, luego suminístrelos manualmente (o mediante un script) a InlineWhispers2, que los convertirá al formato adecuado. Consulte el makefile incluido para obtener información adicional o use los archivos incluidos bajo su propio riesgo.

Inyección

SpawnProcess

Tipo de payloadObjetivoFiabilidad (0-5)ElevadoObservaciones
--5NoHereda los permisos del proceso padre

Descripción

Crea un nuevo proceso suspendido con Code Integrity Guard (CIG) habilitado para bloquear binarios firmados que no son de Microsoft. Suplanta el proceso padre especificado. Se devuelve el PID.

Parámetros

Proceso padre: El nombre del proceso a establecer como padre
Ubicación del ejecutable: Ruta completa al ejecutable en disco utilizado para crear el nuevo proceso


CreateRemoteThread

Tipo de payloadObjetivoFiabilidad (0-5)ElevadoObservaciones
Shellcode/RawPID5No-

Descripción

Inyecta un payload en un proceso remoto usando NtCreateThreadEx

Parámetros

PID del proceso: El ID de proceso del proceso remoto
Ubicación del payload: Ubicación del payload en formato binario en disco (Condicional | Opcional)
Payload b64: Shellcode crudo en formato de cadena codificada en base64 (Condicional | Opcional)
Listener: Listener para generar el payload (Condicional)

Se debe especificar un listener para generar un payload de Beacon. Si se desea un payload manual, debe proporcionarse mediante una ruta al binario crudo en disco o shellcode codificado en Base64.


QueueUserAPC

Tipo de payloadObjetivoFiabilidad (0-5)ElevadoObservaciones
Shellcode/RawPID2NoPuede potencialmente bloquear el proceso objetivo

Descripción

Inyecta un payload en un proceso remoto usando NtQueueApcThread

Parámetros

PID del proceso: El ID de proceso del proceso remoto
Hilos: Número de hilos a los que añadir una llamada APC
Ubicación del payload: Ubicación del payload en formato binario en disco (Condicional | Opcional)
Payload b64: Shellcode crudo en formato de cadena codificada en base64 (Condicional | Opcional)
Listener: Listener para generar el payload (Condicional)

Se debe especificar un listener para generar un payload de Beacon. Si se desea un payload manual, debe proporcionarse mediante una ruta al binario crudo en disco o shellcode codificado en Base64.


MapViewOfSection

Tipo de payloadObjetivoFiabilidad (0-5)ElevadoObservaciones
Shellcode/RawProceso sustituto5No-

Descripción

Inyecta un payload en un proceso sustituto usando NtMapViewOfSection

Parámetros

Proceso padre: El nombre del proceso a establecer como padre
Ubicación del ejecutable: La ubicación del ejecutable en disco que se usará para crear un nuevo proceso
Ubicación del payload: Ubicación del payload en formato binario en disco (Condicional | Opcional)
Payload b64: Shellcode crudo en formato de cadena codificada en base64 (Condicional | Opcional)
Listener: Listener para generar el payload (Condicional)

Se debe especificar un listener para generar un payload de Beacon. Si se desea un payload manual, debe proporcionarse mediante una ruta al binario crudo en disco o shellcode codificado en Base64.


TransactedHollowing

Tipo de payloadObjetivoFiabilidad (0-5)ElevadoObservaciones
PEProceso sustituto5NoRequiere payload PE x64

Descripción

Inyecta un payload en un proceso sustituto usando secciones transaccionadas y vistas asignadas. Se actualizan el punto de entrada remoto y el PEB; no hay secciones de memoria anómalas ni permisos de memoria anómalos. Consulte aquí para más información.

Parámetros

Proceso padre: El nombre del proceso a establecer como padre
Ubicación del ejecutable: La ubicación del ejecutable en disco que se usará para crear un nuevo proceso
Ubicación del payload: Ubicación del payload PE x64 en disco (Condicional | Opcional)
Payload b64: Payload PE x64 en formato de cadena codificada en base64 (Condicional | Opcional)
Listener: Listener para generar el payload (Condicional)

Se debe especificar un listener para generar un payload de Beacon. Si se desea un payload manual, debe proporcionarse mediante una ruta al PE x64 en disco o un PE x64 codificado en Base64.


PhantomDLLHollowing

ACTUALMENTE NO IMPLEMENTADO

Tipo de payloadObjetivoFiabilidad (0-5)ElevadoObservaciones
Shellcode de posición independiente (PIC)Proceso sustituto5SíSe requieren permisos elevados para abrir DLL del sistema con permisos de escritura

Descripción

Inyecta un payload en un proceso sustituto usando secciones transaccionadas en combinación con DLL hollowing. Consulte aquí para más información.

Parámetros

Proceso padre: El nombre del proceso a establecer como padre
Ubicación del ejecutable: La ubicación del ejecutable en disco que se usará para crear un nuevo proceso
Ubicación del payload: Ubicación del payload en formato binario en disco (Condicional | Opcional)
Payload b64: Shellcode crudo en formato de cadena codificada en base64 (Condicional | Opcional)
Listener: Listener para generar el payload (Condicional)

Se debe especificar un listener para generar un payload de Beacon. Si se desea un payload manual, debe proporcionarse mediante una ruta al binario crudo en disco o shellcode codificado en Base64.


Persistencia

ElevatedRegKey

Descripción

Crea o modifica una clave de registro en la ubicación especificada.

  • HKLM:Software\Microsoft\Windows\CurrentVersion\Run
  • HKLM:Software\Microsoft\Windows\CurrentVersion\RunOnce

Parámetros

Nombre de clave: Nombre del valor
Comando: Comando que se ejecutará cuando se use el registro
Clave de registro: Ubicación donde se creará la clave de registro
Oculto: Antepondrá un byte nulo al nombre de la clave; provoca errores en regedit
Limpieza: Elimina la clave creada

La limpieza requiere el nombre de la clave y la clave de registro (ubicación).


ElevatedUserInitRegKey

Descripción

Crea o modifica una clave de registro en la ubicación especificada.

  • HKLM:Software\Microsoft\Windows NT\CurrentVersion\Winlogon [UserInit]

Parámetros

Nombre de clave: Nombre del valor
Comando: Comando que se ejecutará cuando se use el registro
Clave de registro: Ubicación donde se creará la clave de registro
Oculto: Antepondrá un byte nulo al nombre de la clave; provoca errores en regedit
Limpieza: Elimina la clave creada

La limpieza requiere el nombre de la clave y la clave de registro (ubicación).
UserInit: Establece automáticamente 'Nombre de clave' y 'Clave de registro'.


UserRegKey

Descripción

Crea o modifica una clave de registro en la ubicación especificada.

  • HKCU:Software\Microsoft\Windows\CurrentVersion\Run
  • HKCU:Software\Microsoft\Windows\CurrentVersion\RunOnce

Parámetros

Nombre de clave: Nombre del valor
Comando: Comando que se ejecutará cuando se use el registro
Clave de registro: Ubicación donde se creará la clave de registro
Oculto: Antepondrá un byte nulo al nombre de la clave; provoca errores en regedit
Limpieza: Elimina la clave creada

La limpieza requiere el nombre de la clave y la clave de registro (ubicación).


UserInitMprRegKey

Descripción

Crea o modifica una clave de registro en la ubicación especificada.

  • HKCU:Environment [UserInitMprLogonScript]

Parámetros

Nombre de clave: Nombre del valor
Comando: Comando que se ejecutará cuando se use el registro
Clave de registro: Ubicación donde se creará la clave de registro
Oculto: Antepondrá un byte nulo al nombre de la clave; provoca errores en regedit
Limpieza: Elimina la clave creada

La limpieza requiere el nombre de la clave y la clave de registro (ubicación).
UserInitMprLogonScript: Establece automáticamente 'Nombre de clave' y 'Clave de registro'.


Secuestro COM de tarea programada

Descripción

Secuestra el manejador COM de una tarea programada. Crea una clave de registro en HKCU:\Software\Classes\CLSID\\InprocServer32 que apunta a un DLL.

Parámetros

ID de clase: El CLSID que corresponde al CLSID del manejador COM de la tarea
Ruta del DLL: Ruta al DLL que se va a cargar
Limpieza: Elimina la clave creada


Controladores

DisableDSE

Fiabilidad (0-5)ElevadoObservaciones
4SíPuede potencialmente provocar BSOD en el sistema objetivo

Descripción

Carga un controlador firmado vulnerable con lectura/escritura arbitraria de memoria del kernel (NalDrv/iqvm64.sys). Cambia el flag g_CiEnabled de ntoskrnl.exe o el flag g_CiOptions de CI.dll para deshabilitar el cumplimiento de firma de controladores (DSE).
Carga un controlador no firmado (Interceptor/Interceptor.sys) y luego restaura los valores de los flags de DSE. Tanto el controlador firmado como el no firmado se escriben en disco.

ControladorChecksum MD5
iqvm64.sys1898ceda3247213c084f43637ef163b3
Interceptor.sys508c8943359717cfa0c77b61ebea2118

Parámetros

Ubicación del controlador vulnerable: Ubicación del controlador firmado vulnerable en formato binario en disco
Ubicación del controlador malicioso: Ubicación del controlador no firmado malicioso en formato binario en disco
Nombre del controlador vulnerable: nombre utilizado para crear la clave de registro '\Registry\Machine\System\CurrentControlSet\Services\'
Nombre del dispositivo del controlador vulnerable: nombre utilizado para contactar con el controlador '\DosDevices\'
Nombre del controlador malicioso: nombre utilizado para crear la clave de registro '\Registry\Machine\System\CurrentControlSet\Services\'
Nombre del dispositivo del controlador malicioso: nombre utilizado para contactar con el controlador '\DosDevices\'
Ruta de destino: ruta temporal para escribir los archivos de los controladores vulnerable y malicioso


UnloadDriver

Fiabilidad (0-5)ElevadoObservaciones
5Sí-

Descripción

Descarga un controlador en el objetivo utilizando la clave de registro proporcionada y elimina el binario del disco en la ruta especificada.

Parámetros

Clave de registro del controlador: clave de registro utilizada para descargar el controlador '\Registry\Machine\System\CurrentControlSet\Services\'
Ruta de instalación del controlador: ubicación del controlador en disco


Intercept

Fiabilidad (0-5)ElevadoObservaciones
4NoPuede potencialmente provocar BSOD en el sistema objetivo

Descripción

Información: Consultar el controlador Interceptor
Hook: Enganchar las funciones principales del controlador objetivo (IRP)
Unhook: Restaurar las funciones principales del controlador objetivo
Patch: Parchear los callbacks del kernel objetivo
Restore: Restaurar los callbacks del kernel objetivo

Parámetros: Información

Proveedores: mostrar los proveedores compatibles
Módulos: consultar todos los controladores cargados
Módulos enganchados: mostrar todos los controladores enganchados
Callbacks: consultar todos los callbacks registrados

Parámetros: Hook

Índice: engancha un controlador por índice (ver: información - módulos)
Nombre: engancha un controlador por nombre de dispositivo (\Device\Name)
Valores: lista de índices separados por comas (condicional)
Nombre: nombre de dispositivo del controlador objetivo (condicional)

Los valores son obligatorios cuando se selecciona 'Índice'. El nombre es obligatorio cuando se selecciona 'Nombre'.

Parámetros: Unhook

Índice: desengancha un controlador por índice (ver: información - módulos enganchados)
Todos: desengancha todos los controladores enganchados
Valores: lista de índices separados por comas (condicional)

Los valores son obligatorios cuando se selecciona 'Índice'.

Parámetros: Patch

Proveedor: parchea todos los callbacks asociados con el/los módulo(s) del proveedor
Módulo: parchea todos los callbacks asociados con el/los módulo(s)
Proceso: parchea callback(s) de proceso
Hilo: parchea callback(s) de hilo
Imagen: parchea callback(s) de imagen
Registro: parchea callback(s) de registro
Proceso de objeto: parchea callback(s) de proceso de objeto
Hilo de objeto: parchea callback(s) de hilo de objeto
Valores: lista de índices separados por comas (ver: información - callbacks) (condicional)
Nombre: lista de nombres de módulos separados por comas o un único nombre de proveedor (ver: información - proveedores) (condicional)

Los valores son obligatorios cuando se selecciona 'proceso', 'hilo', 'imagen', 'registro', 'proceso de objeto' u 'hilo de objeto'. El nombre es obligatorio cuando se selecciona 'proveedor' o 'módulo'.

Parámetros: Restore

Proveedor: restaura todos los callbacks asociados con el/los módulo(s) del proveedor
Módulo: restaura todos los callbacks asociados con el/los módulo(s)
Proceso: restaura callback(s) de proceso
Hilo: restaura callback(s) de hilo
Imagen: restaura callback(s) de imagen
Registro: restaura callback(s) de registro
Proceso de objeto: restaura callback(s) de proceso de objeto
Hilo de objeto: restaura callback(s) de hilo de objeto
Todos: restaura todos los callbacks
Valores: lista de índices separados por comas (ver: información - callbacks) (condicional)
Nombre: lista de nombres de módulos separados por comas o un único nombre de proveedor (ver: información - proveedores) (condicional)

Los valores son obligatorios cuando se selecciona 'proceso', 'hilo', 'imagen', 'registro', 'proceso de objeto' u 'hilo de objeto'. El nombre es obligatorio cuando se selecciona 'proveedor' o 'módulo'.


Descargar herramienta