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.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
DarkWidow — Indirect Dynamic Syscall, SSN + ordenación de direcciones Syscall mediante enfoque Modified TartarusGate + Remote Process Injection vía APC Early Bird + genera un proceso sacrificial como proceso objetivo + política de mitigación (ACG+BlockDll) en el proceso generado + PPID spoofing + resolución de API desde TIB + API hashing | Kitploit
Herramientas/GitHubGitHub/reveng007/darkwidow
Escalada de PrivilegiosExplotaciónEvasión de IDS/IPSPost-ExplotaciónAnálisis de MalwareAnálisis de BinariosAprendizaje y EducaciónRed TeamingDesarrollo de Payloads
GitHubreveng007/darkwidow

DarkWidow

Ver Repositorio
80710419hace 8 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 →

Acerca de

Indirect Dynamic Syscall, SSN + ordenación de direcciones Syscall mediante enfoque Modified TartarusGate + Remote Process Injection vía APC Early Bird + genera un proceso sacrificial como proceso objetivo + política de mitigación (ACG+BlockDll) en el proceso generado + PPID spoofing + resolución de API desde TIB + API hashing

Compartir

DarkWidow

Una herramienta Dropper personalizable dirigida a Windows.


Menciones honorables:

  1. BlackHat Asia, 2024 - Call For Tools
  2. BlackHat USA, 2024 - Call For Tools
  3. BlackHat SecTor, 2024 - Call For Tools
  4. BlackHat Europe, 2024 - Call For Tools
  5. Wild West Hacking Fest 2024 - Arsenal
  • Muchas gracias a Soumyadeep Da aka @SoumyadeepBas12 por animarme a postularme a estas conferencias, si no no lo habría hecho :)
  • Muchas gracias a Faran aka @Chrollo_l33t por ayudarme a crear las diapositivas y la presentación para esta herramienta :)

Capacidades:

  1. Syscall dinámico indirecto. (MITRE ATT&CK TTP: T1106)
  2. Clasificación de SSN + dirección de syscall mediante el enfoque TartarusGate modificado
  3. Inyección de proceso remoto vía APC Early Bird para cortar la captura de telemetría por parte del EDR. (MITRE ATT&CK TTP: T1055.004)
  4. Genera un proceso sacrificial como proceso objetivo, sin interrumpir los procesos ya abiertos en el entorno.
  5. Política de mitigación ACG (Arbitrary Code Guard)/BlockDll sobre el proceso sacrificial generado.
  6. Suplantación de PPID (MITRE ATT&CK TTP: T1134.004)
  7. Resolución de API y DLL desde el TIB (directamente vía offset (desde TIB) -> TEB -> PEB -> resolver Nt API) (MITRE ATT&CK TTP: T1106)
  8. Hashing maldito de Nt API (MITRE ATT&CK ID: S0574)

Extra: Si se tiene privilegio de administrador =>

  1. Deshabilita el registro de eventos matando los hilos del servicio EventLog (MITRE ATT&CK TTP: T1562.002)

Desventaja: Si se reanudan los hilos, todos los eventos que ocurrieron durante la suspensión del registrador de eventos se registran de nuevo.

¡Así que pensé en matarlos en su lugar!

"Es más invasivo que la suspensión, pero la decisión siempre es del operador. Además, matar hilos se registra a nivel de kernel" - @SEKTOR7net

Al matar solo esos hilos en el implante de syscall indirecto, me enfrenté a un error. No pude obtener el valor SubProcessTag de "eventlog". Así que pensé en matar todos los hilos, es decir, eliminar todo el proceso (el svchost.exe responsable). Sí, creando un IOC!.

=

1. Bypass de hooks de EDR/Ring-3/UserLand

2. La syscall y la declaración de retorno se ejecutan desde la memoria de ntdll.dll

3. La detección de EDR basada en verificar la dirección de retorno en la pila de llamadas puede ser evadida.

Compilar:

Directamente vía compilador de VS:

imagen

¡Agregue también la bandera del compilador /MT! => Para enlazar estáticamente las funciones de CRT juntas en un binario (Sí, lo adivinaste, infla el implante)

imagen

  1. También vía compile.bat (preferir opción 1.)
./compile.bat

Uso:

PS C:> .\x64\Release\indirect.exe
[!] ¡Incorrecto!
[->] Sintaxis: .\x64\Release\indirect.exe <PPID a suplantar>

En acción:

https://github.com/reveng007/DarkWidow/assets/61424547/62a90c5b-84af-4389-8ddc-9f7926debdcf

Ejecución exitosa sin crear alerta en el punto final de Sofos XDR:

SofosXDREvade


Mejoras adicionales:

  1. Suplantación de PPID (método Emotet)
  2. Caso de uso mucho más sigiloso de deshabilitación de EventLog!

Partes del código y enlaces que ayudaron:

  1. TIB:

    • https://en.wikipedia.org/wiki/Win32_Thread_Information_Block
    • https://www.wikiwand.com/en/Win32_Thread_Information_Block
  2. Registros GS y FS:

    • https://stackoverflow.com/questions/39137043/what-is-the-gs-register-used-for-on-windows
    • https://stackoverflow.com/questions/10810203/what-is-the-fs-gs-register-intended-for#:~:text=The%20registers%20FS%20and%20GS,to%20access%20thread%2Dspecific%20memory.
  3. Estructura PEB LDR:

    • BlackHat - What Malware Authors Don't Want You to Know - Evasive Hollow Process Injection por @monnappa22

    • Una imagen de la memoria del proceso del enlace anterior:
      imagen

    • De labs.cognisys.group, un blog de @D1rkMtr :
      imagen

  4. TIB -> TEB -> PEB -> Resolver Nt API y hashing de API

    • https://stackoverflow.com/questions/41277888/iterating-over-peb-dllname-shows-only-exe-name

    • https://doxygen.reactos.org/d7/d55/ldrapi_8c_source.html#l01124

    • labs.cognisys.group, un blog de @D1rkMtr

    • Una imagen del fragmento del enlace anterior, que usé aquí para resolver API dinámicamente sin offsets codificados:
      imagen

    • El código de hashing de API que apliqué:


#include <stdint.h>
#include <stdio.h>
#include <Windows.h>

DWORD64 djb2(const char* str)
{
	DWORD64 dwHash = 0x7734773477347734;
	int c;

	while (c = *str++)
		dwHash = ((dwHash << 0x5) + dwHash) + c;


	return dwHash;
}

int main(int argc, char** argv)
{
	if (argc < 2)
	{
		printf("[!] ¡Incorrecto!\n");
		printf("[->] Sintaxis: .\\%s <NTFuncName>\n\n", argv[0]);
		return 1;
	}

	const char* string = argv[1];

	DWORD64 hashvalue = djb2(string);

	printf("Valor hash: 0x%llX\n", hashvalue);

	return 0;
}

  1. Política de mitigación ACG (Arbitrary Code Guard)/BlockDll:

    • enlaces:
    • Protecting Your Malware por @xpn
    • Wraith por @winterknife
    • spawn y HOLLOW por @0xBoku imagen
  2. Detección de suplantación de PPID:

    • PPID Spoofing Detect por @spotheplanet
    • Si tengo tiempo, agregaré una parte de detección a esta sección! -> [Restante..............................................!]
  3. Detección Moneta y detección PESieve:\

    • Moneta:
      imagen

    • PESieve:
      imagen

Descargar herramienta