In dit artikel wordt een kort verhaal verteld over wat zo'n schijnbaar alledaags iets ons kan vertellen als NetBIOS. Welke informatie kan het bieden voor een potentiële aanvaller/pentest?
Het gedemonstreerde toepassingsgebied van inlichtingentechnieken heeft betrekking op interne, dat wil zeggen geïsoleerde en van buitenaf niet-toegankelijke netwerken. Dergelijke netwerken zijn doorgaans aanwezig in elk bedrijf, zelfs de kleinste.
Zelfs NetBIOS wordt doorgaans gebruikt om een netwernaam te verkrijgen. En dat is genoeg om minstens vier dingen te doen.
Hostdetectie
Dankzij het feit dat NetBIOS UDP kan gebruiken als transport, stelt de snelheid deze in staat om hosts in zeer grote netwerken te detecteren. Zo kan het hulpmiddel nbtscan, dat deel uitmaakt van dezelfde pakket, binnen 2 seconden (het kan het netwerk verstoren) de adressen van netwerken zoals 192.168.0.0/16 resolven, terwijl traditioneel TCP-scannen tientallen minuten in beslag neemt. Deze eigenschap kan worden gebruikt als een techniek voor hostdetectie (host sweep) in zeer grote netwerken waarvan we niets weten, voordat we nmap draaien. Hoewel het resultaat geen 100% detectie garandeert, aangezien voornamelijk Windows-hosts zullen reageren en niet allemaal, zal het ons toch helpen te bepalen in welke ongeveer bereiken actieve hosts zich bevinden.
Hostidentificatie
Door de resultaten van het verkrijgen van namen uit IP-adressen:

kunnen we zien: naast het feit dat de naam de eigenaar van de werkstation onthult (hoewel dat trouwens niet altijd het geval is), valt één van de adressen duidelijk op tussen de anderen. We kunnen zien dat de naam is verkregen KALI. Dit gedrag is typisch voor unix-implementaties SMB/NetBIOS als onderdeel van de softwarepakket samba of zeer oude Windows 2000.
Naam verkrijgen KALI, terwijl op andere hosts dit <unknown> wijst op de aanwezigheid van een zogenaamde null-sessie. Bij de standaardinstellingen SMB-servers zijn ze er gevoelig voor. linux Null-sessie maakt het mogelijk om volledig anoniem (en we hebben geen wachtwoorden ingevoerd, zoals zichtbaar op de screenshot) behoorlijk veel aanvullende informatie te verkrijgen, zoals het lokale wachtwoordbeleid, een lijst van lokale gebruikers, groepen en een lijst van gedeelde bronnen (shares): Vaak op

linux SMB linux SMB-servers zijn er openbare shares die niet alleen voor lezen, maar zelfs voor schrijven toegankelijk zijn. De aanwezigheid van beide brengt verschillende bedreigingen met zich mee, waarvan het gebruik buiten het bestek van dit artikel valt.
NetBIOS het stelt ook in staat om de namen van alle typen te verkrijgen die de werkstation opslaat:

in dit geval maakt het mogelijk om te achterhalen dat de host ook een domeincontroller is ARRIVA.
Daarnaast is het ook belangrijk om op te merken dat NetBIOS het maakt mogelijk om te verkrijgen mac-adres. In tegenstelling tot arp-verzoeken kunnen NetBIOS-verzoeken de subnetten overschrijden. Dit kan nuttig zijn als je bijvoorbeeld een laptop of specifieke hardware in het netwerk wilt vinden, wetende wie de fabrikant is. Aangezien de eerste drie octetten mac-adressen de fabrikant identificeren, kan men door dergelijke NetBIOS-verzoeken naar alle bekende subnetten te verzenden proberen het gewenste apparaat te vinden (http://standards-oui.ieee.org/oui.txt).
Bepalen van de toebehorigheid aan een domein.
Vaak is het bij het navigeren door interne bedrijfsnetwerken nodig om juist de werkstation aan te vallen die is opgenomen in het domein (bijvoorbeeld om de privileges te verhogen tot dat van domeinbeheerder) of omgekeerd. In dit geval NetBIOS kan opnieuw helpen:

In dit geval zijn met behulp van NetBIOS alle namen van alle typen verkregen. Onder hen zijn ook de naam van de pc (die eerder is verkregen), evenals de naam van de werkgroep te zien. Standaard is dit voor windows meestal iets als WORKGROUP of IVAN-PC, maar als de werkstation in een domein zit, dan is de werkgroep de naam van het domein.
Zo kan met behulp van NetBIOS gebeurd kan worden of de werkstation deel uitmaakt van een domein, en zo ja, in welk domein.
Als het nodig is om een lijst van domeinhosten binnen het subnet te verkrijgen, volstaat één broadcastverzoek met de naam van het gewenste domein:

als resultaat zullen alle hosts die tot dit domein behoren antwoorden.
Detectie van multihomed hosts
En tenslotte, nog een waarschijnlijk zeer weinig bekende techniek die gewoon onmisbaar is voor het vinden van paden in beveiligde, mogelijk zelfs fysiek geïsoleerde netwerken. Dit kunnen fabrieksnetwerken zijn die vol zitten met controllers. Toegang tot dit netwerk voor een aanvaller staat gelijk aan de mogelijkheid om invloed uit te oefenen op het technologieproces, en voor het bedrijf is er een risico om enorme verliezen te lijden.
Dus, het probleem is dat zelfs als het netwerk is geïsoleerd van het bedrijfsnetwerk, sommige beheerders, hetzij uit luiheid, hetzij om een andere reden, graag een extra netwerkkaart op hun pc's opzetten voor toegang tot dit netwerk. Dit gebeurt natuurlijk vaak in strijd met de regels van de bedrijfsfirewalls. Handig, ja, maar niet al te veilig; als je wordt gehackt, word je een brug naar dat netwerk en ben je verantwoordelijk.
Voor de aanvaller is er echter één probleem: het vinden van die specifieke beheerder die op deze illegale manier verbinding heeft gemaakt met het beveiligde netwerk. Bovendien is dit geen gemakkelijke opgave voor de netwerkbeveiligers zelf. In grote organisaties is dit echt een complexe taak, als het vinden van een speld in een hooiberg.
In deze situatie zijn er twee voor de hand liggende opties voor de aanvaller:
1. Proberen elk pc in de bedrijfs-subnet als een gateway naar het vereiste netwerk te gebruiken. Dit zou zeer handig zijn, maar komt zelden voor, omdat op windows hosts IP-forwarding bijna altijd is uitgeschakeld. Bovendien is een dergelijke controle alleen mogelijk binnen de eigen subnet en vereist het dat de aanvaller het doeladres in het geïsoleerde netwerk precies kent.
2. Proberen op afstand in te loggen op elke host en de eenvoudige opdracht ipconfig/ifconfiguit te voeren. En hier is het niet zo eenvoudig. Zelfs als de aanvaller de rechten van een domeinbeheerder heeft, blijven netwerkfirewalls en lokale firewalls een probleem. Dus deze taak kan niet 100% worden geautomatiseerd. Het resultaat is dat je geduldig op elke host moet inloggen, terwijl je de firewalls overwint (die vaak specifiek poort 445/tcp blokkeren), in de hoop eindelijk de gewenste netwerkinterface te zien.
Echter, het is veel eenvoudiger. Er is een extreem eenvoudige techniek die het mogelijk maakt om van een bepaalde host een lijst met netwerkinterfaces te krijgen. Stel dat we een bepaalde host hebben:

dit is de omgekeerde resolutie ip-adres → netwerknaam. Als we nu proberen de directe resolutie netwerknaam → ip-adres te maken:

dan ontdekken we dat deze host ook een gateway is (blijkbaar) naar een ander netwerk. Het is vermeldenswaard dat de aanvraag in dit geval broadcast was. Met andere woorden, alleen de hosts uit de subnet van de aanvaller zullen het horen.
Als de doelhost zich buiten het subnet bevindt, kan er een gerichte aanvraag worden verzonden:

In dit geval is het duidelijk dat het doel zich buiten het subnet van de aanvaller bevindt. Met de key -B werd aangegeven dat het verzoek naar een specifiek adres en niet naar een broadcast moest worden gestuurd.
Nu moet je alleen nog even snel informatie verzamelen van het hele interessante subnet en niet van één adres. Hiervoor kan een kleine python-script worden gebruikt:

En na een paar seconden:

De specifieke host zou in dit geïmproviseerde geval de eerste doelwit van de aanvaller zijn geworden, als hij het netwerk 172.16.1/24 zou hebben aangevallen.

Herhaalde namen op verschillende IP's wijzen erop dat de host ook twee netwerkkaarten heeft, maar binnen hetzelfde subnet. Het is belangrijk op te merken dat NetBIOS niet onthult beheer van afbeeldingsaliassen-en (die gemakkelijk te berekenen zijn via arp-verzoeken als ip met dezelfde mac). In dit geval IP-adressen verschillende mac.
Een ander voorbeeld van het gebruik van deze techniek is openbare Wi-Fi. Soms kom je situaties tegen waarin personeel dat werkt in een afgeschermd bedrijfssubnet zich aansluit op een openbare netwerkomgeving. Dan kan de aanvaller met behulp van deze verkenningstechniek heel snel een pad uitstippelen om toegang te krijgen tot het afgeschermde netwerk:

In dit geval waren er onder de 65 klanten op de openbare Wi-Fi twee werkstations met een extra interface, waarschijnlijk behorend tot het bedrijfsnetwerk.
Als er soms verkeersfiltering op poort 445/tcp tussen netwerksegmenten of zelfs op werkstations plaatsvindt, wat de externe toegang tot het systeem (externe uitvoering van code) verhindert, dan wordt in dit geval poort 137/udp gebruikt voor naam resolution, waarvan bewuste blokkering bijna nooit voorkomt, omdat het gebruiksgemak op het netwerk er ernstig onder zou lijden, bijvoorbeeld zou netwerkomgeving kunnen verdwijnen, enz. NetBIOS Zoals ze zeggen,
enumeratie is de sleutel Is er bescherming tegen dit? Die is er niet, want dit is ook geen kwetsbaarheid in die zin. Het is slechts de standaardfunctionaliteit van hetgeen er standaard is bij
het gedrag is iets anders). En als je, toevallig en in strijd met de regels van netwerkroutering, je in een afgeschermd segment hebt ingeschakeld, dan zal de aanvaller je zeker vinden en dat heel snel doen. windows (in linux Het gedrag verschilt een beetje). En als je, toevallig, ongecoördineerd buiten de netwerkrouteregels in een afgesloten segment bent ingeschakeld, zal de aanvaller je zeker vinden en dat heel snel doen.
Bron: habr.com
