Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
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.

FeedsContactoPrivacidad© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
CS-DropSpawn_BOF — CobaltStrike BOF para lanzar Beacons mediante el secuestro del directorio de aplicaciones DLL | Kitploit
Herramientas/GitHubGitHub/gmh5225/cs-dropspawn_bof
ExplotaciónPost-ExplotaciónPruebas de PenetraciónRed TeamingDesarrollo de Payloads
GitHubgmh5225/cs-dropspawn_bof

CS-DropSpawn_BOF

CobaltStrike BOF para lanzar Beacons mediante el secuestro del directorio de aplicaciones DLL

Ver Repositorio
324hace 3 añosAún no revisado

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

DropSpawn

Introducción

DropSpawn es un BOF de CobaltStrike utilizado para lanzar Beacons adicionales mediante un método relativamente desconocido de secuestro de DLL. Funciona en x86-x86, x64-x64 y x86-x64/viceversa. Úsalo como alternativa a la inyección de procesos.

Los ejecutables de Windows seguirán el orden de búsqueda de DLL al intentar cargar DLL cuyas rutas absolutas no fueron especificadas: image

El secuestro de DLL normalmente requiere que:

A. Un usuario tenga permisos de escritura en una carpeta con mayor precedencia en el orden de búsqueda que donde reside la DLL real

o

B. Que la DLL en cuestión no exista en ningún lugar del sistema, en cuyo caso puede colocarse en una carpeta escribible por el usuario dentro de la variable %PATH% del usuario (como %USERPROFILE%\appdata\local\microsoft\windowsapps).

Estos requisitos descartan el secuestro de DLL para ejecutables que residen en C:\Windows\System32 porque casi todas las DLL que cargan estos ejecutables también residen en System32. Copiar un ejecutable de System32 a una ubicación escribible por el usuario y ejecutarlo allí es una opción, pero no es muy segura desde el punto de vista OPSEC porque los binarios de System32 que se ejecutan desde ubicaciones alternativas son fáciles de identificar.

DropSpawn permite el secuestro de DLL utilizando ejecutables de System32 (y otros encontrados en carpetas adicionales no escribibles por el usuario) falsificando "El directorio desde el cual se carga la aplicación" a uno arbitrario especificado por el usuario.

Nota:

La versión pública de DropSpawn difiere ligeramente de la no pública. La versión no pública aprovecha un generador de payloads propietario, lo que hace que la experiencia sea mucho más fluida para el operador. La versión pública ha sido modificada ligeramente para tener en cuenta que los usuarios tendrán sus propias formas de generar payloads compatibles con el secuestro de DLL. Se ha incluido un script de Python3, así como el código fuente de una DLL de demostración, para ayudar a los usuarios a integrar y weaponizar DropSpawn.

Cómo Usar

1.

Identifica algunos ejecutables objetivo que intenten cargar DLL sin especificar sus rutas absolutas. Puedes hacerlo copiando el exe en un directorio escribible por el usuario y ejecutándolo mientras lo monitoreas con Procmon. En este ejemplo usaremos WerFault.exe que normalmente reside en C:\Windows\System32\WerFault.exe

image

En el ejemplo anterior, cryptsp.dll, wer.dll, dbghelp.dll y bcrypt.dll son todos candidatos viables porque sus rutas absolutas no fueron especificadas dentro de WerFault; como resultado, WerFault intentará cargarlos desde su directorio de aplicación primero antes de recurrir al resto del orden de búsqueda de DLL. Ten en cuenta que esto normalmente no es una preocupación porque el directorio de aplicación de WerFault ES System32.

2.

Descarga una de las DLL secuestrables del sistema objetivo.

image Esto es necesario para que podamos extraer sus exportaciones e incluirlas en nuestra DLL de payload. Es importante obtener la DLL secuestrable de la misma máquina en la que deseas usar DropSpawn, ya que las DLL cambian entre versiones de Windows. Además, si estás ejecutando un beacon x86 y deseas lanzar un beacon x64 usando DropSpawn, asegúrate de descargar la versión x64 de la DLL real especificando 'C:\windows\sysnative...' en lugar de 'C:\windows\system32...'.

3.

Ejecuta generate_dll.py, pasando la DLL descargada y la arquitectura de payload deseada. Generate_dll.py es una versión modificada de este script. Analizará la DLL proporcionada, creará un archivo .def que contiene las exportaciones de la DLL y llamará a MingW para compilar nuestra DLL de payload de demostración. Cuando el proceso lanzado intente llamar a una función real dentro de la DLL falsificada, nuestra DLL de payload reenviará la llamada a la DLL real ubicada en System32 para que el proceso anfitrión no se bloquee. image

4.

Llama a dropspawn usando la DLL de payload generada.

dropspawn <payload DLL> <x86|x64> <programa a lanzar> [carpeta objetivo escribible] [proceso padre]

payload DLL - la ruta completa a la DLL de payload generada. arquitectura - la arquitectura del proceso que deseas lanzar programa a lanzar - el nombre/ruta del proceso que deseas lanzar. Si este proceso reside en System32 (o syswow64), puedes simplemente especificar el nombre. De lo contrario, especifica la ruta completa. También puedes proporcionar argumentos de línea de comandos al proceso. Si hay espacios en la ruta/si usas argumentos, envuelve todo entre comillas. carpeta objetivo escribible - Opcional. Si se deja en blanco, dropspawn intentará usar el directorio actual del Beacon. Usa comillas si hay espacios en la ruta. proceso padre - Opcional. El nombre del proceso a usar para la falsificación de PPID con el proceso recién lanzado. Si se especifica un proceso que tiene múltiples instancias en ejecución con diferentes niveles de privilegios (es decir, svchost.exe), dropspawn intentará identificar una que pueda usarse para la falsificación de PPID.

Ejemplo: dropspawn /root/dbgcore.dll x64 "WerFault.exe -u -p 4352 -s 160" C:\users\user\appdata\local\temp explorer.exe

Esto colocará la DLL de payload 'dbgcore.dll' en disco en 'c:\users\user\appdata\local\temp\dbgcore.dll' y lanzará un proceso WerFault.exe x64 con los argumentos de línea de comandos '-u -p 4352 -s 160' y explorer.exe como proceso padre.

image

image

5.

La limpieza es fácil. Al incluir la función de Auto-Eliminación en la DLL de payload que se coloca en disco, se eliminará tan pronto como nuestro nuevo proceso se lance y la cargue. Esto es un cambio de juego, ya que normalmente la DLL estaría bloqueada en disco mientras nuestro proceso que la cargó continúe ejecutándose. Si la técnica de Auto-Eliminación falla por alguna razón (o el proceso no logra lanzarse), DropSpawn intentará eliminar la DLL de payload del disco e informará al usuario del resultado de la operación en cualquier caso.

Descargar herramienta