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.

FeedContattoPrivacy© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
CS-DropSpawn_BOF — # BOF per CobaltStrike per generare Beacon tramite DLL Application Directory Hijacking | Kitploit
Strumenti/GitHubGitHub/gmh5225/cs-dropspawn_bof
ExploitPost-ExploitPenetration TestingRed TeamingSviluppo Payload
GitHubgmh5225/cs-dropspawn_bof

CS-DropSpawn_BOF

# BOF per CobaltStrike per generare Beacon tramite DLL Application Directory Hijacking

Vedi Repository
3243 anni faNon ancora revisionato

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 →
Condividi

DropSpawn

Introduzione

DropSpawn è un BOF per CobaltStrike utilizzato per generare Beacon aggiuntivi tramite un metodo relativamente sconosciuto di DLL hijacking. Funziona x86-x86, x64-x64 e x86-x64/viceversa. Da usare come alternativa all'iniezione di processi.

Gli eseguibili Windows seguono l'ordine di ricerca delle DLL quando tentano di caricare DLL il cui percorso assoluto non è stato specificato:
image

Il DLL hijacking richiede tipicamente che:

A. Un utente abbia permessi di scrittura in una cartella con precedenza nell'ordine di ricerca superiore rispetto a quella in cui risiede la DLL reale

oppure

B. Che la DLL in questione non esista da nessuna parte sul sistema, nel qual caso può essere collocata in una cartella scrivibile dall'utente nella variabile %PATH% dell'utente (come %USERPROFILE%\appdata\local\microsoft\windowsapps).

Questi requisiti escludono il DLL hijacking per gli eseguibili che risiedono in C:\Windows\System32 perché quasi tutte le DLL che questi eseguibili caricano risiedono anch'esse in System32. Copiare un eseguibile di System32 in una posizione scrivibile dall'utente ed eseguirlo lì è un'opzione, ma non è molto sicura dal punto di vista OPSEC perché i binari di System32 eseguiti da posizioni alternative sono facili da identificare.

DropSpawn abilita il DLL hijacking utilizzando eseguibili di System32 (e altri presenti in cartelle aggiuntive non scrivibili dall'utente) falsificando "La directory da cui viene caricata l'applicazione" con una arbitraria specificata dall'utente.

Nota:

La versione pubblica di DropSpawn differisce leggermente da quella non pubblica. La versione non pubblica sfrutta un generatore di payload proprietario, rendendo l'esperienza molto più fluida per l'operatore. La versione pubblica è stata leggermente modificata per tenere conto del fatto che gli utenti avranno i propri metodi per generare payload compatibili con il DLL hijacking. Uno script Python3 e il codice sorgente per una DLL dimostrativa sono stati inclusi per assistere gli utenti nell'integrazione e nell'armamento di DropSpawn.

Come Usarlo

1.

Identifica alcuni eseguibili target che tentano di caricare DLL senza specificarne i percorsi assoluti. Puoi farlo copiando l'exe in una directory scrivibile dall'utente ed eseguendolo mentre lo monitori con Procmon. In questo esempio useremo WerFault.exe che normalmente risiede in C:\Windows\System32\WerFault.exe

image

Nell'esempio sopra, cryptsp.dll, wer.dll, dbghelp.dll e bcrypt.dll sono tutti candidati validi perché i loro percorsi assoluti non sono stati specificati all'interno di WerFault; di conseguenza, WerFault tenterà di caricarli dalla propria directory dell'applicazione prima di ricorrere al resto dell'ordine di ricerca delle DLL. Nota che questo tipicamente non è un problema perché la directory dell'applicazione di WerFault È System32.

2.

Scarica una delle DLL hijackable dal sistema target.

image Questo è necessario per poter estrarre le sue esportazioni e includerle nella nostra DLL payload. È importante prelevare la DLL hijackable dalla stessa macchina su cui desideri usare DropSpawn, poiché le DLL cambiano tra le versioni di Windows. Inoltre, se stai eseguendo un beacon x86 e vuoi generare un beacon x64 usando DropSpawn, assicurati di scaricare la versione x64 della DLL reale specificando 'C:\windows\sysnative...' invece di 'C:\windows\system32...'.

3.

Esegui generate_dll.py, passando la DLL scaricata e l'architettura del payload desiderata. Generate_dll.py è una versione modificata di questo script. Analizzerà la DLL fornita, creerà un file .def contenente le esportazioni della DLL e chiamerà MingW per compilare la nostra DLL payload dimostrativa. Quando il processo generato tenta di chiamare una funzione reale all'interno della DLL falsificata, la nostra DLL payload inoltrerà la chiamata alla DLL reale situata in System32 così che il processo host non vada in crash. image

4.

Chiama dropspawn usando la DLL payload generata.

dropspawn <payload DLL> <x86|x64> <programma da generare> [cartella target scrivibile] [parent]

payload DLL - il percorso completo della DLL payload generata.
architettura - l'architettura del processo che desideri generare
programma da generare - il nome/percorso del processo che desideri generare. Se questo processo risiede in System32 (o syswow64), puoi semplicemente specificare il nome. Altrimenti, specifica il percorso completo. Puoi anche fornire argomenti da riga di comando al processo. Se ci sono spazi nel percorso/se usi argomenti, racchiudi il tutto tra virgolette.
cartella target scrivibile - Opzionale. Se lasciato vuoto, dropspawn tenterà di usare la directory corrente del Beacon. Usa le virgolette se ci sono spazi nel percorso.
parent - Opzionale. Il nome del processo da usare per lo spoofing del PPID con il processo appena generato. Se viene specificato un processo che ha più istanze in esecuzione con diversi livelli di privilegio (es. svchost.exe), dropspawn tenterà di identificarne una che possa essere usata per lo spoofing del PPID.

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

Questo rilascerà la DLL payload 'dbgcore.dll' su disco in 'c:\users\user\appdata\local\temp\dbgcore.dll' e genererà un processo WerFault.exe x64 con gli argomenti da riga di comando '-u -p 4352 -s 160' e explorer.exe come processo padre.

image

image

5.

La pulizia è semplice. Includendo la funzione di Auto-Cancellazione nella DLL payload rilasciata su disco, questa verrà eliminata non appena il nostro nuovo processo viene generato e la carica. Questo è un punto di svolta, poiché tipicamente la DLL rimarrebbe bloccata su disco finché il nostro processo che l'ha caricata continua a essere in esecuzione. Se la tecnica di Auto-Cancellazione fallisce per qualche motivo (o il processo non riesce a essere generato), DropSpawn tenterà di eliminare la DLL payload dal disco e informerà l'utente del risultato dell'operazione in entrambi i casi.

Scarica lo strumento