Nmap Dashboard mit WebMap

Einer der wohl bekanntesten freien Portscanner zum Scannen und Auswerten von Hosts in einem Netzwerk ist Nmap.
WebMap ist ein Dashboard für die grafische Auswertung und Aufbereitung eines Nmap scans, der als XML Report gespeichert wird.

Das lokale LAN sollte man ruhig mal scannen, um ggf. unnötig offene Ports und laufende Dienste zu finden.
WebMap liefert dazu eine passende Übersicht und Statistik.

Features (von der Website)

  • Import and parse Nmap XML files
  • Run and Schedule Nmap Scan from dashboard
  • Statistics and Charts on discovered services, ports, OS, etc…
  • Inspect a single host by clicking on its IP address
  • Attach labels on a host
  • Insert notes for a specific host
  • Create a PDF Report with charts, details, labels and notes
  • Copy to clipboard as Nikto, Curl or Telnet commands
  • Search for CVE and Exploits based on CPE collected by Nmap
  • RESTful API
  • This project is currently BETA, please DO NOT expose WebMap to the internet.
  • This version is NOT production ready.
  • Only scan YOUR-OWN Network.

Installation

Eigentlich für die Ausführung als Docker Container gedacht, lässt sich WebMap aber auch unter Debian 10 installieren. (LXC Container)

die einzelnen Schritte:

$ apt install --no-install-recommends python3 python3-pip curl wget git libssl-dev vim nmap binutils libjpeg62

$ cd /opt
$ mkdir xml
$ mkdir notes

$ wget https://github.com/wkhtmltopdf/packaging/releases/download/0.12.6-1/wkhtmltox_0.12.6-1.buster_amd64.deb
$ ar -x wkhtmltox_0.12.6-1.buster_amd64.deb data.tar.xz
$ mkdir wkhtmltox
$ tar -xvf data.tar.xz --strip-component=3 -C wkhtmltox 

$ pip3 install Django requests xmltodict
$ django-admin startproject nmapdashboard

$ cd nmapdashboard
$ git clone https://github.com/SabyasachiRana/WebMap.git nmapreport
$ python3 manage.py migrate

$ cp /opt/nmapdashboard/nmapreport/docker/settings.py /opt/nmapdashboard/nmapdashboard/
$ cp /opt/nmapdashboard/nmapreport/docker/urls.py /opt/nmapdashboard/nmapdashboard/

$ rm /opt/data.tar.xz
$ rm /opt/wkhtmltox_0.12.6-1.buster_amd64.deb

Nmap ausführen und als XML Report speichern. (kann auch später im Dashboard gemacht werden)

# komplettes LAN (das dauert schon ein paar Minuten)
$ nmap -sT -A -T4 -oX /opt/xml/local_lan.xml 192.168.123.0/24

# einzelner Host
$ nmap -sT -A -T4 -oX /opt/xml/router.xml 192.168.123.1

Für die Anmeldung am Dashboard wird ein Token benötigt, der auf der Konsole erstellt wird.

$ python3 /opt/nmapdashboard/nmapreport/token.py
Token: JxSGPAHAMlnN

WebMap Dashboard starten.

$ bash /opt/nmapdashboard/nmapreport/docker/startup.sh

Watching for file changes with StatReloader
Performing system checks...

System check identified no issues (0 silenced).
April 25, 2021 - 16:20:18
Django version 3.2, using settings 'nmapdashboard.settings'
Starting development server at http://0:8000/
Quit the server with CONTROL-C.

Das Dashboard ist über http://ip-adresse:8000 erreichbar.

neuer Nmap Scan

alle Nmap Scans

Network View

PDF Report

Damit WebMap automatisch startet, erstelle ich ein startscript für den systemd unter: /etc/systemd/system/webmap.service

[Unit]
Description=WebMap Dashboard for Nmap
After=network.target syslog.target

[Service]
Type=simple
ExecStart=/usr/bin/python3 /opt/nmapdashboard/manage.py runserver 0:8000
Restart=on-failure
RestartSec=10
KillMode=process
SyslogIdentifier=WebMap

[Install]
WantedBy=multi-user.target

Den Service aktivieren.

$ systemctl daemon-reload
$ systemctl enable webmap.service

BUGS

Oder eher ein paar kleine Schönheitsfehler.

keine Charts beim PDF Report
Bisher keine Lösung gefunden. (Oder hab ich in meinem Setup einen Fehler?)

fehlende und defekte links
Die links im Menü unter SOCIAL können in der /opt/nmapdashboard/nmapreport/templates/nmapreport/main.html angepasst werden.

<li class="wm_line"><div>social</div></li>
... hier die links anpassen ...
 
<li><a class="subheader">Support WebMap on GitHub</a></li>
... hier die links anpassen ...

Der link am Ende des PDF Reports kann in der /opt/nmapdashboard/nmapreport/pdf.py angepasst werden.

<a href="https://github.com/Rev3rseSecurity/WebMap">https://github.com/Rev3rseSecurity/WebMap</a>'+\

Schreibe einen Kommentar