Knowit Secure

Vi gjør IT sikrere!

Hvordan sikre din Windows klient – NetBIOS

I denne serien av bloggposter har jeg lyst til å belyse hva som ikke er så bra med Windows sin standard konfigurasjon og hva vi ofte utnytter når vi gjør penetrasjonstester.

I min lab har jeg satt opp en domenekontroller som er helt standard installert med Windows Server 2012 R2 Standard Edition. Denne har DHCP, DNS og AD rollene konfigurert i et Active Directory domene som jeg har kalt LAB.NET. Videre så har jeg installert en standard Windows 7 maskin som er innmeldt i dette domenet. På denne måten vet jeg at oppsettet er så standard som mulig fra Microsoft. Det som også er viktig å huske på er at innstillinger som blir satt i et nytt Active Directory konfigurert ut ifra en 2012 R2 server ikke er likt som et domene som har blitt oppgradert fra for eksempel NT 4.0 til Windows Server 2012 R2 nivå. Domener som blir oppgradert setter ikke nye standard innstillinger eller fjerner dårlige gamle innstillinger.

Den første standard innstillingen jeg vil belyse er NetBIOS:

Som standard står denne til «Default» som vist på bildet. Hvorfor ønsker jeg å sette fokus på denne innstillingen? Det er fordi at denne standard innstillingen gjør til at når du ber om å få tilgang til for eksempel server1.lab.net og DNS tjenesten ikke klarer å resolve denne til noe gyldig, da vil maskinen din prøve å broadcaste seg frem til denne i nettverket. Dette kan enkelt illustreres med et utsnitt fra Wireshark (program for å se på nettverkstrafikk) når jeg prøver å nå denne serveren som ikke finnes:

Som det går frem på Wireshark output etter at jeg har prøvd å nå \\server1.lab.net\test så svarer DNS «No Such Name». Min Windows klient gir seg ikke med det og fortsetter med å forsøke en NBNS broadcast. Slik jobber altså en Windows klient som standard. Rekkefølgen en Windows maskin prøver å finne IP til navn er:

1.HOSTS-fil
2.DNS
3.LLMNR (dersom network discovery er slått på)
4.WINS (dersom WINS servere er konfigurert)
5.NBNS broadcast
6.LMHOSTS

Hvorfor er dette så ille lurer du nok på nå. Det er jo egentlig en fin sak at Windows prøver å finne maskinen du leter etter, men hva skjer dersom en angriper svarer at hans maskin heter server1.lab.net? Det som da skjer er at Windows sier at han ønsker tilgang til \test sharet. Angriper maskinen svarer da slik som en normal Windows server ville gjort. Nemlig med å instruere Windows-klienten at han må autentisere seg for å få tilgang. Windows klienten vil jo selvfølgelig ha tilgang og utleverer derfor din NTLMv2 hash til angriperen.

For å demonstrere dette har jeg i min lab satt opp en maskin installert med Kali linux og har hentet den siste versjonen av Responder.py scriptet fra SpiderLabs. Dette scriptet svarer på alle NBNS broadcaster som er i nettverket og prøver å få klienten som broadcaster om å koble seg til og på denne måten få utlevert NTLMv2 hashen. Det er også mulig å benytte metasploit for dette, men jeg foretrekker Responder scriptet. Scriptet startes ved å kjøre følgende kommando:

IP-adressen jeg gir til scriptet er den som Kali maskinen har. Etter at jeg starter scriptet så vil den stå å lytte på nettverket etter NBNS broadcasts:

Når jeg på min Windows 7 maskin prøver å nå \\server1.lab.net\test\ igjen da vil Kali maskinen fange opp dette og fortelle at Windows 7 maskinen må autentisere seg og vips så får Kali maskinen NTLMv2 hashen:

Det er fullt mulig å sette opp et «Pass-The-Hash»- angrep dersom det er ønskelig, men det får bli et tema for en annen bloggpost senere. I denne bloggposten vil jeg vise hvordan jeg tar output fra scriptet og forsøker å bruteforce hashen med «Hashcat» for å få tak i passordet. Selve hashen blir lagret til en fil automatisk av Responder scriptet. Hashen blir lagret i samme mappe som scriptet og blir navngitt med IP-adresse for å skille de forskjellige som svarer.

Hashen vi skal forsøke å bruteforce er merket i rødt. Dette gjøres ved å kjøre følgende kommando:

Hashcat prøver da å bruteforce dette passordet med hjelp av en ordliste som ligger standard inne i Kali linux. Passordet jeg har satt på denne kontoen er «P@ssw0rd». Det hele tar 2 sekunder så er passordet funnet:

Det er selvsagt ikke slik at det alltid tar 2 sekunder å finne passordet. Dette er helt avhengig passordets kompleksitet og om ordet ligger i ordlisten eller ikke. En ren bruteforce vil ta lengre tid.

Du tenker sikkert etter å lese dette at det er jo ikke sånn at maskinen min spør etter servere som ikke finnes hele tiden og dette ikke gjelder alle. Vel, det er slik at dersom en maskin som er innmeldt i et domene blir koblet inn i et annet nettverk (public wifi, hotell nettverk etc) da vil maskinen prøve å finne sin domene kontroller, filserver og kanskje til og med database serveren. En annen grunn til at maskinen din spør etter en server som ikke finnes kan jo være en server som ikke finnes lenger, men maskinene spør fremdeles etter denne av forskjellige årsaker.

En lett måte å sjekke om det er mye NBNS broadcast i ditt domene/nettverk er å starte opp Wireshark og sette på NBNS filter slik:

 

Hvordan fikser vi dette? Jo, det letteste er jo å disable NetBIOS slik:

Det er også mulig å gjøre dette via group policy med script eller DHCP options (http://support2.microsoft.com/kb/313314) dersom det er ønskelig.

Det eneste som er et problem er at mange applikasjoner og innebygde Windows funksjoner er avhengig av dette og derfor anbefales det at utvidet testing av dette gjøres før du disabler NetBIOS på alle maskinene. Serverne må testes ekstra grundig.

 

Linker til wireshark og responder script:
https://www.wireshark.org/download.html
https://github.com/Spiderlabs/Responder

Knowit Secure tar ingen ansvar for innhold på eksterne sider.


Andre innlegg om sikkerhet i Windows:

 

Legg igjen en kommentar

Fyll inn i feltene under, eller klikk på et ikon for å logge inn:

WordPress.com-logo

Du kommenterer med bruk av din WordPress.com konto. Logg ut /  Endre )

Google+-bilde

Du kommenterer med bruk av din Google+ konto. Logg ut /  Endre )

Twitter-bilde

Du kommenterer med bruk av din Twitter konto. Logg ut /  Endre )

Facebookbilde

Du kommenterer med bruk av din Facebook konto. Logg ut /  Endre )

w

Kobler til %s

Informasjon

Dette innlegget ble postet den november 26, 2014 av i IT sikkerhet, Windows med stikkord , , , .

Siste blogg innlegg

Følg oss på twitter

Skriv inn e-post adresse for å følge denne bloggen og få beskjed på mail når det er nye blogg innlegg.

%d bloggere like this: