Netwerk Scanning met Nmap: Beginnersgids

Stel je voor: je bent een ethisch hacker die de opdracht krijgt om het netwerk van een bedrijf te testen. Waar begin je? Je kunt niet aanvallen wat je niet kunt zien. De allereerste stap in elke security audit is verkenning - en daarvoor is er een tool die al meer dan 25 jaar de standaard is: Nmap. In deze beginnersgids leer je wat Nmap is, hoe het werkt, en hoe je het veilig en ethisch kunt gebruiken.

Wat is Nmap?

Nmap staat voor Network Mapper. Het is een gratis, open-source tool die oorspronkelijk is geschreven door Gordon "Fyodor" Lyon in 1997. Ondanks zijn leeftijd is Nmap nog steeds de go-to tool voor netwerk verkenning en wordt het dagelijks gebruikt door security professionals, systeembeheerders en ethische hackers wereldwijd.

Met Nmap kun je:

  • Hosts ontdekken - Welke apparaten zijn actief op een netwerk?
  • Open poorten vinden - Welke services draaien er en luisteren naar verbindingen?
  • Service versies detecteren - Welke software (en welke versie) draait op elke poort?
  • Besturingssystemen identificeren - Draait het doelwit Windows, Linux of iets anders?
  • Kwetsbaarheden opsporen - Zijn er bekende security problemen met de gevonden software?
Nmap is volledig legaal om te downloaden en te installeren. Het wordt pas problematisch wanneer je het zonder toestemming op systemen van anderen gebruikt. Meer over de juridische grenzen verderop in dit artikel.

Waarom is Netwerk Scanning Belangrijk?

Elk apparaat dat verbonden is met een netwerk - of dat nu een webserver, database, printer of IoT-apparaat is - communiceert via poorten. Denk aan poorten als deuren in een gebouw. Sommige deuren staan open, sommige zijn op slot, en sommige staan op een kier. Een netwerk scanner zoals Nmap loopt langs al die deuren en controleert welke open staan.

Voor een security professional is dit essentieel, want:

  • Elke open poort is een potentieel aanvalsvector - een plek waar een aanvaller zou kunnen binnenkomen
  • Onbekende open services wijzen op misconfiguratie of ongeautoriseerde software
  • Verouderde software versies op open poorten bevatten vaak kwetsbaarheden
  • Je kunt pas beveiligen wat je kent - "you can't secure what you can't see"
Netwerk scanning is de eerste fase van vrijwel elke pentest. Als je de reconnaissance fase overslaat, mis je waarschijnlijk het grootste deel van het aanvalsoppervlak. Geduld in deze fase betaalt zich later dubbel terug.

Hoe Werkt Port Scanning?

Om te begrijpen hoe Nmap werkt, moet je eerst iets weten over hoe computers met elkaar communiceren. Het internet gebruikt het TCP-protocol voor de meeste verbindingen. Voordat twee computers data kunnen uitwisselen, moeten ze eerst een verbinding opzetten via een proces dat de TCP three-way handshake heet.

De TCP Three-Way Handshake

Dit proces werkt als volgt:

  1. SYN - Jouw computer stuurt een "Hallo, mag ik verbinden?" bericht (SYN-pakket)
  2. SYN-ACK - Als de poort open is, antwoordt de server met "Ja, welkom!" (SYN-ACK)
  3. ACK - Jouw computer bevestigt: "Top, verbinding staat!" (ACK-pakket)

Als de poort gesloten is, stuurt de server in plaats van SYN-ACK een RST (reset) pakket terug: "Nee, hier is niks." En als de poort gefilterd is door een firewall, krijg je helemaal geen antwoord.

Connect Scan vs SYN Scan

Nmap gebruikt dit mechanisme om poorten te controleren, maar het heeft meerdere manieren om dat te doen:

  • TCP Connect Scan (-sT) - Voltooit de hele three-way handshake. Betrouwbaar maar langzamer en makkelijker te detecteren door het doelwit. Dit is de standaard scan als je geen root-rechten hebt.
  • SYN Scan (-sS) - Ook wel "half-open scan" genoemd. Stuurt een SYN, wacht op SYN-ACK, maar voltooit de handshake niet. Sneller en stealthier omdat er geen volledige verbinding wordt gemaakt. Vereist root/admin-rechten. Dit is de standaard scan met root-rechten.
$ nmap -sS 192.168.1.1
Starting Nmap scan... PORT STATE SERVICE 22/tcp OPEN SSH <- Secure Shell (remote toegang) 80/tcp OPEN HTTP <- Webserver (onversleuteld!) 443/tcp OPEN HTTPS <- Webserver (versleuteld) 3306/tcp CLOSED MySQL <- Database (dicht = goed!) [TIP] SYN scan (-sS) is sneller dan connect scan omdat de handshake niet wordt voltooid.
In de praktijk gebruik je bijna altijd de SYN scan (-sS). Het is sneller, produceert minder netwerkverkeer, en laat minder sporen achter in de logs van het doelwit. Maar onthoud: bij een geautoriseerde pentest maakt stealth weinig uit - je hebt immers toestemming.

Veelvoorkomende Poorten en Services

Er zijn 65.535 mogelijke poorten op een systeem, maar in de praktijk kom je steeds dezelfde tegen. Hier zijn de poorten die je als beginner moet kennen:

Poort Service Wat doet het? Security risico
21 FTP Bestandsoverdracht Vaak onversleuteld - wachtwoorden in platte tekst!
22 SSH Veilige remote toegang Brute force aanvallen als wachtwoord zwak is
25 SMTP E-mail verzenden Open relay = spam doorsturen mogelijk
80 HTTP Webverkeer (onversleuteld) Alle data leesbaar voor aanvallers op het netwerk
443 HTTPS Webverkeer (versleuteld) Veiliger, maar webapplicatie zelf kan nog kwetsbaar zijn
3306 MySQL Database Extern bereikbaar = enorm risico als wachtwoord zwak is
Als je poort 3306 (MySQL) of 5432 (PostgreSQL) open vindt vanuit het internet, is dat bijna altijd een misconfiguratie. Databases horen niet direct bereikbaar te zijn vanuit het publieke internet. Meld dit altijd in je pentest rapport als kritieke bevinding.

Nmap in de Praktijk

Laten we de meest gebruikte Nmap commando's doorlopen. Je kunt al deze commando's veilig uitproberen in de HackSimulator.nl terminal.

Basis Scan - Eenvoudige Poort Scan

De meest simpele scan: controleer de 1000 meest voorkomende poorten op een IP-adres.

$ nmap 192.168.1.1
Starting Nmap scan voor 192.168.1.1... PORT STATE SERVICE 22/tcp OPEN SSH <- Secure Shell (remote toegang) 80/tcp OPEN HTTP <- Webserver 443/tcp OPEN HTTPS <- Versleutelde webserver Scan voltooid: 3 open poorten gevonden [TIP] Open poorten = potentiele aanvalsvectoren. Onderzoek elke service op kwetsbaarheden.

Netwerk Scan - Meerdere Hosts

Scan een heel subnet om te ontdekken welke apparaten actief zijn.

$ nmap 192.168.1.0/24
Starting Nmap scan voor 192.168.1.0/24... Host 192.168.1.1: OPEN ports 22, 80, 443 Host 192.168.1.10: OPEN ports 22, 3306 Host 192.168.1.50: OPEN ports 80, 8080 Host 192.168.1.254: OPEN ports 80, 443 4 hosts gevonden op netwerk [TIP] /24 betekent "scan alle 256 adressen in dit subnet" (192.168.1.0 t/m 192.168.1.255)

Service Versie Detectie (-sV)

Weten dat poort 22 open is, is nuttig. Maar weten dat daar OpenSSH 7.4 op draait is veel waardevoller - want dan kun je zoeken naar bekende kwetsbaarheden in die specifieke versie.

$ nmap -sV 192.168.1.1
Starting Nmap service scan... PORT STATE SERVICE VERSION 22/tcp OPEN SSH OpenSSH 7.4 <- Verouderd! Bevat bekende kwetsbaarheden 80/tcp OPEN HTTP Apache 2.4.49 <- Kwetsbaar voor path traversal (CVE-2021-41773) 443/tcp OPEN HTTPS Apache 2.4.49 [TIP] Gebruik -sV om software versies te detecteren. Zoek daarna in CVE-databases naar bekende kwetsbaarheden. [!] Apache 2.4.49 heeft een kritieke kwetsbaarheid! Adviseer direct updaten naar nieuwste versie.
CVE staat voor Common Vulnerabilities and Exposures. Het is een publieke database waar bekende kwetsbaarheden worden geregistreerd met een uniek nummer. Wanneer je een software versie vindt met Nmap, kun je op cve.mitre.org zoeken of er bekende problemen zijn.

Ping Scan - Host Discovery

Soms wil je alleen weten welke hosts actief zijn, zonder poorten te scannen. Combineer dit met ping voor een compleet beeld.

$ nmap -sn 192.168.1.0/24
Starting host discovery... Host 192.168.1.1 is up (0.003s latency) Host 192.168.1.10 is up (0.005s latency) Host 192.168.1.50 is up (0.012s latency) Host 192.168.1.254 is up (0.001s latency) 4 hosts up van 256 gescand [TIP] -sn (ping scan) is snel en niet-intrusief. Gebruik dit als eerste stap om het netwerk in kaart te brengen voordat je diepere scans uitvoert.

Specifieke Poorten Scannen

Je hoeft niet altijd alle poorten te scannen. Met de -p flag kun je specifieke poorten of ranges opgeven.

$ nmap -p 22,80,443,3306 192.168.1.1
Starting Nmap scan... PORT STATE SERVICE 22/tcp OPEN SSH 80/tcp OPEN HTTP 443/tcp OPEN HTTPS 3306/tcp CLOSED MySQL [TIP] Met -p specificeer je exact welke poorten je wilt scannen. Gebruik -p- om ALLE 65535 poorten te scannen (duurt langer maar is grondiger).

Scan Resultaten Interpreteren

Nmap rapporteert poorten in drie mogelijke states:

  • OPEN - Er luistert een applicatie op deze poort. Dit is wat je zoekt als security tester: elke open poort is een potentieel aanvalsvector die verder onderzocht moet worden.
  • CLOSED - De poort is bereikbaar maar er luistert geen applicatie. Het systeem antwoordt met een RST-pakket. Niet direct een risico, maar het vertelt je wel dat het systeem bereikbaar is.
  • FILTERED - Nmap kan niet bepalen of de poort open of dicht is, meestal omdat een firewall het verkeer blokkeert. Geen antwoord = waarschijnlijk gefilterd.
Let extra op als je een poort vindt die open is maar die je niet verwacht. Een webserver (poort 80) op een database server? Een SSH-dienst op een printer? Dat zijn tekenen van mogelijke misconfiguratie of zelfs een compromised systeem.

Ethische Overwegingen

Dit is het belangrijkste deel van dit artikel. Nmap is een krachtige tool, en met kracht komt verantwoordelijkheid.

Scan alleen systemen waar je expliciete, schriftelijke toestemming voor hebt! Ongeautoriseerde netwerk scans zijn illegaal in Nederland onder artikel 138ab van het Wetboek van Strafrecht (Computercriminaliteit III). Zelfs een "onschuldige" scan zonder kwade bedoelingen kan leiden tot strafrechtelijke vervolging. De wet maakt geen onderscheid tussen "even kijken" en daadwerkelijk inbreken.

De gouden regels voor ethisch gebruik van Nmap:

  1. Altijd schriftelijke toestemming - Een scope document of contract waarin staat welke systemen je mag scannen, wanneer, en met welke methoden.
  2. Beperk je tot de scope - Als je toestemming hebt voor 192.168.1.0/24, scan dan niet "even" het netwerk ernaast. Blijf binnen de afgesproken grenzen.
  3. Scan op afgesproken tijden - Intensieve scans kunnen netwerken vertragen. Spreek af wanneer je scant, bij voorkeur buiten kantooruren.
  4. Documenteer alles - Log welke scans je hebt uitgevoerd, wanneer, en wat de resultaten waren. Dit beschermt jou en je opdrachtgever.
  5. Gebruik je eigen netwerk om te oefenen - Scan je eigen router, je eigen computer. Of gebruik platforms zoals HackSimulator.nl, HackTheBox en TryHackMe.
Veel bedrijven hebben een responsible disclosure beleid. Als je per ongeluk een kwetsbaarheid ontdekt (bijvoorbeeld op een publieke website), kun je dit veilig melden via hun security pagina. In Nederland ondersteunt het NCSC coordinated vulnerability disclosure.

Veelgemaakte Fouten door Beginners

Hier zijn valkuilen die je als beginner wilt vermijden:

  • Scannen zonder toestemming - "Ik wilde alleen even kijken" is geen geldige verdediging. Het is en blijft illegaal.
  • Te agressief scannen - Een nmap -T5 -A -p- scan op een productie netwerk kan systemen laten crashen of beveiligingsalarmen triggeren. Begin rustig.
  • Scan resultaten niet verifiëren - Nmap geeft soms false positives. Controleer je bevindingen altijd met een tweede methode voordat je ze rapporteert.
  • Alleen op poort nummers afgaan - Poort 80 hoeft geen webserver te zijn. Gebruik -sV om te bevestigen welke service er daadwerkelijk draait.

Oefenen in HackSimulator.nl

Veilig oefenen met Nmap

Wil je Nmap leren zonder risico? In de HackSimulator.nl terminal kun je nmap en andere security tools uitproberen in een veilige, gesimuleerde omgeving. Geen installatie nodig, geen risico op juridische problemen. Type man nmap in de simulator voor de volledige handleiding, of begin met nmap 192.168.1.1 om je eerste scan uit te voeren.

Start met scannen

Samenvatting

Nmap is een onmisbare tool in het arsenaal van elke security professional. Met de basis die je in dit artikel hebt geleerd, kun je:

  • Netwerken verkennen en actieve hosts ontdekken
  • Open poorten en services identificeren
  • Software versies detecteren en kwetsbaarheden opsporen
  • Het verschil begrijpen tussen scan types (SYN vs Connect)
  • Scan resultaten correct interpreteren
  • Ethisch en legaal werken binnen afgesproken kaders

De volgende stap? Oefen met de commando's in HackSimulator.nl, lees over ethisch hacken als je dat nog niet hebt gedaan, en als je de terminal basics nog niet beheerst, begin daar. Netwerk scanning is pas het begin - er is een hele wereld aan security tools en technieken te ontdekken.

Nuttige Resources

Meer lezen?