Torno sulla storia dell’SMS Premium Challenge che avevo proposto qualche giorno fa per proporre una sfida semplificata: una demo di clickjacking per cominciare a costruire una parte del progetto.
La parte riguardante gli SMS è già a buon punto: sono già in grado di inviare SMS facendo comparire un numero che non è quello del vero mittente.
L’SMS di richiesta iniziale di abbonamento può quindi essere inviato da qualcuno che finge di essere la vittima. Resta ora da completare la parte nella quale la vittima viene indotta a inviare l’SMS di conferma dell’abbonamento ai servizi SMS Premium, senza che se ne renda conto. Per questo passo ho pensato di provare con qualcosa di simile al clickjacking.
Il clickjacking (o user interface redressing) è la tecnica che consiste nel creare un sito che mostra un contenuto ma in realtà riceve i clic (o i tap sullo schermo) su un altro contenuto, in genere fraudolento. Clicchi sulla foto di un gattino, ma il tuo clic in realtà viene passato a un pulsante presente in un’altra pagina che ti abbona a un servizio.
Una demo ormai classica di questa tecnica, datata 2011 e di cui avevo scritto all’epoca, mostra come si poteva addirittura attivare una webcam semplicemente convincendo la vittima a cliccare su un pulsante del tutto innocente, grazie ad Adobe Flash:
L’obiettivo di questa parte della sfida è quindi creare un mini-sito dimostrativo, etichettato chiaramente come tale, che
- sullo schermo di un telefonino (Android e/o iOS)
- mostri un contenuto innocente (per esempio una foto di un gattino e un pulsante “clicca qui per vedere altri gattini!”)
- ma in realtà passi il clic a una pagina ostile che compone un SMS pronto da mandare a un numero specifico (usando la funzione di composizione automatica di SMS descritta nel mio articolo precedente); ho preparato una demo innocua qui che si limita a precompilare, senza inviare, un SMS con scritto “SI” al mio telefonino; provatela pure, se inviate l’SMS è a carico vostro)
- e usa il clickjacking per indurre l’utente a inviare questo SMS senza che se ne accorga, intercettando il suo clic oppure coprendo/nascondendo in qualche modo il fatto che si tratta di un invio di un SMS.
- Bonus (facoltativo): l’SMS inviato viene eliminato dal telefonino.
Il “senza che se ne accorga” significa che sullo schermo della vittima non compare, o compare solo fugacemente, la schermata di invio SMS, ma l’SMS viene inviato lo stesso.
Per il primo che mi invia una demo funzionante accessibile via Internet (insomma, hostata su un sito pubblicamente accessibile) ci sono in palio 100 euro, per voi o come donazione al vostro ente benefico preferito. Offro io. La scadenza è mezzogiorno di domani (lunedì 7/2).
Anche se non vi cimentate nella demo, se avete idee o suggerimenti, i commenti sono a vostra disposizione. E mal che vada, diffonderemo un po’ la conoscenza dell’esistenza dello spoofing degli SMS e del clickjacking.
Qualche fonte alla quale ispirarvi:
- per il codice (passaggio di clic o tap fra due pagine Web) HackTricks, Javascript.info, Lutfu Mert Ceylan, PortSwigger.net;
- per i principi generali del clickjacking: Imperva, paper su Researchgate, Kaspersky (in italiano);
- per le app Android che mandano SMS Premium e poi cancellano gli SMS entranti: Graham Cluley;
- e un caso reale di SMS con mittente falsificato usati per vuotare conti bancari a Singapore (con video dimostrativo).
Sarò offline fino a stasera tardi; in ogni caso varrà l’ordine di arrivo delle mail o dei commenti a questo post. Buon divertimento!