Scoperta grave vulnerabilità su Windows presente da 20 anni

È stata scoperta solo pochi giorni fa una vulnerabilità che affligge tutti i sistemi operativi Windows denominata #BadTunnel. A fare questa sensazionale scoperta è stato un ricercatore di sicurezza cinese di nome Yang Yu, direttore del Xuanwu Lab of Tencent a Beijing, che ha individuato la falla presente ormai da 20 anni in tutte le versioni del sistema operativo di casa Microsoft, da Windows 95 a Windows 10.

Grazie al Bug Bounty, per questa scoperta Yang Yu ha guadagnato il massimo premio che Microsoft concede in questi casi, circa 50 mila dollari.

La scoperta verrà presentata ufficialmente da Yang al Black Hat Summit 2016 che si terrà come di consueto a Las Vegas dal 30 luglio al 4 agosto. Per chi non conoscesse il Black Hat, è un evento molto noto nella comunità hacker e molto seguito in tutto il mondo, dove ricercatori e esperti di sicurezza presentano le loro scoperte.

“Questa vulnerabilità ha un impatto di sicurezza molto alto, probabilmente il più ampio mai registrato nella storia di Windows” – afferma Yang Yu.

Ma in cosa consiste #BadTunnel?

BadTunnel è una tecnica per NetBIOS-spoofing tra network. La tecnica permetterebbe all’attaccante di avere accesso al traffico che passa sul network della vittima oltrepassando eventuali Firewall e NAT di rete.

Secondo Yang, la vulnerabilità è causata nello specifico da una serie di implementazioni apparentemente corrette ma che impattano sul layer di trasporto e quello applicativo e ad una serie di protocolli applicativi usati dal sistema operativo.

Ipotesi di attacco

Un attaccante potrebbe tramite una mail di phishing o tecniche di social engineering indurre la vittima a cliccare su un determinato link con il browser IE o Edge e a farla accedere ad una pagina malevola.

La pagina malevola dell’attaccante appare come un File Server o un Local Print Server e tramite una serie di altre vulnerabilità che includono:

  • come Windows risolve i nomi di rete e accetta le risposte
  • come IE e Edge Browser supportano le pagine con codice embeddato
  • come Windows gestisce le path di rete via l’indirizzo IP
  • come il NetBIOS Name Service NB e NBSTAT interroga e gestisce le transazioni
  • come Windows gestisce le richieste sulla porta UDP 137

BadTunnel prende vita.

Simulazione di uno scenario di attacco prese dal paper tecnico di Yang

  1. Alice e Bob sono su reti differenti e hanno tra loro firewall e  NAT. Bob ha la porta 137/UDP e raggiungibile da Alice
  2. Bob chiude le porte 139 e la 445 lasciando aperta solo la 137/UDP
  3. Alice è convinta di accedere a file URI o UNC path che puntano a Bob tramite un altro hostname URI come http://WPAD/x.jpg o http://FileServer/x.jpg 
  4. Alice invia una query NBNS NBSTAT verso Bob e verso l’indirizzo LAN di brodacast
  5. Se Bob blocca l’accesso alle porte 139 e 445 con una regola Firewall, Alice invierà una query di NBNS NBSTAT dopo circa 22 secondi. Se Bob invece chiude le porte 139 e 445 disabilitando il servizio Server Windows o il NetBIOS sul protocollo TCP/IP, Alice non ha bisogno di aspettare la connessione che scade prima di inviare la query.
  6. Quando Bob riceve la query NBNS NBSTAT inviata da Alice, Bob risponde forgiando un NBNS NB response prevedendo il transaction id e lo invia ad Alice. Se un pacchetto heartbeat viene inviato ogni pochi secondi, la maggior parte dei firewall e dispositivi NAT tengono aperta la connessione sulla porta 137/UDP
  7. Alice ora può aggiungere la risoluzione dell’indirizzo inviata da Bob all NBT cache. Il valore di default della TTL per la cache NBT è di 600 secondi.
  8. Bob può ora dirottare il traffico di Alice attraverso l’utilizzo del WPAD (Web Proxy Auto-Discovery Protocol) o tramite ISATAP (Intra-Site Automatic Tunnel Addressing Protocol) server.

(La tecnica di attacco con WPAD  venne presentata al BlackHat nel 2007. Inoltre il worm FLAME impiegò una tecnica simile.)

Fortunatamente Microsoft è corsa ai ripari e ha rilasciato il bollettino di sicurezza MS16-077 che mette al sicuro da attacchi di questo genere.

Se invece non è possibile installare la patch, per mitigare questo attacco è bene bloccare all’interno del proprio network la porta 137/UDP. Per utenti individuali invece si consiglia di disabilitare NetBIOS TCP/IP.

 

Facebook Comments

LEAVE A REPLY

Please enter your comment!
Please enter your name here