De sleutel tot een succesvolle penentratie test

Nmap & Nmap scripting engine (NSE)

Maikel Severins

Maikel Severins

Nmap is volgens ons de beste port scanner die er verkrijgbaar is. Het is makkelijk toegankelijk, hanteerbaar en de syntax van de commando’s zijn goed om mee om te gaan. de resultaten (output) zijn relatief eenvoudig te begrijpen.


Nmap is een standaard onderdeel van het besturingssysteem Kali Linux, dat speciaal ontwikkeld is voor beveiligingstesten. Nmap is hanteerbaar via command-line of via een grafische interface. De grafische interface heet “Zenmap”

afb. 1. Nmap CLI
afb. 2. Nmap GUI - Zenmap
Nmap CLI

De meeste systeembeveiligers zijn bekend met Nmap en zijn werking. Nmap kan zoveel meer doen dan alleen portscanning, dit is mede mogelijk door een stukje scripting. Dit onderwerp willen wij graag aan u uitlichten.

Wat is de Nmap Scripting Engine (NSE)

NSE betekend Nmap scripting Engine en het is in het feite een digitaal arsenaal aan scripts om de normale standaard Nmap commando’s mee te complimenteren.

Een van de beste dingen van NSE is dat Nmap gebruikers zelf hun eigen scripts kunnen maken. Denk aan Systeembeheerders, hackers, professionals of hobbyisten. De scripts moeten met de LUA programmeertaal geschreven worden.

Wat zijn de mogelijkheden met Nmap Scripts?

Er zijn bijna 600 scripts ingebakken in een standaard Nmap installatie. Er is bijna geen infosec onderzoek dat u niet voor elkaar krijgt met deze scripts. Hieronder staat een opsomming van een paar handelingen die mogelijk zijn door de Nmap Scripts te gebruiken:

  • DNS enumeration
  • Brute force attacks
  • OS Fingerprinting & Banner grabbing
  • Kwetsbaarheden detecteren en exploiten
  • Malware opsporen

Er zijn 4 soorten Nmap scripts genaamd:

Prerule scripts

Scripts die uitgevoerd worden voordat de scanfase van Nmap af wordt getrapt. Dit kan handig zijn als er nog geen informatie bekend is van het doel (target) of juist om meer targets te ontdekken.

Host scripts

Nadat er met Nmap is gescand, kan het voorkomen dat er diensten ontdekt worden die zich bevinden op de target in kwestie. Een voorbeeld van een host script kan een whois-ip lookup zijn. Die wordt uitgevoerd nadat de scan al uitgevoerd is om de checken wie de eigenaar is van een bepaald IP adres.

Service scripts

Dit zijn scripts die worden afgetrapt om specifieke diensten van de target te testen. Bijvoorbeeld Nmap bevat meer dan 15 http service scripts voor een automatische test van een webservice uit te voeren. Als een webservice meerdere poorten open heeft staan, dat kan het script ook automatisch meerdere keren draaien.

Postrule scripts

Scripts om data en statistieke mee te rapporteren die zijn ontdekt gedurende de Nmap scan. Dit kan handig zijn om de opmaak van de resultaten aan te passen.

Gebruik van de Nmap Scripting Engine

Ondanks dat veel van deze scripts moeilijk zijn om te schrijven, zijn de meeste Nmap scripts van parameters en opties zijn voorzien die het gebruik aangenamer maken.

Omdat er meer dan 600 scripts in Nmap zit kan het moeilijk zijn om alle scripts 1 voor 1 te checken.

Daarom heeft Nmap een ingebouwde ‘-sC’ optie waardoor de meest populaire scripts in 1 keer uitgevoerd kan worden.

De syntax is:

Nmap -sC ip address of hostname

Voorbeeld:

Nmap -sC 192.168.10.1

Het is ook een mogelijkheid om meerder nmap scripts uit te voeren door middel van een wilcard *

Voor ssh is onderstaande syntax van toepassen

Nmap --script ssh-* 192.168.10.1

Hetzelfde geldt voor SMB (Server Message Block)

Nmap --script smb* 192.168.10.1

Uiteraard is het ook mogelijk maar 1, of een beperkt aantal scripts uit te voeren.

Scripts uitvoeren die niet standaard in nmap staan

Nmap --script =/mijn/directory/script 192.168.10.1

Locatie van de standaard nmap scripts

In windows:

C:\Program Files (x86)\Nmap\scripts
Afb. 3. Nmap script locatie windows

In (Kali)linux:

/usr/share/nmap/scripts/
Afb. 4. Nmap script directory

In Zenmap is het mogelijk om scanprofielen aan te maken die handig zijn voor toekomstige scans.

Hierin kunt u ook bladeren tussen de scripts en via een muisklik een script inladen.

Afb. 5. Scripts selecteren in Zenmap

Het is ook een mogelijkheid om eigen scripts te selecteren via de gui door op het knopje “add” te drukken en naar het desbetreffende script te browsen.

Samenvatting

NSE is een van de krachtigste features van Nmap. Er zijn op het internet heel veel scripts te vinden zoals op github. Voor iedereen is er wel een script dat goed van pas komt.

Ik vind Nmap een cruciale tool voor mijn arsenaal. De tool is veelzijdig en enorm handig. De mogelijkheden zijn eindeloos. Dit is mijn primaire tool voor taken uit te voeren in mijn dagelijks leven.

Bron: https://nmap.org/

Get in touch

Maikel Severins

Maikel Severins

Security Analyst

Cybersecurity

Providing professional security in an insecure digital world.