Denne artikel vil kort beskrive, hvad vi kan lære af en tilsyneladende almindelig ting som NetBIOS. Hvilken information kan den give en potentiel angriber/pentester?
Det viste anvendelsesområde for efterretningsmetoder vedrører interne, isolerede og ikke-tilgængelige netværk. Sådanne netværk findes ofte i selv de mindste virksomheder.
Selv NetBIOS bruges normalt til at få netværksnavnet. Og det vil være tilstrækkeligt til at udføre mindst fire ting.
Opdagelse af værter
Da NetBIOS kan bruge UDP som transport, tillader hastigheden af dets arbejde at opdage værter i meget store netværk. For eksempel kan værktøjet nbtscan, der er en del af den samme pakke, på blot to sekunder (kan overbelaste netværket) opløse adresser i netværket, som f.eks. 192.168.0.0/16, mens traditionel TCP-scanning vil tage mange minutter. Denne funktion kan bruges som en teknik til opdagelse af værter (host sweep) i meget store netværk, hvor man ikke kender noget, før man starter nmap. Selvom resultatet ikke garanterer 100% opdagelse, da det primært vil være Windows-værter, og ikke alle vil svare, vil det stadig give en indikation af, i hvilke omtrentlige områder der findes aktive værter.
Identifikation af værter
Ved at bruge resultaterne fra navneopslag fra IP-adresserne:

kan man se: udover at navnet afslører ejeren af arbejdsstationen (selv om det ikke altid er tilfældet), er en af adresserne klart iøjnefaldende blandt de andre. Vi kan se, at navnet KALIer blevet opnået. Sådan en adfærd er typisk for unix-implementering SMB/NetBIOS i forbindelse med softwarepakken samba eller meget gamle Windows 2000.
At få navnet KALI, mens det på andre værter er <unknown> vidner om tilstedeværelsen af den såkaldte null-session. Med standardindstillingerne SMB-servere er Linux modtagelige for dette. Null-session giver blot mulighed for helt anonymt (som man kan se på skærmbilledet, har vi ikke indtastet nogen adgangskoder) at få en hel del ekstra information, såsom lokal adgangskodepolitik, liste over lokale brugere, grupper og liste over delte ressourcer:

Ofte på linux SMB-servere er der offentligt tilgængelige aktier, ikke kun til læsning, men endda til skrivning. Tilstedeværelsen af begge bærer forskellige trusler, hvis brug går ud over rammerne af denne artikel.
NetBIOS giver også mulighed for at få navne på alle typer, som arbejdsstationen gemmer:

i dette tilfælde gør det muligt at finde ud af, at værten også er en domænekontroller. ARRIVA.
Det er også værd at bemærke, at NetBIOS giver mulighed for at få mac-adresse. I modsætning til arp-anmodninger kan NetBIOS-anmodninger træde uden for subnettet. Dette kan være nyttigt, hvis man f.eks. ønsker at finde en bærbar computer eller specifikt udstyr i netværket, når man kender producenten. Da de første tre oktetter mac-adresser identificerer producenten, kan man forsøge at sende sådanne NetBIOS-anmodninger til alle kendte subnet og prøve at finde den ønskede enhed (http://standards-oui.ieee.org/oui.txt).
Bestemmelse af tilhørsforhold til domænet
Ofte når man bevæger sig i interne virksomheders netværk, er det nødvendigt at angribe netop den arbejdsstation, der er tilsluttet domænet (f.eks. for at hæve privilegierne til niveauet for domæneadministrator) eller omvendt. I dette tilfælde NetBIOS kan igen hjælpe:

I dette tilfælde blev der med hjælp af NetBIOS fået alle navne på alle typer. Blandt dem kan man se, foruden PC-navnet (det, der allerede var opnået tidligere), også navnet på arbejdsgruppen. Som standard er det windows normalt noget som WORKGROUP eller IVAN-PC, men hvis arbejdsstationen er i domænet, så er dens arbejdsgruppe det samme som domænenavnet.
Således kan man med hjælp af NetBIOS finde ud af, om arbejdsstationen er i domænet, og hvis ja, i hvilket.
Hvis man derimod ønsker at få en liste over domænehoteller inden for subnettet, så er et enkelt broadcast-anmodning med navnet på det ønskede domæne tilstrækkeligt:

som resultat vil alle værter, der tilhører dette domæne, svare.
Opdagelse af multihomed værter
Og endelig endnu en meget lidt kendt teknik, som er uundgåelig for at finde stier til beskyttede, muligvis endda fysisk isolerede netværk. Dette kan være produktionsnetværk fyldt med controllere. Adgang til dette netværk for en angriber betyder mulighed for at påvirke den teknologiske proces, og for virksomheden er der risiko for at påføre kolossale tab.
Så essensen er, at selvom netværket er isoleret fra virksomhedens netværk, så kan nogle administratorer, enten af dovenskab eller af andre grunde, lide at opsætte endnu et netværkskort på deres pc'er for at få adgang til dette netværk. Og alt dette sker selvfølgelig uden om forskellige regler for virksomhedens netværksfirewalls. Praktisk, ja, men ikke særlig sikkert, hvis du bliver hacke, så vil du blive en bro til dette netværk og påtage dig ansvaret.
Men der er et problem for angriberen — at finde den pågældende administrator, der er blevet involveret i det beskyttede netværk på en ulovlig måde. Desuden er det ikke nemt for netværkssikkerhedseksperterne selv. På større virksomheder er det virkelig en udfordring, som at finde en nål i en høstak.
I denne situation ville der være to åbenlyse muligheder for angriberen:
1. at forsøge at bruge hver pc i virksomhedens subnet som en gateway til det ønskede netværk. Det ville være meget praktisk, men det er sjældent, fordi på windows værtterne ip forwarding er næsten altid slukket. Desuden er en sådan kontrol kun mulig inden for sit eget subnet, og det kræver, at angriberen præcist kender destinationsadressen fra det isolerede netværk.
2. at forsøge at få fjernadgang til hver vært og udføre den trivielle kommando ipconfig/ifconfig. Og her går det ikke altid glat. Selv hvis angriberen har opnået rettigheder som domæneadministrator, så eksisterer netværksfirewalls og lokale firewalls stadig. Så denne opgave kan ikke automatiseres 100%. Som resultat bliver det en smertefuld proces at få adgang til hver vært og overvinde netværksfirewalls (ofte som blokerer netop port 445/tcp), i håbet om at ende med at se den ønskede netværksgrænseflade.
Men alt er faktisk meget enklere. Der findes en ekstremt simpel teknik, der gør det muligt at få en liste over netværksgrænseflader fra en bestemt vært. Antag, at vi har en vært:

dette er reverse resolution ip-adresse → netværksnavn. Hvis vi nu forsøger at lave en direkte resolution fra netværksnavn → ip-adresse:

så finder vi ud af, at denne vært også kan være en gateway (tilsyneladende) til et andet netværk. Det skal bemærkes, at forespørgslen var broadcast. Med andre ord vil kun værter fra angriberens subnet høre den.
Hvis den målrettede vært er uden for subnettet, kan der sendes en målrettet anmodning:

I dette tilfælde er det tydeligt, at målet ligger uden for angriberens subnet. Ved hjælp af -B-nøglen blev det angivet, at anmodningen skal sendes til en specifik adresse i stedet for en broadcast.
Nu er det kun tilbage at hurtigt indsamle information fra hele det interessante subnet i stedet for fra én adresse. Til dette formål kan en lille python-skript anvendes:

Og efter et par sekunder:

Den dedikerede vært ville i dette improviserede tilfælde være det første mål for angriberen, hvis han havde til hensigt at tilgå netværket 172.16.1/24.

Gentagne navne på forskellige IP'er indikerer, at værtens system har to netværkskort, men inden for samme subnet. Her skal det bemærkes, at NetBIOS ikke afslører alias-er (som let kan beregnes via arp-anmodninger som IP'er med ens mac). I dette tilfælde IP-adresser har forskellige mac.
Et andet eksempel på brugen af denne teknik er offentlige Wi-Fi. Nogle gange kan man støde på situationer, hvor personalet, der arbejder i et lukket virksomhedsområde, opretter forbindelse til det offentlige netværk blandt gæstede enheder. Sådan kan en angriber hurtigt skitsere en vej til at trænge ind i det lukkede netværk:

I dette tilfælde var der blandt 65 kunder på det offentlige Wi-Fi to arbejdsstationer, som havde et ekstra interface, sandsynligvis relateret til virksomhedens netværk.
Hvis der til tider observeres trafikfiltrering mellem netværkssegmenter eller direkte på arbejdsstationerne på port 445/tcp, som forhindrer fjernadgang til systemet (fjernudførelse af kode), så anvendes port 137/udp i dette tilfælde til navneopluftning, hvor bevidst blokering sjældent forekommer, da det vil påvirke brugervenligheden i netværket, f.eks. kan netværksområdet og lignende forsvinde. NetBIOS enumeration is the key
Som man siger, Er der nogen beskyttelse imod dette? Der er ikke, da det ikke er en sårbarhed. Det er blot standard funktionalitet af det få, der findes som standard hos
adfærden adskiller sig lidt). Hvis du pludseligt, uden koordinering, træder ind i et lukket segment, vil angriberen helt sikkert finde dig, og det vil ske meget hurtigt. windows (i Linux adfærden adskiller sig lidt). Og hvis du, uventet, omgås netværksroutingreglerne og tilslutter dig et lukket segment, vil en gerningsmand helt sikkert finde dig og gøre det meget hurtigt.
Kilde: habr.com
