
Teile die Ergebnisse eines vollständigen Portscans auf und verwende sie für gezielte Nmap-Durchläufe
Divide Et Impera And Scan (und auch die Scan-Ergebnisse zusammenführen)
NixOS![]() | ![]() |
|---|---|
| NixOS | offsec.tools |
DivideAndScan wird verwendet, um die Port-Scanning-Routine effizient zu automatisieren, indem sie in 3 Phasen aufgeteilt wird:
Für die 1. Phase ist ein schneller Port-Scanner* vorgesehen, dessen Ausgabe geparst und in einer einzigen Datei-Datenbank (TinyDB) gespeichert wird. In der 2. Phase werden dann für jedes Ziel mit seinen offenen Ports individuelle Nmap-Scans gestartet (Multiprocessing wird unterstützt), basierend auf den Daten der Datenbank. Schließlich werden in der 3. Phase die einzelnen Nmap-Ausgaben mit nMap_Merger zu einem einzigen Bericht in verschiedenen Formaten (XML / HTML / einfacher Text / grepable) zusammengeführt. Die Visualisierung wird von DrawNmap bereitgestellt.
Mögliche Anwendungsfälle:
* Verfügbare Port-Scanner:
HAFTUNGSAUSSCHLUSS. Alle in diesem Repository enthaltenen Informationen dienen ausschließlich Bildungs- und Forschungszwecken. Der Autor ist nicht verantwortlich für jegliche illegale Nutzung dieses Tools.

Um erfolgreich zu teilen und zu scannen, benötigen wir einige gute Port-Scanning-Tools (in den Beispielen unten werden GitHub-Releases über eget heruntergeladen).
📑 Hinweis: Wenn Sie keine Lust haben, sich mit Abhängigkeiten auf Ihrem Host-Betriebssystem herumzuschlagen, springen Sie zum Docker-Teil.
sudo apt install nmap xsltproc -y
sudo nmap --script-updatedb
pushd /tmp
wget https://github.com/ivre/masscan/archive/refs/heads/master.zip -O masscan-master.zip
unzip masscan-master.zip
cd masscan-master
make
sudo make install
popd && rm -rf /tmp/masscan-master*
eget -t 2.0.1 -a amd64 RustScan/RustScan --to /tmp/rustscan.deb
sudo dpkg -i /tmp/rustscan.deb && rm /tmp/rustscan.deb
sudo wget https://gist.github.com/snovvcrash/8b85b900bd928493cd1ae33b2df318d8/raw/fe8628396616c4bf7a3e25f2c9d1acc2f36af0c0/rustscan-ports-top1000.toml -O /root/.rustscan.toml
sudo mkdir /opt/naabu
sudo eget -s linux/amd64 projectdiscovery/naabu --to /opt/naabu
sudo ln -sv /opt/naabu/naabu /usr/local/bin/naabu
sudo mkdir /opt/nimscan
sudo eget -a NimScan elddy/NimScan --to /opt/nimscan
sudo ln -sv /opt/nimscan/nimscan /usr/local/bin/nimscan
sudo mkdir /opt/sx
sudo eget -s linux/amd64 v-byte-cpu/sx --to /opt/sx
sudo ln -sv /opt/sx/sx /usr/local/bin/sx
sudo mkdir /opt/pd
sudo eget -s linux/amd64 projectdiscovery/dnsx --to /opt/pd
sudo ln -sv /opt/pd/dnsx /usr/local/bin/dnsx
DivideAndScan ist auf PyPI als divideandscan verfügbar, obwohl ich empfehle, es von GitHub mit pipx zu installieren, um immer die aktuellste Version zu haben:
~$ pipx install -f "git+https://github.com/snovvcrash/DivideAndScan.git"
~$ das
Es gibt auch ein Release, das mit shiv gepackt ist (allerdings große Dateigröße):
# shiv -e das.divideandscan:main -o das.pyz divideandscan
~$ wget https://github.com/snovvcrash/DivideAndScan/releases/latest/download/das.pyz && chmod +x das.pyz
~$ ./das.pyz
Für Debugging-Zwecke können Sie eine Entwicklungsumgebung mit poetry einrichten:
~$ git clone --recurse-submodules https://github.com/snovvcrash/DivideAndScan
~$ cd DivideAndScan
~$ poetry install
~$ poetry run das
📑 Hinweis: DivideAndScan verwendet sudo, um alle Port-Scanner auszuführen. Daher wird bei der Ausführung von Scan-Befehlen das Passwort abgefragt.
Sie können DivideAndScan in einem Docker-Container wie folgt ausführen:
~$ docker run --rm -it --name das -v ~/.das:/root/.das -v `pwd`:/app -p 8050:8050 snovvcrash/divideandscan
Da das Tool einige Eingabedaten benötigt und Ausgabedaten erzeugt, sollten Sie Ihr aktuelles Arbeitsverzeichnis als Mount-Punkt unter /app im Container angeben. Das Veröffentlichen von Port 8050 auf dem Host ermöglicht den Zugriff auf die Dash-App, die zur Visualisierung von Nmap-Berichten verwendet wird.
Sie können einen Alias setzen, um den Basisbefehl zu verkürzen: