In vervolg op het eerste deel van deze serie, is het tijd om eens naar de meer geavanceerde functies van nmap . Te beginnen met de standaardpoortscan, is het mogelijk om meer informatie over de scan te krijgen door de vlag -vv toe te voegen:

 nmap -vv 192.168.1.101 

De uitvoer ziet er ongeveer zo uit:

In het eerste deel hebben we gekeken hoe een reeks adressen kan worden gescand. Er is nog een manier om de scan uit te voeren, maar deze keer door het aantal bits van het subnetmasker op te geven:

 nmap 192.168.1.1/24 

Met de opdracht hierboven worden alle hosts van 192.168.1.0 naar 192.168.1.255 gescand op een netwerk met een subnetmasker van 255.255.255.0. Hoewel grotere subnetmaskers mogelijk zijn (bijv. 255.255.0.0 is / 16), zou nmap een groot aantal hosts scannen en zou dit waarschijnlijk moeten worden vermeden.

Als u wilt dat nmap een lijst maakt van de hosts die worden gescand, gebruikt u de vlag -sL :

 nmap -sl 192.168.1.1/24 

In dit geval is de uitvoer een lijst met adressen (één per regel) beginnend bij 192.168.1.0 en eindigend bij 192.168.1.255.

Als er hosts op uw netwerk zijn die bezwaar maken tegen gescande objecten (bijvoorbeeld servers met inbraakdetectiesystemen of bepaalde typen firewallapparaten), kunt u nmap vertellen om een ​​bepaald adres over te slaan door de vlag -exclude . In het volgende voorbeeld worden alle hosts gescand van .0 tot .255 maar niet 192.168.1.4:

 nmap 192.168.1.1/24 -exlude 192.168.1.4 

heimelijkheid

Bij het zoeken naar open poorten kan nmap verschillende soorten scanmethoden gebruiken. Netwerkverbindingen worden tot stand gebracht met behulp van het TCP-protocol. Het definieert welke datapakketten moeten worden verzonden en wat het antwoord moet zijn. Om een ​​verbinding tot stand te brengen, wordt een SYN-pakket eerst naar de host verzonden. Als de poort open is en de host bereid is om verbindingen te accepteren, antwoordt deze door een SYN-ACK-pakket terug te sturen. Vervolgens verzendt de client een ACK-pakket om de verbinding te voltooien. Deze verbinding wordt vervolgens hoger gebruikt door software zoals webbrowsers en e-mailprogramma's. Wanneer het wordt aangeroepen vanuit een normaal gebruikersaccount, is dit precies wat nmap doet voor elke poort die wordt gescand. Als er een verbinding tot stand is gebracht, wordt gemeld dat de poort open is.

Maar als nmap wordt aangeroepen vanuit een root-account of met behulp van sudo, is standaard een ander type scan bekend als half-open scannen. In dit scenario maakt nmap de low-level TCP-pakketten zelf (in plaats van het onderliggende besturingssysteem te gebruiken om het namens hem te doen) en wanneer het de SYN-ACK ontvangt, antwoordt het niet met een ACK en dus is een volledige verbinding niet vastgesteld. Maar omdat de host antwoordde met een SYN-ACK, betekent dit dat de poort open is en beschikbaar is voor een volledige verbinding. Het voordeel van halfopen scannen is dat het sneller is en dat de serversoftware die op de poort luistert geen verbinding hoeft te maken.

U kunt ervoor zorgen dat halfopen scannen wordt gebruikt door de vlag -sS . In combinatie met -vv kunt u nmap die het gebruik van een "SYN Stealth-scan" rapporteert om de host te onderzoeken. Hier is het volledige commando:

 sudo nmap -sS -vv 192.168.1.101 

Merk ook op dat nmap nu een rapport geeft van het aantal onbewerkte pakketten dat het heeft gegenereerd, zodat het de halfopen scan kon uitvoeren.

Alles verlicht als een kerstboom

Er is nog één type scan dat het vermelden waard is en dat is de NULL-scan en zijn vrienden - de FIN-scan en de Xmas-scan. In de TCP-standaard is er een klein gedeelte dat een TCP-implementatie vertelt wat te doen als het een pakket met de verkeerde vlaggen ontvangt. Het praktische resultaat van dit "loop-gat" is dat alle pakketten die geen SYN-, RST- of ACK-bits bevatten, resulteren in een geretourneerd RST-pakket als de poort is gesloten en helemaal geen reactie als de poort open is. nmap kan dit in zijn voordeel gebruiken door misvormde pakketten te verzenden en te wachten om te zien of er een antwoord is.

De NULL-scan, die wordt aangeroepen met -sN, stelt geen bits in de pakketkop in. De FIN-scan, -sF, stelt het TCP FIN-bit en de Xmas-scan in, -sX, stelt de -sX, -sX en URG-vlaggen in. Het wordt de Xmas-scan genoemd, want het pakket is nu allemaal verlicht als een kerstboom!

Als de host antwoordt met een RST-pakket, dan is de poort gesloten, niets en de poort is open.

Conclusie

Zoals we kunnen zien, is nmap een krachtig hulpmiddel en is het evenzeer ontworpen voor stealth of openlijk scannen. Als laatste experiment probeer je de volgende opdracht om te achterhalen welke hosts nog in je lokale netwerk leven zonder de hosts daadwerkelijk te scannen, maar door gewoon om hun MAC-adressen te vragen:

 sudo nmap -PR -vv 192.168.1.1/24 

De vlag -PR zorgt ervoor dat nmap het MAC-adres van de host vraagt ​​(met ARP) en markeert de host als levend als deze een reactie krijgt.