I denne artikkelen vil vi ha en kort fortelling om hva noe så vanlig ut som NetBIOS. Hvilken informasjon den kan gi en potensiell inntrenger/pentester.
Det demonstrerte bruksområdet for etterretningsmetoder gjelder interne, det vil si isolerte og utilgjengelige nettverk. Slike nettverk finnes som regel hos enhver, selv den minste bedrift.
I seg selv NetBIOS brukes vanligvis til å skaffe nettverksnavn. Og dette skal være tilstrekkelig for å gjøre minst 4 ting.
Oppdagelse av verter
Takket være at NetBIOS kan bruke UDP som transport, tillater hastigheten av det å oppdage verter i svært store nettverk. For eksempel kan verktøyet nbtscan, som er en del av det samme navnet pakken, på bare 2 sekunder (kan legge nettverket) oppløse adresser i nettverket som 192.168.0.0/16, mens tradisjonell TCP-skanning vil ta titalls minutter. Denne egenskapen kan brukes som en teknikk for vertoppdagelse (host sweep) i svært store nettverk, hvor vi ikke vet noe om dem, før vi kjører nmap. Selv om resultatet ikke garanterer 100% oppdagelse, da det hovedsakelig er Windows-verter som vil svare og ikke alle, vil det likevel tillate å bestemme omtrent hvilke områder som inneholder levende verter.
Identifikasjon av verter
Ved å bruke resultatene for å hente navn fra IP-adresser:

kan vi se: bortsett fra at navnet avslører eieren av arbeidsstasjonen (selv om dette for øvrig ikke alltid er tilfelle), er en av adressene tydelig fremhevet i forhold til de andre. Vi kan se at navnet KALI. Denne oppførselen er vanligvis karakteristisk for unix-implementeringen SMB/NetBIOS som en del av programvarepakken samba eller veldig gamle Windows 2000.
Hente navn KALI, mens på andre verter viser <unknown> til tilstedeværelsen av det såkalte null-session. Med standardinnstillingene SMB-servere er Linux utsatt for det. Null-session lar oss helt anonymt (uten at vi har skrevet inn noen passord, som vist på skjermbildet) få ganske mye ekstra informasjon, som lokal passordpolitikk, liste over lokale brukere, grupper og liste over delte ressurser (shares):

Ofte på linux SMB-server kan ha offentlige delinger ikke bare for lesing, men også for skriving. Både det ene og det andre medfører ulike trusler, bruken av dem overskrider rammene for denne artikkelen.
NetBIOS det tillater også å få navnene på alle typer som arbeidsstasjonen lagrer:

i dette tilfellet tillater det å finne ut at verten også er en domenekontroller ARRIVA.
Det er også verdt å merke seg at NetBIOS det gjør det mulig å få mac-adresse. I motsetning til arp-forespørslene kan NetBIOS-forespørslene gå utover subnettet. Dette kan være nyttig dersom man for eksempel trenger å finne en laptop eller spesifikk maskinvare i nettverket, og vet produsenten. Siden de første tre oktetene mac-adressene identifiserer produsenten, kan man via slike NetBIOS-forespørsel til alle kjente subnett forsøke å finne den nødvendige enheten (http://standards-oui.ieee.org/oui.txt).
Bestemmelse av tilknytning til the domain
Ofte, når man navigerer i interne bedriftsnettverk, er det nødvendig å angripe nettopp arbeidsstasjonen som er inkludert i domenet (for eksempel for å heve privilegiene til domenadministratorens nivå), eller omvendt. I dette tilfellet NetBIOS kan igjen hjelpe:

I dette tilfellet ble det ved hjelp av NetBIOS hentet alle navnene på alle typer. Blant dem kan man se, i tillegg til datamaskinens navn (det som allerede ble hentet tidligere), også navnet på arbeidsgruppen. Som standard er det som regel noe slikt som windows WORKGROUP IVAN-PC eller , men hvis arbeidsstasjonen er i et domene, så er arbeidsgruppen dens navn som er domenet.Dermed kan man ved hjelp av
få vite om arbeidsstasjonen er i et domene, og i så fall, hvilket. NetBIOS Hvis man derimot ønsker å få en liste over domeneverter innenfor subnettet, så holder det med en broadcast-forespørsel med navnet på det nødvendige domenet:
som et resultat vil alle verter som er en del av dette domenet svare.

Oppdagelse av multihomede verter
Og til slutt en kanskje veldig lite kjent teknikk, som er helt uunnværlig for
å finne veier til beskyttede, muligens fysisk isolerte nettverk. Dette kan være produksjonsnettverk i bedrifter, fylt med kontrollere. Tilgang til dette nettverket for en angriper betyr muligheten til å påvirke den teknologiske prosessen, og for bedriften er det en risiko for kolossale tap. в защищённые, возможно даже изолированные физически, сети. Это могут быть цеховые сети предприятий, напичканные контроллерами. Доступ к этой сети для злоумышленника означает возможностью влиять на технологический процесс, а для предприятия риск понести колоссальные убытки.
Så, essensen er at selv om nettverket er isolert fra det bedriftsnettverket, liker noen administratorer, enten av latskap eller på en annen måte, å aktivere et ekstra nettverkskort på datamaskinene sine for å få tilgang til dette nettverket. Dette skjer naturligvis i strid med alle slags regler for bedriftsbrannmurer. Praktisk, ja, men ikke spesielt sikkert; hvis du blir hacket, kan du bli en bro til dette nettverket og få ansvar.
Men for en angriper finnes det et problem — å finne den spesifikke administratoren som har koblet til det beskyttede nettverket på en ulovlig måte. Dessuten er dette et komplisert problem også for nettverks sikkerhetsfolkene. I store selskaper er dette virkelig en vanskelig oppgave, som å finne en nål i en høystakk.
I denne situasjonen ville det åpenbare alternativet for angriperen være to:
1. å prøve å bruke hver PC i bedrifts-subnettet som en portal til det ønskede nettverket. Dette ville vært svært praktisk, men er sjelden å se, fordi på windows verter ip forwarding er nesten alltid deaktivert. Videre er en slik sjekk kun mulig innen sitt eget subnett, og det krever at angriperen vet den nøyaktige måladressen fra det isolerte nettverket.
2. å prøve å logge inn på hver vert eksternt og kjøre den enkle kommandoen ipconfig/ifconfig. Og her er det ikke så enkelt. Selv om angriperen har skaffet seg rettighetene til domeneadministratoren, skjer dette ikke uten nettverksbrannmurer og lokale brannmurer. Så denne oppgaven kan ikke automatiseres 100%. Som et resultat må man slite med å logge inn på hver vert, overvinne nettverksbrannmurene (som ofte blokkerer port 445/tcp), i håp om å se det ettertraktede nettverksgrensesnittet.
Men det er faktisk mye enklere. Det eksisterer en ekstremt enkel teknikk som lar deg hente listen over nettverksgrensesnitt fra en vert. La oss anta at vi har en viss vert:

dette er reverseresolve ip-adressen → nettverksnavn. Hvis vi nå prøver å gjøre en direkte resolusjon nettverksnavn → ip-adresse:

da vil vi finne ut at denne verten også er en gateway (trolig) til et annet nettverk. Det er verdt å merke seg at forespørselen i dette tilfellet ble sendt som en Broadcast. Med andre ord, bare verter fra angriperens subnett vil høre den.
Hvis målhosten er utenfor subnettet, kan man sende en målrettet forespørsel:

I dette tilfellet er det klart at målet er utenfor angriperen sitt subnett. Ved hjelp av nøkkelen -B ble det spesifisert at forespørselen skal sendes til en spesifikk adresse, ikke til en kringkastingsadresse.
Nå er det bare å raskt samle informasjon fra hele det interessante subnettet, ikke bare fra én adresse. For dette kan man bruke et lite python-skript:

Og etter noen sekunder:

Den dedikerte verten, i dette improviserte tilfellet, ville blitt det første målet for angriperen hvis han hadde målrettet nettverket 172.16.1/24.

Gjentar navn på forskjellige IP-er tyder på at verten også har to nettverkskort, men allerede i ett subnett. Her bør det bemerkes at NetBIOS ikke avslører alias-er (som lett kan beregnes gjennom arp-forespørsel som ip med like mac). I dette tilfellet ip-adressen har forskjellige mac.
Et annet eksempel på bruken av denne teknikken er offentlig Wi-Fi. Noen ganger kan man støte på en situasjon der personalet som jobber i et lukket bedriftssegment, kobler seg til det offentlige nettverket blant gjestene. Da kan angriperen, ved hjelp av denne etterretningsmetoden, raskt kartlegge en vei inn i det lukkede nettverket:

I dette tilfellet var det blant 65 kunder av det offentlige Wi-Fi to arbeidsstasjoner, som har et ekstra grensesnitt, sannsynligvis relatert til bedriftsnettverket.
Hvis det noen ganger observeres filter for trafikk på port 445/tcp mellom nettverkssegmenter eller direkte på arbeidsstasjonene, noe som hindrer ekstern tilgang til systemet (ekstern kjøring av kode), så brukes port 137/udp til navngivning i dette tilfellet, og bevisst blokkering av den forekommer sjelden, da det vil forringe brukervennligheten i nettverket, for eksempel kan det nettverksmiljøet forsvinne osv. NetBIOS Som det sies,
enumeration is the key Finnes det beskyttelse mot dette? Det gjør det ikke, da dette ikke er en sårbarhet i seg selv. Det er bare en standardfunksjon av det som er litt av det som finnes som standard hos
oppførselen er litt forskjellig). Og hvis du, ved en tilfeldighet, uten å følge reglene for nettverksruting har koblet deg til et lukket segment, så vil angriperen garantert finne deg og gjøre det veldig raskt. windows (i Linux поведение немного отличается). И если вы, вдруг несогласованно, в обход правил сетевой маршрутизации включились в закрытый сегмент, то злоумышленник вас обязательно найдет и сделает это очень быстро.
Kilde: habr.com
