Input Injection: Simulazione di Comandi Tramite Tastiera (T1674)

La simulazione di input da tastiera rappresenta una tecnica sofisticata che permette agli attaccanti di eseguire azioni sul sistema vittima come se fossero l'utente legittimo. Questa metodologia sfrutta l'emulazione di pressioni di tasti per lanciare interpreti di comando, digitare script inline o interagire direttamente con applicazioni GUI.

L'approccio trova applicazione nella fase di Execution (TA0002) della kill chain, dove l'obiettivo principale è l'esecuzione di codice malevolo. Gli attaccanti possono pre-programmare queste azioni nei propri tool o utilizzare dispositivi fisici come Human Interface Device (HID) malevoli.

Esempi concreti includono tool che monitorano il Windows message loop per rilevare quando un utente visita URL bancarie specifiche. Una volta identificata l'attività, il tool simula combinazioni di tasti per aprire la console sviluppatore del browser, incolla JavaScript malevolo dalla clipboard e lo esegue, permettendo la manipolazione di transazioni bancarie in tempo reale. Attualmente 1 gruppo APT ha implementato questa tecnica nelle proprie operazioni.

Per comprendere appieno questa tecnica, partiamo dalla creazione di un dispositivo USB malevolo che emula una tastiera. Il gruppo FIN7 ha dimostrato l'efficacia di questo approccio utilizzando USB modificate per lanciare PowerShell ed eseguire payload remoti.

Su Windows, puoi utilizzare Arduino con firmware Rubber Ducky per simulare pressioni di tasti:

void setup() {
  Keyboard.begin();
  delay(3000);
  Keyboard.press(KEY_LEFT_GUI);
  Keyboard.press('r');
  Keyboard.releaseAll();
  delay(500);
  Keyboard.print("powershell -WindowStyle Hidden -ExecutionPolicy Bypass");
  Keyboard.press(KEY_RETURN);
}

Per simulare input senza hardware fisico, AutoHotkey permette di automatizzare sequenze complesse. Crea uno script che monitora finestre specifiche e inietta comandi:

Send, {F12}
Sleep, 500
SendRaw, document.body.innerHTML = 'Compromised';
Send, {Enter}

Su Linux, xdotool offre funzionalità simili per l'automazione di input: xdotool search --name "Banking Portal" windowactivate --sync key ctrl+shift+j

La catena d'attacco tipica prevede: identificazione della finestra target, apertura console sviluppatore tramite shortcut (F12 o Ctrl+Shift+J), inserimento del payload JavaScript, esecuzione immediata. Per testare in laboratorio, configura una VM isolata con applicazioni web di test e monitora l'esecuzione dei comandi iniettati attraverso Process Monitor.

Vuoi diventare un Ethical Hacker ma non sai da dove iniziare?

Scarica la guida gratuita e segui il percorso corretto fin dal primo passo