Šajā rakstā tiks sniegts īss stāsts par to, ko mums var pastāstīt tik ierasta lieta kā NetBIOS. Kādu informāciju tas var sniegt potenciālajam uzbrucējam/pentesterim.
Demonstrētā pielietošanas joma attiecas uz iekšējām, tas ir, izolētām un no ārpuses nepieejamām tīklām. Šādi tīkli parasti ir jebkurai pat vismazākajai kompānijai.
Pats par sevi NetBIOS parasti tiek izmantots tīkla nosaukuma iegūšanai. Un tā būs pietiekami, lai veiktu vismaz četras lietas.
Hostu atklāšana
Pateicoties tam, ka NetBIOS var izmantot UDP kā transporta protokolu, tā darbības ātrums ļauj atklāt hostus ļoti lielās tīklos. Piemēram, rīks nbtscan, kas iekļauts vienāds nosaukuma paketē, var tikai 2 sekunžu laikā (var padarīt tīklu par neoperējamu) norezolēt tīkla adreses formātā 192.168.0.0/16, savukārt tradicionālais TCP skenējums prasīs desmitiem minūšu. Šo īpatnību var izmantot kā hostu atklāšanas tehniku (host sweep) ļoti lielos tīklos, par kuriem nekas nav zināms, pirms tiek palaists nmap. Lai gan rezultāts negarantē 100% atklāšanu, jo galvenokārt atbildēs Windows hosti, un ne visi, tas tomēr ļaus noteikt, kādos aptuveni diapazonos ir dzīvi hosti.
Hostu identifikācija
Izmantojot iegūtos nosaukumus no IP adresēm:

var redzēt: papildus tam, ka nosaukums atklāj darba stacijas īpašnieku (lai gan tas ne vienmēr ir tā), viena no adresēm skaidri izceļas uz pārējo fona. Mēs varam redzēt, ka ir iegūts nosaukums KALI. Šāda uzvedība parasti ir raksturīga unix-izpildei SMB/NetBIOS programmētajā pakete samba vai ļoti vecajam Windows 2000.
Nosaukuma iegūšana KALI, turklāt citos hostos tas <unknown> liecina par tā saukto null-session. Ar noklusējuma SMB-serveri linux ir pakļauti tai. Null-session ļauj pilnīgi anonīmi (un mēs nekādus parolēs neievadījām, kā redzams ekrānšāviņā) iegūt pietiekami daudz papildu informācijas, piemēram, vietējo paroles politiku, vietējo lietotāju, grupu sarakstu un kopīgo resursu (share) sarakstu:

Bieži uz linux SMB-serveros var publiski pieejami koplietošanas resursi ne tikai lasīšanai, bet pat ierakstīšanai. Gan vieni, gan otri rada dažādus draudus, kuru izmantošana pārsniedz šī raksta ietvarus.
NetBIOS tā arī ļauj iegūt visu veidu nosaukumus, kurus glabā darba stacija:

šajā gadījumā tas ļauj uzzināt, ka mitinātājs ir arī domēna kontrolieris ARRIVA.
Tāpat ir vērts pievērst uzmanību, ka NetBIOS ļauj iegūt mac-adreses. Turklāt, atšķirībā no arp pieprasījumiem, NetBIOS pieprasījumi spēj iziet ārpus tās apakštīkla. Tas var būt noderīgi, ja, piemēram, ir nepieciešams atrast kādu klēpjdatoru vai specifisku aparatūru, zinot tā ražotāju. Tā kā pirmie trīs okteti mac-adreses identificē ražotāju, tad, sūtot šādus NetBIOS-pieprasījumus visās zināmajās apakštīklās, var mēģināt atrast vajadzīgo ierīci (http://standards-oui.ieee.org/oui.txt).
Piederības noteikšana Microsoft ļauj lietotājiem dzēst šīs iepriekš lejupielādētās lietojumprogrammas, un to var izdarīt tieši no Start izvēlnes.
Bieži pārvietojoties pa iekšējām korporatīvajām tīklām ir nepieciešams uzbrukt tieši darba stacijai, kas ir pievienota domēnam (piemēram, lai paaugstinātu privilēģijas līdz domēna administratora līmenim) vai otrādi. Šajā gadījumā NetBIOS atkal var palīdzēt:

Šajā gadījumā, izmantojot NetBIOS tika iegūti visi visu veidu nosaukumi. Starp tiem var redzēt, papildus datora nosaukumam (ko jau iepriekš bija iegūts), arī darba grupas nosaukumu. Noklusējuma variantā windows tas parasti ir kaut kas līdzīgs WORKGROUP vai IVAN-PC, bet, ja darba stacija ir domēnā, tad tās darba grupa ir paša domēna nosaukums.
Tādējādi, izmantojot NetBIOS var uzzināt, vai darba stacija ir domēnā un, ja jā, tad kurā.
Ja nepieciešams iegūt domēna hostu sarakstu apakštīklā, pietiks ar vienu plašsaziņas pieprasījumu ar nepieciešamā domēna nosaukumu:

rezultātā atbildēs visi hosti, kas pieder šim domēnam.
Multihomed hostu atklāšana
Un visbeidzot vēl viena, iespējams, ļoti maz zināma tehnika, kas ir vienkārši neaizvietojama ceļu meklēšanai aizsargātās, iespējams pat fiziski izolētās, tīklos. Tie var būt uzņēmumu ražošanas tīkli, kas pilni ar kontrolieriem. Pieejamība šai tīklam uzbrucējam nozīmē iespēju ietekmēt tehnoloģisko procesu, bet uzņēmumam risks celt kolosālus zaudējumus.
Tātad būtība ir tāda, ka pat ja tīkls ir izolēts no korporatīvā tīkla, daudzi administratori, vai nu slinkuma dēļ, vai kā citādi, mīl aktivizēt vēl vienu tīkla karti savos datoros, lai piekļūtu šim tīklam. Un, protams, viss notiek, apejot visus korporatīvo tīklu noteikumus. Tas ir ērti, jā, bet ne īpaši droši, jo, ja jūs tiksiet uzlauzts, tad kļūsiet par tiltu šajā tīklā un uzņemsieties atbildību.
Tomēr šeit uzbrucējam ir viena problēma — atrast attiecīgo administratoru, kurš nelikumīgi piekļuvis aizsargātajam tīklam. Vairāk nekā tas, tas ir sarežģīta problēma arī pašiem tīkla drošības speciālistiem. Lielās uzņēmumos tas patiesi ir sarežģīts uzdevums, it kā atrast adatu siena kaudzē.
Šajā situācijā acīmredzot uzbrucējam būtu divi skaidri varianti:
1. mēģināt izmantot katru datoru korporatīvajā apakštīklā kā vārtiņus uz nepieciešamo tīklu. Tas būtu ļoti ērti, bet tā reti notiek, jo windows mājas datoros ip forwarding gandrīz vienmēr ir izslēgts. Turklāt šāda pārbaude ir iespējama tikai savā apakštīklā, un tā prasa no uzbrucēja precīzi zināt mērķa adresi izolētajā tīklā.
2. mēģināt attālināti ienākt katrā datorā un izpildīt vienkāršu komandu ipconfig/ifconfig. Un šeit nav viss tik viegli. Pat ja uzbrucējam ir domēna administratora tiesības, tad tīkla ugunsmūri un lokālie ugunsmūri nekur nav pazuduši. Tādēļ šis uzdevums nav 100% automatizējams. Rezultātā nāksies mokoši ieiet katrā datorā, pārvarot tīkla ugunsmūrus (bieži bloķējot tieši 445/tcp portu), cerot beidzot redzēt kāroto tīkla interfeisu.
Tomēr viss ir daudz vienkāršāk. Pastāv viens ārkārtīgi vienkāršs paņēmiens, kas ļauj iegūt no kāda datora tīkla interfeisu sarakstu. Pieņemsim, ka mums ir kāds dators:

tas ir reversais reģistrs ip-adresi → tīkla nosaukumam. Ja tagad mēģināsim izdarīt tiešo reģistru tīkla nosaukums → ip-adrese:

tad mēs uzzināsim, ka šis dators ir arī vārti (acīmredzot) uz kādu citu tīklu. Vērts pieminēt, ka šajā gadījumā pieprasījums bija plašsaziņas. Citiem vārdiem sakot, to dzirdēs tikai uzbrucēja apakštīkla datori.
Ja, ja mērķa hostings atrodas ārpus apakšnet, var nosūtīt mērķētu pieprasījumu:

Šajā gadījumā ir redzams, ka mērķis atrodas ārpus uzbrucēja apakšnet. Ar atslēgu -B tika norādīts, ka pieprasījumam jābūt nosūtītam uz konkrētu adresi, nevis uz plašsaziņas līdzekļiem.
Tagad atliek tikai ātri savākt informāciju no visas interesējošās apakšnet, nevis no viena adreses. Tam var izmantot nelielu python-skriptu:

Un pēc dažām sekundēm:

Tieši veltīts hostings šajā improvizētajā gadījumā kļūtu par pirmo uzbrucēja mērķi, ja viņš vajātu tīklu 172.16.1/24.

Atkārtojošies nosaukumi uz dažādiem ip liecina, ka hostam ir arī divas tīkla kartes, bet jau vienā apakšnet. Šeit vērts pieminēt, ka NetBIOS neatklāj alias-us (kuri viegli var tikt aprēķināti, izmantojot arp pieprasījumus kā ip ar identisku mac). Šajā gadījumā IP adresēm ir atšķirīgi mac.
Cits šī paņēmiena pielietojuma piemērs ir publiskais Wi-Fi. Dažkārt var sastapt situāciju, kad starp viesu ierīcēm, kas pievienojas publiskai tīklam, ir personāls, kas strādā slēgtajā korporatīvajā segmentā. Tādā gadījumā, izmantojot šo izlūkošanas tehniku, uzbrucējs ļoti ātri varēs ieplānot sev ceļu uz slēgto tīklu:

Šajā gadījumā starp 65 publiskā Wi-Fi klientiem izrādījās divas darba stacijas, kas, iespējams, pieder korporatīvajai tīklam ar papildu saskarnēm.
Ja dažkārt starp tīkla segmentiem vai tieši darba stacijās tiek novērota 445/tcp portu filtrācija, kas traucē attālināto sistēmas piekļuvi (attālināto kodekšu izpildei), tad šajā gadījumā vārdu risināšanai tiek izmantots NetBIOS 137/udp ports, tā apzināta bloķēšana gandrīz nekad nav sastopama, jo tas ļoti apgrūtinās darbu tīklā, piemēram, var izzust tīkla vide utt.
Kā saka, enumeration is the key
Vai ir aizsardzība pret to? Nav, jo tas nav ievainojamība vispār. Tas ir tikai standarta funkcionalitāte tam mazajam, kas ir pēc noklusējuma windows (programmā linux (uzvedība nedaudz atšķiras). Un, ja jūs neapzināti, apejot tīkla maršrutēšanas noteikumus, iekļāvāties slēgtajā segmentā, tad uzbrucējs jūs noteikti atradīs un to izdarīs ļoti ātri.
Avots: habr.com
