Skip to content
KitploitKITPLOIT
StrumentiBlog
Log in
Invia
StrumentiBlog
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
aggrokatz — Aggrokatz è un'estensione del plugin aggressor per Cobalt Strike che consente a pypykatz di interfacciarsi con i beacon in remoto e di analizzare i file dump LSASS e i file hive del registro per estrarre credenziali e altri segreti memorizzati, senza scaricare il file e senza caricare alcun codice sospetto sul beacon. | Kitploit
Strumenti/GitHubGitHub/sec-consult/aggrokatz
Framework di ExploitPost-ExploitPenetration TestingRed TeamingSviluppo Payload
GitHubsec-consult/aggrokatz

aggrokatz

Vedi Repository
15526145 anni 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

Aggrokatz è un'estensione del plugin aggressor per Cobalt Strike che consente a pypykatz di interfacciarsi con i beacon in remoto e di analizzare i file dump LSASS e i file hive del registro per estrarre credenziali e altri segreti memorizzati, senza scaricare il file e senza caricare alcun codice sospetto sul beacon.

Condividi

aggrokatz

aggro_card

Cos'è questo

aggrokatz è un'estensione plugin Aggressor per CobaltStrike che consente a pypykatz di interfacciarsi con i beacon in remoto.
La versione corrente di aggrokatz permette a pypykatz di analizzare file dump LSASS e file del Registro di sistema per estrarre credenziali e altri segreti memorizzati, senza scaricare il file e senza caricare alcun codice sospetto nel beacon (Cobalt Strike è già presente comunque). In futuro questo progetto mira a fornire funzionalità aggiuntive per operazioni coperte come la ricerca e la decifratura di tutti i segreti DPAPI/kerberoasting/ecc.

Abbiamo pubblicato un breve post sul blog per il rilascio di questo strumento, che include anche alcuni screenshot.

NOTE IMPORTANTI - PER FAVORE LEGGI

Il dump di LSASS/Registro non è l'obiettivo di questo progetto, solo l'analisi. Motivi:

  1. Molte tecniche di dump sono già implementate da Cobalt Strike (CS) e ampiamente disponibili pubblicamente. Recentemente siamo passati a una versione modificata di CredBandit che scrive i byte grezzi su disco invece del base64. Bel tool, dai un'occhiata.
  2. Vogliamo mantenere privata la nostra tecnica di dump.

Nel client CS, non usare "reload" né provare a scaricare e ricaricare manualmente lo script se lo hai modificato. DEVI rimuoverlo, chiudere il client e riavviarlo, quindi caricare lo script modificato. Altrimenti avrai più versioni in esecuzione contemporaneamente e un sacco di errori e comportamenti strani!
Durante l'analisi dei file LSASS/Registro in remoto, non interagire con il beacon specifico su cui hai avviato lo script. Normalmente non creerebbe problemi, ma non posso dare garanzie.

Installazione

  • Dovrai installare e configurare pycobalt. C'è un readme sulla loro pagina GitHub.
  • Dovrai installare pypykatz versione >=0.4.8
  • Dovrai avere Cobalt Strike

Configurazione

  • Assicurati che il file aggressor.cna di pycobalt sia configurato e sappia la posizione del tuo interprete Python
  • Modifica il pycobalt_path in aggrokatz.cna per puntare a pycobalt.cna
  • In CS usa le finestre View > Script Console e Cobalt Strike > Script Manager. Usando Script Manager, carica lo script aggkatz.cna.

Utilizzo

  • Se lo script aggkatz.cna è stato caricato con successo, avrai una nuova voce di menu pypykatz quando fai clic destro su un beacon.
  • Durante l'analisi vedrai messaggi di debug nella finestra Script Console.
  • Al termine dell'analisi, i risultati saranno mostrati sia nella finestra Script Console che nella finestra del Beacon.

Parametri del menu di analisi dump LSASS

  • File LSASS: La posizione del file lsass.dmp sul computer remoto. Puoi anche usare percorsi UNC per accedere a file lsass.dmp condivisi via SMB
  • chunksize : La quantità massima che verrà letta in una volta
  • File BOF : Il file BOF (Beacon Object File) che consente letture a blocchi. Questo file verrà caricato ed eseguito (in memoria) ogni volta che viene letto un nuovo blocco.
  • (modulo) : Specifica quali moduli verranno analizzati. Predefinito: all
  • Output : Specifica i formati di output
  • Popola scheda Credenziali : Dopo un'analisi riuscita, tutte le credenziali ottenute saranno disponibili nella scheda Credenziali di Cobalt Strike. Questa funzionalità è in beta
  • Elimina file remoto dopo l'analisi : Dopo un'analisi riuscita, il file dump LSASS verrà rimosso dal target

Parametri del menu di analisi dump del Registro

  • File SYSTEM: La posizione del file SYSTEM.reg sul computer remoto. Puoi anche usare percorsi UNC per accedere a file condivisi via SMB
  • File SAM (opzionale): La posizione del file SAM.reg sul computer remoto. Puoi anche usare percorsi UNC per accedere a file condivisi via SMB
  • File SECURITY (opzionale): La posizione del file SECURITY.reg sul computer remoto. Puoi anche usare percorsi UNC per accedere a file condivisi via SMB
  • File SOFTWARE (opzionale): La posizione del file SOFTWARE.reg sul computer remoto. Puoi anche usare percorsi UNC per accedere a file condivisi via SMB
  • chunksize : La quantità massima che verrà letta in una volta
  • File BOF : Il file BOF (Beacon Object File) che consente letture a blocchi. Questo file verrà caricato ed eseguito (in memoria) ogni volta che viene letto un nuovo blocco.
  • Output : Specifica i formati di output

Limitazioni

Il BOF di lettura file attualmente supporta letture fino a 4 GB. Può essere esteso con alcune modifiche, ma finora non sono stati osservati file così grandi.

Come funziona

TL;DR

Normalmente il parser di pypykatz esegue una serie di operazioni di lettura file su disco, ma con l'aiuto di aggrokatz queste operazioni di lettura vengono tunnelizzate al beacon utilizzando un BOF (Beacon Object File) appositamente progettato che consente di leggere il contenuto del file remoto a blocchi. Questo permette a pypykatz di estrarre tutti i segreti dai file remoti senza leggere l'intero file, prelevando solo i blocchi necessari in cui si trovano i segreti.

In profondità

Per avere un quadro completo dell'intero processo, ci sono due parti da evidenziare:

  1. come pypykatz si integra con CobaltStrike
  2. come pypykatz esegue l'estrazione delle credenziali senza leggere l'intero file

Integrazione di pypykatz in CobaltStrike

CobaltStrike (agente) è scritto in Java, pypykatz è scritto in Python. Questo è un problema. Fortunatamente per noi, un'entità sconosciuta ha creato pycobalt che fornisce un'interfaccia pulita tra i due mondi, completa di API utili che possono essere invocate direttamente da Python. Nonostante pycobalt sia un pezzo di ingegneria meraviglioso, ci sono alcuni problemi/svantaggi che dobbiamo segnalare:

  1. Sulla fiducia nel progetto pycobalt:
  • Abbiamo cercato di contattare l'autore ma non abbiamo ricevuto risposta.
  • Non possiamo garantire che il progetto pycobalt sarà mantenuto in futuro.
  • Non controlliamo alcun aspetto dello sviluppo di pycobalt.
  1. Sui problemi tecnici osservati:
  • In generale ci sono alcuni problemi di codifica tra pycobalt e CobaltStrike. Ciò comporta che alcune chiamate API restituiscano byte che non possono essere utilizzati perché alcuni byte vengono alterati dal codificatore. Esaminando il codice, concludiamo che la maggior parte dei problemi di codifica/decodifica sono dovuti al fatto che pycobalt usa STDOUT/STDIN per comunicare con il processo Java.
  • In particolare, la chiamata API bof_pack, cruciale per questo progetto, ha dovuto essere implementata come script puramente Aggressor e invocata solo da Python utilizzando strutture dati di base (stringa e int) e non byte.
  • Solo API bloccanti fornite dal pacchetto pycobalt senza supporto per il threading. Beh, almeno abbiamo osservato che il threading si rompe in modo casuale, ma in un certo senso ce lo aspettavamo.
  • API bloccante + nessun threading + dipendenza dai callback = abbiamo dovuto impiegare alcuni hack strani per far funzionare il tutto.
Scarica lo strumento