
Divisez les résultats d'un scan complet de ports et utilisez-les pour des exécutions ciblées de Nmap.
Diviser Et Impera Et Scanner (et aussi fusionner les résultats des scans)
NixOS![]() | ![]() |
|---|---|
| NixOS | offsec.tools |
DiviseEtScan (DivideAndScan) est utilisé pour automatiser efficacement la routine de scan de ports en la divisant en 3 phases :
Pour la 1ère phase, un scanner de ports rapide est prévu, dont la sortie est analysée et stockée dans une base de données fichier unique (TinyDB). Ensuite, pendant la 2ème phase, des scans Nmap individuels sont lancés pour chaque cible avec son ensemble de ports ouverts (le multiprocessing est supporté) selon les données de la base. Enfin, lors de la 3ème phase, les sorties Nmap séparées sont fusionnées en un seul rapport dans différents formats (XML / HTML / texte simple / grepable) avec nMap_Merger. La partie visualisation est assurée par DrawNmap.
Cas d'utilisation potentiels :
* Scanners de ports disponibles :
AVERTISSEMENT. Toutes les informations contenues dans ce dépôt sont fournies à des fins éducatives et de recherche uniquement. L'auteur n'est pas responsable de toute utilisation illégale de cet outil.

Pour diviser et scanner avec succès, nous avons besoin de bons outils de scan de ports (dans les exemples ci-dessous, les versions GitHub sont récupérées via eget).
📑 Note : si vous ne souhaitez pas gérer les dépendances sur votre système d'exploitation hôte, passez directement à la section Docker.
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 est disponible sur PyPI sous le nom divideandscan, mais je recommande de l'installer depuis GitHub avec pipx afin d'avoir toujours la version la plus récente :
~$ pipx install -f "git+https://github.com/snovvcrash/DivideAndScan.git"
~$ das
Il existe aussi une version empaquetée avec shiv (bien que volumineuse) :
# 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
Pour le débogage, vous pouvez configurer un environnement de développement avec poetry :
~$ git clone --recurse-submodules https://github.com/snovvcrash/DivideAndScan
~$ cd DivideAndScan
~$ poetry install
~$ poetry run das
📑 Note : DivideAndScan utilise sudo pour exécuter tous les scanners de ports, il demandera donc le mot de passe lorsque les commandes de scan seront lancées.
Vous pouvez exécuter DivideAndScan dans un conteneur Docker comme suit :
~$ docker run --rm -it --name das -v ~/.das:/root/.das -v `pwd`:/app -p 8050:8050 snovvcrash/divideandscan
Étant donné que l'outil nécessite des données d'entrée et produit des données de sortie, vous devez monter votre répertoire de travail actuel sur /app dans le conteneur. La publication du port 8050 sur l'hôte permet également d'accéder à l'application Dash utilisée pour la visualisation des rapports Nmap.
Vous pouvez définir un alias pour raccourcir la commande de base :