Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
DarkWidow — Indirect Dynamic Syscall, SSN + Syscall address sorting tramite Modified TartarusGate approach + Remote Process Injection via APC Early Bird + Genera un processo sacrificale come processo target + (ACG+BlockDll) politica di mitigazione sul processo generato + PPID spoofing + API resolving da TIB + API hashing | Kitploit
Strumenti/GitHubGitHub/reveng007/darkwidow
Escalation di PrivilegiExploitEvasione IDS/IPSPost-ExploitAnalisi MalwareAnalisi di BinariApprendimento e FormazioneRed TeamingSviluppo Payload
GitHubreveng007/darkwidow

DarkWidow

Vedi Repository
807104198 mesi faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →

Informazioni

Indirect Dynamic Syscall, SSN + Syscall address sorting tramite Modified TartarusGate approach + Remote Process Injection via APC Early Bird + Genera un processo sacrificale come processo target + (ACG+BlockDll) politica di mitigazione sul processo generato + PPID spoofing + API resolving da TIB + API hashing

Condividi

DarkWidow

Uno strumento Dropper personalizzabile mirato a Windows.


Menzioni d'Onore:

  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
  • Un grande ringraziamento a Soumyadeep Da aka @SoumyadeepBas12 per avermi incoraggiato a candidarmi a queste conferenze, altrimenti non l'avrei mai fatto :)
  • Un grande ringraziamento a Faran aka @Chrollo_l33t per avermi aiutato a creare le slide e la presentazione per questo strumento :)

Capacità:

  1. Syscall dinamico indiretto. (MITRE ATT&CK TTP: T1106)
  2. Ordinamento degli indirizzi SSN + Syscall tramite approccio TartarusGate modificato
  3. Iniezione di processo remota tramite APC Early Bird per TAGLIARE la telemetria intercettata dall'EDR. (MITRE ATT&CK TTP: T1055.004)
  4. Genera un processo sacrificale come processo target, senza interrompere i processi già aperti nell'ambiente.
  5. Politica di mitigazione ACG (Arbitrary Code Guard)/BlockDll sul processo sacrificale generato.
  6. Spoofing PPID (MITRE ATT&CK TTP: T1134.004)
  7. Risoluzione di Api e Dll dal TIB (direttamente tramite offset (da TIB) -> TEB -> PEB -> risoluzione Nt Api) (MITRE ATT&CK TTP: T1106)
  8. Hashing di Nt API con la maledizione (MITRE ATT&CK ID: S0574)

Bonus: Se benedetti con privilegio Admin =>

  1. Disabilita il registro eventi tramite uccisione dei thread del servizio EventLog (MITRE ATT&CK TTP: T1562.002)

Svantaggio: Se i thread vengono ripresi, tutti gli eventi che si sono verificati durante la sospensione del Logger eventi, vengono registrati di nuovo!

Quindi, ho pensato di ucciderli invece!

"È più invasivo della sospensione, ma la decisione spetta sempre all'operatore. Inoltre, uccidere i thread viene registrato a livello kernel" - @SEKTOR7net

Mentre uccidevo solo quei thread nell'impianto di syscall indiretto, stavo riscontrando un errore. Non sono riuscito a ottenere il valore "eventlog" SubProcessTag Value. Quindi ho pensato di uccidere tutti i thread, cioè di uccidere l'intero processo (il svchost.exe responsabile). Sì, creando un IOC!.

=

1. Bypass degli hook EDR/Ring-3/UserLand

2. La syscall e l'istruzione return vengono eseguite dalla memoria di ntdll.dll

3. Il rilevamento dell'EDR basato sul controllo dell'indirizzo di ritorno nello stack di chiamate può essere bypassato.

Compilazione:

Direttamente tramite compilatore VS:

image

Aggiungere anche il flag del compilatore /MT! => Per collegare staticamente le funzioni CRT in un binario (Sì, hai indovinato, gonfia l'impianto)

image

  1. Anche tramite compile.bat (preferisci l'opzione 1.)
./compile.bat

Utilizzo:

PS C:> .\x64\Release\indirect.exe
[!] Sbagliato!
[->] Sintassi: .\x64\Release\indirect.exe <PPID da falsificare>

In Azione:

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

Esecuzione riuscita senza creare allarme su Sofos XDR EndPoint:

SofosXDREvade


Ulteriori Miglioramenti:

  1. Spoofing PPID (metodo Emotet)
  2. Caso d'uso Molto più Furtivo per la disabilitazione del registro eventi!

Parti del codice e link che hanno aiutato:

  1. TIB:

    • https://en.wikipedia.org/wiki/Win32_Thread_Information_Block
    • https://www.wikiwand.com/en/Win32_Thread_Information_Block
  2. Registri GS e 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. Struttura PEB LDR:

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

    • Un'immagine della memoria del processo dal link sopra:
      alt text

    • Da labs.cognisys.group, un blog di @D1rkMtr :
      alt text

  4. TIB -> TEB -> PEB -> Risoluzione Nt API e hashing 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 di @D1rkMtr

    • Un'immagine del frammento dal link sopra, che ho usato qui per risolvere l'API dinamicamente senza codificare gli offset:
      alt text

    • Il codice di hashing delle API che ho applicato:


#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("[!] Sbagliato!\n");
		printf("[->] Sintassi: .\\%s <NomeNTFunc>\n\n", argv[0]);
		return 1;
	}

	const char* string = argv[1];

	DWORD64 hashvalue = djb2(string);

	printf("Valore Hash: 0x%llX\n", hashvalue);

	return 0;
}

  1. Politica di mitigazione ACG (Arbitrary Code Guard)/BlockDll:

    • link:
    • Protecting Your Malware di @xpn
    • Wraith di @winterknife
    • spawn e HOLLOW di @0xBoku alt text
  2. Rilevamento dello spoofing PPID:

    • PPID Spoofing Detect di @spotheplanet
    • Se avrò tempo, aggiungerò una parte di rilevamento a questa sezione! -> [Rimanente.................................................!]
  3. Rilevamento Moneta e PESieve:\

    • Moneta:
      alt text
Scarica lo strumento