In questo articolo si parlerà brevemente di cosa può rivelare un elemento apparentemente banale come NetBIOS. Quali informazioni può fornire a un potenziale malintenzionato o pentester.
L'area di applicazione delle tecniche di intelligence dimostrata si riferisce a reti interne, isolate e non accessibili dall'esterno. Tali reti sono tipicamente presenti in qualsiasi azienda, anche la più piccola.
Di per sé NetBIOS viene utilizzato, di norma, per ottenere un nome di rete. E questo sarà sufficiente per fare almeno 4 cose.
Rilevamento degli host
Grazie al fatto che NetBIOS può utilizzare UDP come trasporto, la sua velocità consente di rilevare host in reti molto grandi. Ad esempio, lo strumento nbtscan, che fa parte dell'omonimo pacchetto, può risolvere gli indirizzi di una rete come 192.168.0.0/16 in sole 2 secondi (potrebbe sovraccaricare la rete), mentre una scansione TCP tradizionale richiederebbe decine di minuti. Questa caratteristica può essere utilizzata come tecnica di rilevamento degli host (host sweep) in reti molto grandi di cui non si sa nulla, prima di lanciare nmap. Anche se il risultato non garantisce un riconoscimento al 100%, poiché principalmente risponderanno gli host Windows e non tutti, consentirà comunque di determinare in quali aree si trovano approssimativamente gli host attivi.
Identificazione degli host
Utilizzando i risultati per ottenere nomi dagli indirizzi IP:

è possibile vedere: oltre al fatto che il nome rivela il proprietario della stazione di lavoro (anche se ciò non è sempre vero), uno degli indirizzi si distingue chiaramente dagli altri. Possiamo vedere che è stato ottenuto il nome KALI. Un tale comportamento è tipicamente caratteristico della unix-realizzazione SMB/NetBIOS incluso nel pacchetto software samba o nelle versioni molto antiche di Windows 2000.
Ottenimento del nome KALI, mentre su altri host questo <unknown> indica la presenza di una cosiddetta null-session. Con le impostazioni predefinite, SMBi server sono inclini a questo. linux La null-session consente di ottenere in modo assolutamente anonimo (e non abbiamo inserito alcuna password, come si vede dallo screenshot) una quantità sufficiente di informazioni aggiuntive, come la politica locale delle password, l'elenco degli utenti locali, dei gruppi e l'elenco delle risorse condivise (share): Spesso su

linux SMB SMB Linux-nei server possono esserci condivisioni accessibili pubblicamente non solo in sola lettura, ma anche in scrittura. La presenza di entrambe comporta diversi rischi, il cui utilizzo va oltre l'ambito di questo articolo.
NetBIOS permette anche di ottenere i nomi di tutti i tipi che memorizza la workstation:

in questo caso consente di scoprire che l'host è anche un controller di dominio ARRIVA.
Vale anche la pena notare che NetBIOS permette di ottenere mac-indirizzo. A differenza delle richieste arp, le richieste NetBIOS possono oltrepassare i limiti della sottorete. Questo può essere utile se, ad esempio, si desidera trovare in rete un laptop o un hardware specifico, conoscendo il suo produttore. Poiché i primi tre ottetti mac-degli indirizzi identificano il produttore, si possono inviare tali NetBIOS-richieste a tutte le sottoreti conosciute per cercare il dispositivo desiderato (http://standards-oui.ieee.org/oui.txt).
Determinazione dell'appartenenza a dominio
Spesso, durante il movimento nelle reti aziendali interne, è necessario attaccare precisamente la workstation inclusa nel dominio (ad esempio, per elevare i privilegi al livello di amministratore di dominio) o viceversa. In questo caso NetBIOS può di nuovo aiutare:

In questo caso, grazie a NetBIOS sono stati ottenuti tutti i nomi di tutti i tipi. Tra di essi si può vedere, oltre al nome del PC (ciò che era già stato ottenuto in precedenza), anche il nome del gruppo di lavoro. Di default per windows è generalmente qualcosa come WORKGROUP o IVAN-PC, ma se la workstation è nel dominio, il suo gruppo di lavoro è proprio il nome del dominio.
In questo modo, grazie a NetBIOS si può scoprire se la workstation è nel dominio e, se sì, in quale.
Se si desidera ottenere un elenco di host di dominio all'interno della sottorete, basta una richiesta di broadcast con il nome del dominio desiderato:

in risposta risponderanno tutti gli host appartenenti a questo dominio.
Rilevamento degli host multihomed
E infine, un'altra tecnica probabilmente poco conosciuta, che è semplicemente indispensabile per trovare percorsi in reti protette, forse addirittura fisicamente isolate. Queste possono essere reti di fabbrica aziendali, dotate di controllori. L'accesso a questa rete per un malintenzionato significa la possibilità di influenzare il processo tecnologico, e per l'azienda c'è il rischio di subire enormi perdite.
Quindi, la sostanza è che anche se la rete è isolata dalla rete aziendale, molti amministratori, per pigrizia o per altri motivi, amano attivare un'altra scheda di rete sui propri PC per accedere a questa rete. Ovviamente, tutto ciò avviene in violazione delle varie regole dei firewall aziendali. Comodo, sì, ma non molto sicuro, nel caso in cui veniate hackerati, diventerete un ponte verso questa rete e ne porterete la responsabilità.
Tuttavia, per l'intruso c'è un problema: trovare quell'amministratore che è entrato illegalmente nella rete protetta. Inoltre, questo è un problema complicato anche per gli esperti di sicurezza di rete. In grandi aziende, è davvero una sfida difficile, come cercare un ago in un pagliaio.
In questa situazione ci sarebbero due opzioni ovvie per l'intruso:
1. cercare di utilizzare ogni PC nella sottorete aziendale come gateway per la rete desiderata. Sarebbe molto comodo, ma è raro, poiché sui windows host l'inoltro IP è quasi sempre disabilitato. Inoltre, questo tipo di verifica è possibile solo all'interno della propria sottorete, e richiede all'intruso di conoscere esattamente l'indirizzo di destinazione dalla rete isolata.
2. tentare di accedere da remoto a ogni host ed eseguire il comando banale ipconfig/ifconfig. E qui le cose non sono così semplici. Anche se l'intruso ha ottenuto i diritti di amministratore di dominio, i firewall di rete e locali non sono stati eliminati. Quindi questo compito non può essere completamente automatizzato. Pertanto, rimane necessario accedere faticosamente a ciascun host, superando i firewall (spesso bloccano proprio la porta 445/tcp), nella speranza di vedere finalmente l'interfaccia di rete desiderata.
Tuttavia, tutto è molto più semplice. Esiste un trucco estremamente semplice che consente di ottenere da uno dei vari host un elenco delle interfacce di rete. Supponiamo di avere un certo host:

è la risoluzione inversa dell'indirizzo IP → nome di rete. Se ora proviamo a fare la risoluzione diretta del nome di rete → indirizzo IP:

scopriremo che questo host è anche un gateway (apparentemente) per qualche altra rete. Vale la pena notare che in questo caso la richiesta è stata inviata in modo broadcast. In altre parole, verrà ascoltata solo dagli host all'interno della sottorete dell'intruso.
Se il host target si trova al di fuori della sottorete, è possibile inviare una richiesta mirata:

In questo caso, è evidente che l'obiettivo si trova al di fuori della sottorete dell'attaccante. Con la chiave -B è stato specificato che la richiesta deve essere inviata a un indirizzo specifico, e non a un indirizzo di broadcast.
Rimane solo da raccogliere rapidamente informazioni su tutta la sottorete di interesse, e non su un singolo indirizzo. Per fare questo, è possibile utilizzare un piccolo python-script:

E dopo qualche secondo:

In questo caso, l'host specifico sarebbe diventato il primo obiettivo dell'attaccante, se stesse cercando di attaccare la rete 172.16.1/24.

Nomi ripetuti su indirizzi IP diversi indicano che l'host ha anche due schede di rete, ma già in una stessa sottorete. È importante notare che NetBIOS non divulga alias-s (che possono essere facilmente calcolati tramite richieste ARP come IP con lo stesso mac). In questo caso indirizzi IP hanno diverse mac.
Un altro esempio di utilizzo di questa tecnica è il Wi-Fi pubblico. A volte si può incontrare una situazione in cui tra i dispositivi guest si connette alla rete pubblica il personale che lavora in un segmento aziendale chiuso. In tal modo, con questa tecnica di sorveglianza, l'attaccante potrebbe rapidamente delineare un percorso per accedere alla rete chiusa:

In questo caso, tra i 65 client del Wi-Fi pubblico ci sono due workstation che hanno un'interfaccia aggiuntiva, probabilmente relativa alla rete aziendale.
Se a volte tra i segmenti di rete o direttamente sulle workstation si osserva una filtrazione del traffico sulla porta 445/tcp, che impedisce l'accesso remoto al sistema (esecuzione remota di codice), in questo caso per la risoluzione dei nomi si NetBIOS utilizza la porta 137/udp, il cui blocco consapevole è quasi inesistente, poiché questo comprometterebbe notevolmente la facilità d'uso della rete, ad esempio, potrebbe scomparire l'ambiente di rete, ecc.
Come si suol dire, l'enumerazione è la chiave
C'è una protezione contro questo? Non esiste, poiché non si tratta di una vulnerabilità in sé. È solo una funzionalità standard di quello che esiste per default presso windows (in linux il comportamento è leggermente diverso). E se, per caso, vi connettete in modo non concordato, aggirando le regole di instradamento della rete, l'attaccante vi troverà sicuramente e lo farà molto rapidamente.
Fonte: habr.com
