Un informatico dalla parte del male

L’XI edizione di RootedCON è qui. Ho detto recentemente che è una settimana speciale, piena di molte ore intense tra allenamenti e colloqui, preparazione, esposizione, incontro con vecchi e nuovi amici. Quest’anno sono tornato per tenere un discorso, che abbiamo chiamato “Hacking the outside world through BLE BlueTooth Low-Energy”, questa volta insieme al mio partner Alvaro Nuñez.

Figura 1: Hacking Things con Bluetooth Low-Energy (BLE)

L’argomento del discorso era BLE o Bluetooth Low-Energy, su cui in quest’ultimo anno abbiamo lavorato e passato ore. Uno degli strumenti in cui il lavoro è stato integrato è HomePWN. Il discorso aveva una struttura e un obiettivo chiari. L’obiettivo era quello di mostrare che cosa è BLE, che lo abbiamo intorno a noi attraverso molti dispositivi con cui interagiamo nel nostro giorno per giorno, mostrare i precedenti nella sicurezza BLE negli ultimi anni, valutare la sicurezza dei tipi di dispositivi e mostrare gli attacchi sulla tecnologia BLE e, infine, parlare di fortificazione pensando alle persone che progettano dispositivi e che hanno bisogno di BLE in questi.

Figura 2: HomePWN su GitHub

Abbiamo voluto dare un approccio pratico e mostrare anche con che tipo di cose abbiamo lavorato, quindi siamo andati sul campo e abbiamo mostrato le strane demo, inclusa una dal vivo.
Introduzione a BLE
Abbiamo voluto iniziare dando i dettagli tecnici più importanti di BLE in modo che tutti possano capire come funziona. Nel modo più semplice e in un modo che ci permetta di adattare certe notizie o certi attacchi con i concetti visti nell’introduzione. Concetti come spiegare perché appare BLE, cosa contribuisce alla tecnologia wireless, qual è il suo ambito, cioè quali sono i suoi canali (37 dati e 3 annunci), e così via.

Figura 3: 37 dati e 3 canali pubblicitari in BLE

Inoltre, la spiegazione di concetti chiave come i seguenti:

  • Access Address.
  • Come viene eseguito il channel hopping?
  • Channel Map
  • Hop Interval
  • Hop Increment
  • Hop Algorithm Types

Dopo aver spiegato anche i tipi di pacchetti BLE o header type, che indicano che tipo di pacchetto ‘advertisement’ abbiamo in mano, ci concentriamo sul pacchetto di tipo CONNECT_REQ.

Figura 4: Channel hopping in BLE

Nella figura catturata qui sotto potete vedere come dopo aver catturato uno di questi pacchetti, possiamo vedere i concetti che erano stati presentati precedentemente, sia grazie al tool Btlejack, sia grazie a Wireshark.

Figura 5: Pacchetto BLE catturato con BTLEJack e visto con WireShark

L’obiettivo era quello di dare una breve introduzione di dieci minuti agli aspetti rilevanti di un protocollo che è tra noi e che stiamo usando quotidianamente. Come ho commentato nella stanza, tutti quelli seduti lì, in un modo o nell’altro, stanno usando questa tecnologia quotidianamente.

Precedenti
Nella parte dei precedenti in incidenti di sicurezza e vulnerabilità sono stati discussi diversi casi:

  • Esempi su gadgetbridge.
  • L’hacking di MiBand3 e MiBand4.
  • Casi reali con tracker.


Figura 6: Hacking dei cercapersone con BLE

  • BluedIoT, che è stato già discusso sul blog da Gerard Fuguet.
  • Il caso della vulnerabilità CVE-2019-12500 e il blocco motore di uno scooter.

Figura 7: Il caso di blocco Xiaomi ha fatto il giro del mondo

Nel repository di CamiAlfa puoi trovare il reverse engineering sullo scooter Xiaomi. Ci siamo imbattuti in alcune cose curiose, come possiamo vedere un “non so” su alcune azioni che sono state invertite.

Figura 8: Un “non so” sull’inversione dello scooter Xiaomi

  • Finalmente, Sweyntooth è stato discusso. Si tratta di una famiglia di 12 vulnerabilità, che si trova nell’implementazione BLE nell’SDK. Ci sono un certo numero di venditori colpiti come: Texas Instruments, NXP, Cypress, Dialog Semiconductors, Microchip, STMicroelectronics e Telink Semiconductor.

Attacchi a BLE
Nella sezione di valutazione della sicurezza, sono stati mostrati una serie di attacchi, che sono stati discussi e spiegati:

    • Sniffing: Come tecnica per catturare ciò che circola attraverso il mezzo di condivisione, in questo caso, l’aria.
    • Replay: La tecnica del replay è stata spiegata con un’immagine da gattack.io, che mostra chiaramente cos’è un replay. È stato sottolineato che l’auto non è il miglior esempio per BLE, ma un buon esempio dell’azione di replay.

    Figura 9: BLE Replay Attacks per aprire auto

      • Hijacking: è il dirottamento di una connessione esistente. Fa uso dell’indirizzo di accesso e del timeout per ottenere il dirottamento della connessione. Nella seguente immagine potete vedere lo schema dell’attacco:

      Figura 10: Schema di un attacco BLE Hijacking

      Nel seguente video potete vedere un hijacking con Btlejack. L’attacco risponde allo schema di cui sopra e può dirottare la connessione grazie alla conoscenza dell’indirizzo di accesso.

      Figura 11: PoC di dirottamento delle sessioni BLE
      • Jamming: Il concetto di Jamming riguarda l’interferenza del segnale o la generazione di rumore con l’obiettivo che il segnale originale non raggiunga il ricevitore. Questo non accade con l’applicazione btlejack, che utilizza più uno schema di dirottamento, senza dirottare la connessione, ma causa la perdita della comunicazione.
      • MITM: Nell’immagine da gattack.io possiamo vedere un chiaro e semplice esempio di MITM. Non c’è bisogno di molte descrizioni su un MITM al giorno d’oggi. Lo schema è semplice: scoperta del dispositivo vittima. Connettersi al dispositivo vittima in modo che non sia più pubblicizzato. Annunciare lo stesso dispositivo e reindirizzare i dati quando si ha una nuova connessione.

      Figura 12: Esempio di attacco MITM BLE da gattack.io

      • Attacchi sulla crittografia: A volte le comunicazioni sono criptate. Mostriamo come eseguire un attacco su una cattura criptata quando sono date certe condizioni. Lo strumento utilizzato è stato CrackLE.
      Figura 13 Crackle Demo per decifrare il traffico BLE criptato

      Vogliamo ringraziare tutte le persone che sono venute a vedere il talk sabato alle 10.00 e hanno riempito la sala. Possiamo solo dire:
      Grazie.
      Autore: Pablo González Pérez (@pablogonzalezpe), scrittore dei libri “Metasploit for Pentesters”, “Hacking with Metasploit: Advanced Pentesting” “Hacking Windows”, “Ethical Hacking”, “Got Root”, “Pentesting with Powershell” e “Empire: Advanced Hacking in the Red Team”, Microsoft MVP in Security e Security Researcher nel team “Crazy Ideas” di Telefonica CDCO. Per domande puoi usare la casella postale pubblica per contattare Pablo González

      Figura 14: Contattare Pablo González

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *