Discussione Enumerazione dei paesi più vulnerabili a MS17-10 - In onore del mese dedicato alla sicurezza informatica

Stato
Discussione chiusa ad ulteriori risposte.

Access Denied

Utente Emerald
17 Gennaio 2022
324
87
214
467
Ultima modifica:
Onestamente non lo sapevo, dal 2004, Ottobre è il mese dedicato agli appassionati di sicurezza informatica. In onore di questo mese, oggi parlerò nuovamente della famosa vulnerabilità di microsoft-ds che ha fatto tremare il mondo nel 2017, e le cui origini sono tutt'oggi oggetto di speculazione. Quest'exploit funziona su tutte le versioni di Windows ed è stata sviluppata una variante anche per Linux (detta SambaRed, o SambaCry), e vi chiederete, perché decido di parlare proprio di quest'exploit, quando ne sono stati scoperti altri in tempi più recenti, come smbghost? Mi piacerebbe che gli utenti comprendano il significato di essere vulnerabili nel 2022, a una famiglia di exploit scoperta e fixata 5 anni fa. Se nel 2022 avvistate su Censys, ZoomEye, Shodan o dove volete, un OS vulnerabile a questa famiglia di exploit, siete in grado di capire fin da subito che esiste una grave lacuna nell'accortezza del target, riguardo la gestione dei suoi dispositivi.

In questi mesi ho estrapolato dei risultati molto interessanti riguardo MS17-010, e di seguito enumererò, secondo i risultati della mia campagna di operazioni di sicurezza offensive, il numero di paesi vulnerabili a EternalBlue dal più critico al meno vulnerabile. Il thread ovviamente non intende redirigere il lato oscuro e silenzioso di Inforge verso questi poveracci (perché tanto ho scritto agli amministratori, anche se non conoscere le lingue straniere a parte l'inglese è stato problematico), quanto piuttosto quello di creare consapevolezza in chiunque, quanta più possibile:

1° posto: Paesi latino-americani. Prima del mio intervento, queste zone erano in una situazione molto seria. Le condizioni di povertà di queste zone, non costituiscono una ragione valida per la loro esclusione dai programmi di educazione all'igiene digitale. Il denaro non dovrebbe essere il primo pensiero nella mente di qualcuno, almeno per me;
2° posto: India. Incredibile ma vero, molti ricercatori di sicurezza informatica che scrivono guide e rettificazioni sugli exploit su Google e Git sono indiani, eppure l'India era messa male;
3° posto: Spagna. Qui ho rilevato alcuni device anche moderni risultati positivi allo scanner;
4° posto: Russia. Pensavate davvero che questo paese fosse famoso per la presenza di presunti guru dell'hacking? Questo non lo so onestamente, ma l'aver trovato vari device (fra cui molto datati) vulnerabili a MS17-010 mi fa riflettere due volte sulle credenze della massa;
5° posto: Asia sud-orientale: identificato un cluster di paesi in Asia sud-orientale con varie edizioni di Windows vulnerabili all'exploit. Anche qui ho fatto arrivare il mio messaggio agli amministratori.

Per quanto riguarda l'Italia, sono contento di rivelare che sono alquanto stupito, non mi aspettavo che ci fosse così tanta accortezza negli italiani. I device vulnerabili da noi sono pochi, e quei pochi che risultano vulnerabili sono falsi positivi, o comunque operano dietro un firewall, risultando irraggiungibili dallo scanner (ping timed out). Comunque, non c'è molto da rassicurarsi, perché l'OS più diffuso in Italia è Android. Non ho studiato quest'OS, ma per fare una stima precisa dell'accortezza degli italiani in fatto di sicurezza informatica, bisognerebbe focalizzare le ricerche su Android (con che frequenza aggiornano l'OS, i programmi di protezione che ci utilizzano, versione e modello del device, la percentuale dei device rootati). Questo può essere fatto tramite un'investigazione simile a quella fatta da me con MS17-010 (uso di motori di ricerca come Censys, ZoomEye ecc). Conoscendo l'indole dell'italiano medio, temo sia molto difficile raggiungere dei risultati affidabili tramite i sondaggi.

Per concludere, MS17-010 è un exploit da laboratorio, e quando si effettua un indagine online, bisogna affidarsi ad uno scanner di rete (o alla sua controparte innoqua presente in Metasploit, ossia smb_psexec o smb/command/psexec). L'exploit originale leakato dagli Shadow Brokers è instabile, perchè genera circa 1000 byte di kernel shellcode che viene iniettato direttamente in memory. Se l'exploit fallisce (ad esempio sovrascrivendo l'indirizzo di memoria sbagliato), c'è un probabilità altissima di BSOD. Il BSOD generato da EternalBlue in sé non è pericoloso, e si risolve con un restart, ma tenete in conto questo: se durante un'indagine provocate un BSOD, oltre che alla perdita di "dati volatili" come operazioni in corso o impostazioni di sistema, esiste una piccola probabilità che il target OS non riesca a recuperare autonomamente, richiedendo un intervento manuale. Se inoltre nel target OS è in corso un system update, lanciare EternalBlue proprio in quel momento può essere fatale, e il target può non recuperare mai più dal BSOD (entrerà in loop e sarà necessario fare recovery dal backup). Affidarsi esclusivamente allo scanner per ottenere dei risultati, e lanciare l'exploit vero e proprio esclusivamente nel proprio laboratorio, o comunque su un target che vi ha già garantito il mutuo consenso (che qui è necessario per una questione molto ragionevole). Violare (o omettere) queste indicazioni nel corso di un'operazione costituisce l'instaurarsi delle basi per un reato informatico a tutti gli effetti, e qualora desideriate violare la legge, ricordatevi che la VPN non vi salverà. In compenso, le inbox per inviare un abuso al provider della vostra VPN sono sempre aperte.
 
  • Mi piace
Reazioni: CrazyMonk e 0xbro

0xbro

Super Moderatore
24 Febbraio 2017
4,219
166
3,290
1,645
1° posto: Paesi latino-americani. Prima del mio intervento, queste zone erano in una situazione molto seria. Le condizioni di povertà di queste zone, non costituiscono una ragione valida per la loro esclusione dai programmi di educazione all'igiene digitale. Il denaro non dovrebbe essere il primo pensiero nella mente di qualcuno, almeno per me;
Sono completamente d'accordo, mi è capitato diverse volte di testare applicazioni, siti o infrastrutture di quei paesi e mi duole dirlo ma sono dei colabrodo, sono davvero indietro anni luce rispetto alla media globale. Serve che facciano passi da gigante nei prossimi anni, altrimenti non riusciranno mai a rimettersi in pari.

Per concludere, MS17-010 è un exploit da laboratorio, e quando si effettua un indagine online, bisogna affidarsi ad uno scanner di rete (o alla sua controparte innoqua presente in Metasploit, ossia smb_psexec o smb/command/psexec). L'exploit originale leakato dagli Shadow Brokers è instabile, perchè genera circa 1000 byte di kernel shellcode che viene iniettato direttamente in memory. Se l'exploit fallisce (ad esempio sovrascrivendo l'indirizzo di memoria sbagliato), c'è un probabilità altissima di BSOD. Il BSOD generato da EternalBlue in sé non è pericoloso, e si risolve con un restart, ma tenete in conto questo: se durante un'indagine provocate un BSOD, oltre che alla perdita di "dati volatili" come operazioni in corso o impostazioni di sistema, esiste una piccola probabilità che il target OS non riesca a recuperare autonomamente, richiedendo un intervento manuale. Se inoltre nel target OS è in corso un system update, lanciare EternalBlue proprio in quel momento può essere fatale, e il target può non recuperare mai più dal BSOD (entrerà in loop e sarà necessario fare recovery dal backup). Affidarsi esclusivamente allo scanner per ottenere dei risultati, e lanciare l'exploit vero e proprio esclusivamente nel proprio laboratorio, o comunque su un target che vi ha già garantito il mutuo consenso (che qui è necessario per una questione molto ragionevole). Violare (o omettere) queste indicazioni nel corso di un'operazione costituisce l'instaurarsi delle basi per un reato informatico a tutti gli effetti, e qualora desideriate violare la legge, ricordatevi che la VPN non vi salverà. In compenso, le inbox per inviare un abuso al provider della vostra VPN sono sempre aperte.
Aggiungo solo un piccolo bit a quanto già detto: ricordate che a volte anche uno scanner potrebbe far crashare l'intero OS! (ricordo il caso di Windows XP in cui era possibile causare un BSOD semplicemente scansionando l'OS). Per quanto la maggior parte delle volte il problema si risolve con un restart, tenete sempre a mente che magari quel PC o quell'apparato potrebbe essere collegato ad un'infrastruttura critica/delicata, a cui anche un solo crash potrebbe causare danni enormi (immaginate se il controllore di un dispositivo industriale dovesse crashare mentre stanno lavorando, o il controllore di un apparato nucleare dovesse spegnersi anche solo per quale minuto).

Valutate quindi sempre attentamente le situazioni che avete davanti e ponderate le vostre azioni ;)
 

Access Denied

Utente Emerald
17 Gennaio 2022
324
87
214
467
Ultima modifica:
No non è possibile, ho testato lo scanner su ogni MS OS in VM (e in questo momento l'ho usato anche contro un mio vecchio laptop) addirittura Win2000 che era un OS famoso per i suoi crash è uscito illeso dallo scanner. Ho sperimentato BSOD solo lanciando l'exploit originale vero e proprio, questo non è un gioco. So bene quello che faccio

Non me lo sono inventato, sono risultati di test fatti localmente. Se hai sperimentato un BSOD solo con una scansione vuol dire che il tuo target era già messo molto male di suo. Lo scanner si limita a inviare una query a SMB 445, poi a seconda di come il server risponde lo scanner stabilisce se il target è vulnerabile. Il BSOD si verifica quando viene sovrascritto un'indirizzo di memoria BSOD sensitive, e questo può avvenire solo durante l'exploitation vero e proprio.
 

CrazyMonk

Utente Gold
24 Dicembre 2021
562
15
309
232
Confermo quanto detto da @czonta96, un BSOD, di solito, si verifica soltanto nella fase di exploitation vero e proprio e non nella fase di scansione. Difatti la Blue Screen of Death viene scatenata quando si cerca di iniettare codice al livello del kernel o comunque si va ad interagire con i driver dello stesso. Ciò non toglie che ci sono dei casi di Computer che potrebbero crashare anche solo tramite scansioni Nessus, ad esempio, però arrivare ad un BSOD solo tramite scansione non mi sembra possibile.
 

Access Denied

Utente Emerald
17 Gennaio 2022
324
87
214
467
Ehi dite un po' a proposito, ma non è state utilizzando qualche tollazzo amatoriale da Git? Non bisogna avere la licenza per pubblicare uno script lì, può pubblicarci anche mia nonna. Per le scansioni utilizzate degli scanner ufficiali, e assicuratevi di disabilitare l'opzione di procedere automaticamente all'attacco prima di iniziare. Oppure in alternativa avete programmato uno scanner per conto vostro che contiene errori, io per le scansioni uso msf auxiliary/scanner/ms17-010. Il tempo non mi permette di dedicarmi in full alla programmazione, fra 2 settimane ho un esame di psicologia e non ho molto tempo. Potete estrarre la sorgente del modulo di msf, e se masticate ruby potete farvi una fork tutta vostra, ma testate sempre in locale prima di usarli sul serio. Se fosse vero che uno scanner può generare BSOD non oso immaginare in guaio globale ci troveremmo, e siti come Shodan sarebbero già chiusi, o comunque access granted solo a personale riconosciuto su licenza e altamente qualificato. Quello che mi chiedo piuttosto è come faccia una vulnerabilità grave come questa ad essere passata sotto i radar per anni... Dal 2001 esistono device con la falla che hanno operato senza la patch per quasi 20 anni... Io onestamente fatico a credere che l'exploit sia stato scritto intorno al 2017, ma sono comunque speculazioni
 

CrazyMonk

Utente Gold
24 Dicembre 2021
562
15
309
232
Ehi dite un po' a proposito, ma non è state utilizzando qualche tollazzo amatoriale da Git? Non bisogna avere la licenza per pubblicare uno script lì, può pubblicarci anche mia nonna. Per le scansioni utilizzate degli scanner ufficiali, e assicuratevi di disabilitare l'opzione di procedere automaticamente all'attacco prima di iniziare. Oppure in alternativa avete programmato uno scanner per conto vostro che contiene errori, io per le scansioni uso msf auxiliary/scanner/ms17-010. Il tempo non mi permette di dedicarmi in full alla programmazione, fra 2 settimane ho un esame di psicologia e non ho molto tempo. Potete estrarre la sorgente del modulo di msf, e se masticate ruby potete farvi una fork tutta vostra, ma testate sempre in locale prima di usarli sul serio. Se fosse vero che uno scanner può generare BSOD non oso immaginare in guaio globale ci troveremmo, e siti come Shodan sarebbero già chiusi, o comunque access granted solo a personale riconosciuto su licenza e altamente qualificato. Quello che mi chiedo piuttosto è come faccia una vulnerabilità grave come questa ad essere passata sotto i radar per anni... Dal 2001 esistono device con la falla che hanno operato senza la patch per quasi 20 anni... Io onestamente fatico a credere che l'exploit sia stato scritto intorno al 2017, ma sono comunque speculazioni
Non ho mai usato lo scanner di cui parli...però ho una curiosità: quando hai fatto le scansioni su qualche sistema Italiano hai detto che molti erano protetti da firewall perché hai avuto un "ping timed out", ma hai provato ad usare protocolli diversi per la scansione? Per esempio, i firewall dei sistemi MS Windows droppano in modo automatico le richieste che usano il protocollo ICMP.
 

Access Denied

Utente Emerald
17 Gennaio 2022
324
87
214
467
"error timed out" è normale, SMBv1 (e v2) sono servizi proni a problemi di latenza, una connessione a internet molto potente compensa in parte i problemi di latenza. Può essere un problema di latenza come può essere il firewall, per ottenere una risposta seria dovrei sperare che dall'altra parte stiano usando una connessione molto potente - che mitiga la latenza di SMBv1 - oppure mettere gambe in spalla e andare in sede del target per verificare che effettivamente è il firewall. Per fare firewall evasion puoi provare a cambiare porta (SMB 139), oppure Telnet, Ma ti dico, se il firewall è configurato per accettare solamente le richieste provenenti dalla rete locale del target su una porta specifica puoi fare poco e niente da remoto, al massimo puoi dare la caccia ad un altro servizio vulnerabile dello stesso target che però è lasciato esposto in WAN, oppure puoi verificare se il firewall in uso è a sua volta fallato. In ogni caso, per ogni problema, lo scanner che uso riporta un errore molto specifico - a riprova che non è uno scanner da quattro soldi;
. Ping timed-out: latency
. Login failed: anonymous login is not allowed. Access denied;
. Firewall block: the server didn't reply to our request;
. Not found: the host seems to be down.

Dato che gli OS comunque sono molti, generalmente mi limito a fare il test su TCP 445 per MS17-010, se è positivo bene, altrimenti passo a controllare il prossimo. Testare altre porte e protocolli (e dover cambiare istruzioni allo scanner) per cercare vie alternative è time consuming
 

Access Denied

Utente Emerald
17 Gennaio 2022
324
87
214
467
Per capire quanti device ci fossero effettivamente ho aperto un txt in cui ho inserito tutti gli IP flaggati come vulnerabili da Shodan. Da queste cifre ho dedotto i risultati finali e li ho confermati con lo scanner locale, evitando falsi positivi. Al termine della scansione puoi fare ping [indirizzo ip] nel terminal per verificare se i target non sono crashati, e infatti, non è mai accaduto. Grazie alla stabilità dei test effettuati sono riuscito ad andare avanti senza difficoltà, e senza ripercussioni tecniche. Alcuni amministratori hanno risposto positivamente, altri mi hanno ignorato.
 
  • Mi piace
Reazioni: CrazyMonk

0xbro

Super Moderatore
24 Febbraio 2017
4,219
166
3,290
1,645
Ciò non toglie che ci sono dei casi di Computer che potrebbero crashare anche solo tramite scansioni Nessus, ad esempio, però arrivare ad un BSOD solo tramite scansione non mi sembra possibile.
Per quanto sia altamente remota la possibilità, è comunque possibile, e ve lo dico per esperienza personale ahah Durante un assessment stavamo scansionando la rete di un plant e abbiamo trovato un vecchio WinXP usato per la gestione di un macchinario industriale. Il sistema era altamente instabile, è bastato utilizzare il modulo di nmap dedicato all'ms17-010 per farlo crashare. Lo scanner invia comunque dei pacchetti e poi ne analizza il risultato:
The script connects to the $IPC tree, executes a transaction on FID 0 and checks if the error "STATUS_INSUFF_SERVER_RESOURCES" is returned to determine if the target is not patched against ms17-010. Additionally it checks for known error codes returned by patched systems.
è bastato quel pacchetto per far crashare il pc (e prenderci una bellissima lavata di testa)

:nuu:
 
  • Love
Reazioni: CrazyMonk

Access Denied

Utente Emerald
17 Gennaio 2022
324
87
214
467
Per quanto sia altamente remota la possibilità, è comunque possibile, e ve lo dico per esperienza personale ahah Durante un assessment stavamo scansionando la rete di un plant e abbiamo trovato un vecchio WinXP usato per la gestione di un macchinario industriale. Il sistema era altamente instabile, è bastato utilizzare il modulo di nmap dedicato all'ms17-010 per farlo crashare. Lo scanner invia comunque dei pacchetti e poi ne analizza il risultato:

è bastato quel pacchetto per far crashare il pc (e prenderci una bellissima lavata di testa)

:nuu:
In che senso il sistema era altamente instabile? Mi sembra una situazione in cui vedi uno che penzola dal tetto di un palazzo che si tiene ad una fune malconcia, ed è sufficiente che ti si appoggia una mosca sulla testa che la fune si spezza xD

In ogni caso il BSOD che avete causato ha poco a che vedere con lo scanner. Come già avevo suggerito, il target era messo molto male. Nel senso, quel BSOD poteva causarlo nmap come poteva causarlo anche qualsiasi altra cosa. Spero che gliel'avete fatta voi la lavata di testa a loro piuttosto, a gestire dei computer addetti ai lavori in queste condizioni ;)
 

0xGhost

Helper
22 Febbraio 2022
404
37
292
253
Ehi dite un po' a proposito, ma non è state utilizzando qualche tollazzo amatoriale da Git? Non bisogna avere la licenza per pubblicare uno script lì, può pubblicarci anche mia nonna. Per le scansioni utilizzate degli scanner ufficiali, e assicuratevi di disabilitare l'opzione di procedere automaticamente all'attacco prima di iniziare. Oppure in alternativa avete programmato uno scanner per conto vostro che contiene errori, io per le scansioni uso msf auxiliary/scanner/ms17-010. Il tempo non mi permette di dedicarmi in full alla programmazione, fra 2 settimane ho un esame di psicologia e non ho molto tempo. Potete estrarre la sorgente del modulo di msf, e se masticate ruby potete farvi una fork tutta vostra, ma testate sempre in locale prima di usarli sul serio. Se fosse vero che uno scanner può generare BSOD non oso immaginare in guaio globale ci troveremmo, e siti come Shodan sarebbero già chiusi, o comunque access granted solo a personale riconosciuto su licenza e altamente qualificato. Quello che mi chiedo piuttosto è come faccia una vulnerabilità grave come questa ad essere passata sotto i radar per anni... Dal 2001 esistono device con la falla che hanno operato senza la patch per quasi 20 anni... Io onestamente fatico a credere che l'exploit sia stato scritto intorno al 2017, ma sono comunque speculazioni
Nel 2017 è stato leakato dagli shadow brokes, ma sicuramente è stato scritto prima.
 
  • Mi piace
Reazioni: Access Denied
Stato
Discussione chiusa ad ulteriori risposte.