Nmap
I denne artikel vil jeg forklare hvad Nmap er og hvordan det kan bruges til at teste sikkerheden på et netværk.
Hvad er Nmap?
Nmap er et værktøj til netværksskanning, der bruges til at finde enheder, der er tilsluttet et netværk og opdage sårbarheder i disse enheder. Nmap er et af de mest populære værktøjer til netværksskanning og bruges af både sikkerhedseksperter og hackere.
Usecases
- Port scanning for åbne services
- Sikkerhedsvurdering af netværk
- Service/version detection
- OS detection
- Network mapping
- Vulnerability scanning
Integration med .NET Aspire
- Scanning af containerized services
- Verificering af eksponerede endpoints
- Security testing af API Gateway
- Service discovery validering
- Port conflict detection
Anvendelse
# Installation på Windows
winget install nmap
# Basis scanning
nmap localhost # Scanner localhost
nmap 192.168.1.0/24 # Scanner helt netværk
Ved at åbne powershell og kører localhost fandt jeg eksempelvis følgende på min egen maskine:
Starting Nmap 7.95 ( https://nmap.org ) at 2024-11-19 12:40 Rom, normaltid
Nmap scan report for localhost (127.0.0.1)
Host is up (0.00s latency).
Other addresses for localhost (not scanned): ::1
rDNS record for 127.0.0.1: kubernetes.docker.internal
Not shown: 996 closed tcp ports (reset)
PORT STATE SERVICE
135/tcp open msrpcs
445/tcp open microsoft-ds
2179/tcp open vmrdp
3000/tcp open ppp
Nmap done: 1 IP address (1 host up) scanned in 0.29 seconds
Lad mig analysere denne Nmap-scanningsrapport:
-
Generel Information:
- Scanningen blev udført på localhost (127.0.0.1)
- Tidspunkt: 19. november 2024, 12:40
- Scanningen tog 0.29 sekunder
- Værten er aktiv med meget lav latens (0.00s)
-
Åbne Porte:
- 135/tcp: msrpc (Microsoft Remote Procedure Call) - 445/tcp: microsoft-ds (Microsoft Directory Services) - 2179/tcp: vmrdp (Virtuel Machine Remote Desktop Protocol) - 3000/tcp: ppp (Point-to-Point Protocol)
-
Sikkerhedsmæssige Overvejelser:
- Port 135 (RPC) og 445 (SMB) er Windows-system porte der ofte bruges til fjernadministration
- Disse porte kan være sårbare hvis de ikke er ordentligt sikret
- 996 porte er lukket, hvilket er godt fra et sikkerhedsperspektiv
-
Bemærkninger:
- Hostname "kubernetes.docker.internal" indikerer at Docker/Kubernetes er installeret
- Kun TCP-porte blev scannet
- Der blev fundet både system- og applikationsporte
Anbefalinger:
- Gennemgå om alle disse porte virkelig behøver at være åbne
- Sørg for at portene er beskyttet bag en firewall
- Overvej at begrænse adgang til kun nødvendige IP-adresser
Kommandotabel
Kommando | Beskrivelse | Eksempel |
---|---|---|
nmap -sP | Ping scan | nmap -sP 192.168.1.0/24 |
nmap -sT | TCP connect scan | nmap -sT localhost |
nmap -sV | Version detection | nmap -sV -p 80,443 example.com |
nmap -A | Aggressive scan (OS + version) | nmap -A 10.0.0.1 |
nmap -p | Specific port scan | nmap -p 80,443,8080 localhost |
nmap -F | Fast scan (top 100 ports) | nmap -F 192.168.1.1 |