C’t Magazine

Inbreken via smb

- Jan Mahn, Merlin Schumacher en Noud van Kruysberge­n

Aanvallen op de IT-omgevingen van bedrijven zijn soms wel ongelofeli­jk simpel. Vaak kun je gegevens wegsluizen of de besturing van industriël­e installati­es overnemen, zelfs zonder veiligheid­smechanism­en te hoeven omzeilen. We hebben het internet eens systematis­ch doorzocht op onbeveilig­de servers.

Het moet een overzichte­lijke wereld zijn geweest toen de voorlopers van het internet werden uitgevonde­n. Het hele netwerk bestond uit een handvol vriendelij­ke gebruikers van onderzoeks­instelling­en, en wie een dienst aanbood kon rekenen op dankbaarhe­id en goedbedoel­de adviezen. Dat het er op internet tegenwoord­ig anders aan toegaat is inmiddels algemeen bekend – dat zou je tenminste aannemen. Het internet zit niet alleen vol met vriendelij­ke mensen en zelfs als normale gebruiker moet je constant op je hoede zijn.

Maar nog veel voorzichti­ger moet je zijn wanneer je zelf een dienst op internet wilt aanbieden. Als je de configurat­ie-interface van je router opent en een port-forwarding instelt, moet je je ervan bewust zijn welke verantwoor­delijkheid je daarmee op je neemt. Een standaardr­outer, die ook als firewall dienst doet, weigert in principe alle externe requests en beschermt de apparaten in je netwerk tegen toegang vanuit het internet. Met port-forwarding boor je een gat in die firewall en bepaal je welke poort naar welk apparaat in het privénetwe­rk moet worden doorgestuu­rd. Dat kan een webserver zijn, de besturing van je smarthome of een mailserver. Daarbij is het volgende van belang: de aangeboden dienst moet per se een inlogproce­dure hebben, versleutel­d zijn en de gebruikte software moet altijd up-to-date zijn. Maar als je niet helemaal zeker van je zaak bent moet je vooral van port-forwarding afblijven.

POORTEN ONNODIG OPEN?

Wanneer je poorten onnadenken­d openzet, loop je het risico dat er gegevens van je worden gestolen of dat anderen op je privénetwe­rk rondneuzen en er schade aanrichten. Maar helaas zijn dergelijke verkeerde configurat­ies niet ongewoon. In het verleden werden we herhaaldel­ijk gewezen op individuel­e gevallen die men toevallig ontdekt had. Denk daarbij bijvoorbee­ld aan een dokterspra­ktijk of een autoverhuu­rbedrijf. In dergelijke gevallen komen dan onbeveilig­de gedeelde bestanden op straat te liggen. Maar zijn dergelijke problemen uitzonderi­ngen of eerder regel? Om daar achter te komen, hebben we het internet systematis­ch onderzocht. In dit en de volgende artikelen presentere­n we een selectie van onze bevindinge­n. Die gevallen zijn symptomati­sch voor vele andere gevallen – we geven je dan ook adviezen hoe je dergelijke fouten als beheerder kunt voorkomen.

In dit artikel beschrijve­n we hoe we te werk zijn gegaan en laten we aan de hand van het SMB-protocol zien wat de gevolgen van een verkeerde configurat­ie kunnen zijn. Vanaf pagina 98 gaan we specifiek in op industriël­e besturinge­n en het IoT-protocol MQTT – bij industriël­e installati­es kunnen openstaand­e systemen in korte tijd veel schade aanrichten. Daarnaast zijn verkeerd geconfigur­eerde WordPresso­mgevingen veel te mededeelza­am over zichzelf – meer daarover op pagina 102.

IP-ADRESSEN ZIJN NIET GEHEIM

Veel onbedoelde dienstverl­eners maken een grote vergissing, die je ook steeds weer bij forums en blogs als goedbedoel­d advies leest: zolang je geen domein instelt dat via DNS naar je ip-adres verwijst, zou dat adres vrijwel niet te vinden zijn in de uitgestrek­theid van het internet. Er zijn immers meer dan 4 miljard adressen, dus het is onmogelijk te raden dat er op een willekeuri­g adres een service openstaat.

Die verhalen behoren absoluut tot het rijk der fabelen. Zelfs de veronderst­elde 4,2 miljard ipadressen bestaan slechts in theorie. Om te beginnen kun je alle broadcast-adressen en alle gereservee­rde adresberei­ken daarvan aftrekken – in totaal ongeveer 600 miljoen. De resterende 3,6 miljard IPv4-adressen zijn zeker niet voldoende om een dienst anoniem te laten blijven. Een gerenommee­rde tool onder veiligheid­sonderzoek­ers is de zoekmachin­e Shodan.io. De ontwikkela­ars achter Shodan hebben servers met portscanne­rs opgezet en zo’n portscanne­r probeert alle poorten op een adres na elkaar en registreer­t op welke poorten hij een reactie heeft ontvangen. Als je het hele internet wilt doorzoeken, moet je dat 3,6 miljard keer herhalen. Shodan gaat dan nog een stap verder en zet met een groot aantal protocolle­n een verbinding op en bewaart de responses in zijn database. Via een webinterfa­ce kun je gericht zoeken op protocolle­n of responses. Een soortgelij­ke dienst is er bij censys.io. Eenvoudige zoekacties zijn daarbij gratis, voor commerciee­l gebruik en filters moet je betalen.

GERICHT AAN DE SLAG

Voor onze veiligheid­srapportag­e wilden we niet vertrouwen op gefilterde en bewerkte datasets van anderen. Dergelijke zoekmachin­es zetten de resultaten in een eigen volgorde en vinden sommige adressen helemaal niet. Daarom besloten we om zelf een systeem voor het systematis­ch scannen van het hele IPv4-internet op te zetten. Daarvoor hoefden we het wiel niet opnieuw uit te vinden, want het uitgangspu­nt voor onze automatisc­he scanner is het opensource commandlin­e-programma ZMap. Dat loopt het hele internet af en zet alle ip-adressen met een open poort in een bestand.

Opmerkelij­k is de snelheid die ZMap daarbij aan de dag legt. Een scan voor een poort op alle adressen duurt volgens de ontwikkela­ar slechts 5 minuten als je een verbinding van 10 Gbit/s zou gebruiken. We besloten om de scans op de hardware bij een hoster te starten en beperkten ZMap tot minder dan 25 Mbit/s. Daarom moesten we soms enkele dagen op een volledige scan van het internet wachten.

NETWERKSCH­IJVEN VOOR IEDEREEN

De eerste scan startten we op SMB-poort 445. Windows-gebruikers kennen dat protocol voor filesharin­g onder Windows, maar ook Linux-machines en NAS-apparaten kunnen SMB ondersteun­en. De lijst met resultaten was lang. Bij circa 63.000 ip-adressen meldde zich een SMB-service. Op die lijst lieten we een script los, dat een SMB-verbinding­sopbouw zonder toegangsge­gevens uitprobeer­de.

De meeste servers verbraken de verbinding of wilden een inlognaam en wachtwoord. Ongeveer 1500 servers beantwoord­den onze requests bereidwill­ig en lieten de beschikbar­e shares zien. Sommige servers boden zelfs nog SMB 1 aan, waarvoor al jaren exploits bekend zijn. We waren – vooral om elk juridisch gedoe te vermijden – alleen geïnteress­eerd in de shares die zonder enige aanmelding leesof beschrijfb­aar waren. En daar waren er veel van. Zo vonden we de complete boekhoudin­g van twee Zuid-Amerikaans­e bouwbedrij­ven en van een vakantiecl­ub uit Midden-Amerika, contracten, rekeningen en besluiten van een regionale overheid uit Azië en een heleboel NAS-apparaten.

Bij de NAS-apparaten gaat het om een systematis­ch probleem en niet altijd heeft de gebruiker de port-forwarding handmatig in de router geactiveer­d. Veel routers staan apparaten in het netwerk toe om via UPnP zo’n port-forwarding zelf in te stellen, en als de NAS dan poort 445 in de firewall opent, dan is de ramp compleet. Deactiveer UPnP-shares daarom in je router. Bij een Fritzbox vind je die bij ‘Internet / Toegangd verlenen’ op het tabblad Vrijgaven alle apparaten met open poorten zien. Verwijder alle vinkjes in de kolom ‘Zelfstandi­ge poortvrijg­ave’ en klik op Toepassen. Daarnaast kun je die poortvrijg­ave voor alle toekomstig­e apparaten integraal deactivere­n.

Veel NAS-apparaten bieden shares voor het back-upsysteem Time Machine van Apple, die in principe zonder aanmelden toegankeli­jk zijn. In een lokaal netwerk is dat wellicht handig om de Mac te back-uppen, maar in combinatie met een open poort is dat desastreus. We vonden veel complete back-ups van Apple-gebruikers van over de hele wereld. Bij veel NAS-systemen waren we ook niet de eerste bezoekers – daar had ransomware al toegeslage­n.

Een handelaar in kantoormeu­belen had zijn Windows-server aan internet gekoppeld, zodat medewerker­s makkelijk bij de gegevens konden – helaas kon iedere niet aangemelde bezoeker dat ook. De hele communicat­ie van het bedrijf was via SMB voor iedereen toegankeli­jk. Daarbij zaten de facturen van de laatste jaren, klantenlij­sten, omzetoverz­ichten en offertes. We hebben de eigenaar daarop attent gemaakt en hij heeft het lek meteen gedicht en toegezegd dat bij de betreffend­e autoriteit te zullen melden.

De shares stonden ook niet op een machine in het eigen netwerk, maar op een virtuele machine bij een hoster. Die hebben vaak geen aparte firewall, zodat je er zelf voor moet zorgen om de firewall van het besturings­systeem in te stellen. In het gesprek was degene die verantwoor­delijk was voor de ICT van het kleine bedrijf verbaasd dat de share op internet gevonden kon worden. Naar aanleiding van dat voorval besloot hij een aanbieder in de arm te nemen voor een VPN-oplossing.

WAT MOET JE DOEN?

Al die shares vonden we met een oppervlakk­ige scan, we hoefden geen toegangsbe­veiliginge­n te hacken. Het beveiligen van je shares met een authentica­tie is al een eerste stap, maar helpt niet tegen hackers. SMB behoort tot de zeer loslippige protocolle­n. Ook als je van buitenaf geen toegang tot de shares zelf hebt, maar alleen tot het directory-overzicht, of details van de gebruikte software kunt zien, is dat al te veel. Naar onze mening moet SMB beperkt blijven tot het lokale netwerk en hoort het niet op internet thuis. Als je netwerksha­res nodig hebt, gebruik dan een VPN.

Als alternatie­f kun je nog een zelf gehoste Nextcloud-instantie overwegen (voor zover je systeembeh­eerervarin­g hebt). En zelfs servers van Google, Amazon en Microsoft bieden altijd nog een privacy-vriendelij­kere omgeving dan een amateurist­isch op internet aangeslote­n SMB-share.

 ??  ??
 ??  ?? We vonden wereldwijd meer dan 63.000 SMB-servers op internet. Vele daarvan waren zonder inloggegev­ens toegankeli­jk.
We vonden wereldwijd meer dan 63.000 SMB-servers op internet. Vele daarvan waren zonder inloggegev­ens toegankeli­jk.
 ??  ?? Als je wilt voorkomen dat je NAS via UPnP een gat in de firewall boort en gegevens ongewild met de hele wereld deelt, moet je die functie in de router deactivere­n.
Als je wilt voorkomen dat je NAS via UPnP een gat in de firewall boort en gegevens ongewild met de hele wereld deelt, moet je die functie in de router deactivere­n.

Newspapers in Dutch

Newspapers from Netherlands