Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
DivideAndScan — Dividi i risultati della scansione completa delle porte e usali per esecuzioni mirate di Nmap | Kitploit
Strumenti/GitHubGitHub/snovvcrash/divideandscan
Scanner di VulnerabilitàMappatura della ReteScansione PorteScripting e AutomazionePenetration Testing
GitHubsnovvcrash/divideandscan

DivideAndScan

Dividi i risultati della scansione completa delle porte e usali per esecuzioni mirate di Nmap

Vedi Repository
333492 anni faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

DivideAndScan

Divide Et Impera And Scan (e unisci anche i risultati della scansione)

versione python codacy pypi docker

Progetti in Evidenza

NixOSNixOS

DivideAndScan è usato per automatizzare in modo efficiente la routine di scansione delle porte, suddividendola in 3 fasi:

  1. Scoprire le porte aperte per un insieme di target.
  2. Eseguire Nmap individualmente per ogni target con version grabbing e azioni NSE.
  3. Unire i risultati in un singolo report Nmap (diversi formati disponibili).

Per la 1ª fase si intende utilizzare uno scanner di porte veloce*, il cui output viene analizzato e memorizzato in un database a file singolo (TinyDB). Successivamente, durante la 2ª fase vengono avviate scansioni Nmap individuali per ogni target con il suo set di porte aperte (il multiprocessing è supportato) in base ai dati del database. Infine, nella 3ª fase gli output Nmap separati vengono uniti in un unico report in diversi formati (XML / HTML / testo semplice / grepable) con nMap_Merger. La parte di visualizzazione è fornita da DrawNmap.

Casi d'uso potenziali:

  • Impegni di penetration test / red teaming con un ampio scopo da enumerare.
  • Wargames di cybersecurity / laboratori CTF di addestramento.
  • Esame di certificazione OSCP.

* Scanner di porte disponibili:

  • Nmap
  • Masscan
  • RustScan
  • Naabu
  • NimScan
  • sx

DICHIARAZIONE DI NON RESPONSABILITÀ. Tutte le informazioni contenute in questo repository sono fornite solo a scopo educativo e di ricerca. L'autore non è responsabile per qualsiasi uso illecito di questo strumento.

Come Funziona

come-funziona.png

Come Installare

Prerequisiti

Per dividere e scansionare con successo dobbiamo procurarci dei buoni strumenti di scansione delle porte (negli esempi seguenti le release di GitHub vengono scaricate tramite eget).

📑 Nota: se non hai voglia di sporcarti le mani con le dipendenze sul tuo sistema operativo host, passa direttamente alla parte Docker.

Nmap

root@kitploit:~
sudo apt install nmap xsltproc -y
sudo nmap --script-updatedb

Masscan

root@kitploit:~
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*

RustScan

root@kitploit:~
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

Naabu

root@kitploit:~
sudo mkdir /opt/naabu
sudo eget -s linux/amd64 projectdiscovery/naabu --to /opt/naabu
sudo ln -sv /opt/naabu/naabu /usr/local/bin/naabu

NimScan

root@kitploit:~
sudo mkdir /opt/nimscan
sudo eget -a NimScan elddy/NimScan --to /opt/nimscan
sudo ln -sv /opt/nimscan/nimscan /usr/local/bin/nimscan

sx

root@kitploit:~
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

dnsx

root@kitploit:~
sudo mkdir /opt/pd
sudo eget -s linux/amd64 projectdiscovery/dnsx --to /opt/pd
sudo ln -sv /opt/pd/dnsx /usr/local/bin/dnsx

Installazione

DivideAndScan è disponibile su PyPI come divideandscan, anche se consiglio di installarlo da GitHub con pipx per avere sempre la versione all'avanguardia:

root@kitploit:~
~$ pipx install -f "git+https://github.com/snovvcrash/DivideAndScan.git"
~$ das

C'è anche una release impacchettata con shiv (anche se di grandi dimensioni):

root@kitploit:~
# 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

Per scopi di debug puoi configurare un ambiente di sviluppo con poetry:

root@kitploit:~
~$ git clone --recurse-submodules https://github.com/snovvcrash/DivideAndScan
~$ cd DivideAndScan
~$ poetry install
~$ poetry run das

📑 Nota: DivideAndScan usa sudo per eseguire tutti gli scanner di porte, quindi chiederà la password quando vengono invocati i comandi di scansione.

Usare da Docker

dockeri.co

Puoi eseguire DivideAndScan in un container Docker nel modo seguente:

root@kitploit:~
~$ docker run --rm -it --name das -v ~/.das:/root/.das -v `pwd`:/app -p 8050:8050 snovvcrash/divideandscan

Poiché lo strumento richiede alcuni dati di input e produce alcuni dati di output, dovresti specificare la tua directory di lavoro corrente come punto di mount su /app all'interno del container. Inoltre, pubblicare la porta 8050 sull'host permette di accedere all'app Dash utilizzata per la visualizzazione dei report Nmap.

Potresti voler impostare un alias per accorciare il comando base:

root@kitploit:~
~$ alias das='docker run --rm -it --name das -v ~/.das:/root/.das -v `pwd`:/app -p 8050:8050 snovvcrash/divideandscan'
~$ das

Come Usare

come-usare.png

1. Riempire il DB

2. Scansione Mirata

3 (Opzionale). Unione dei Report

🔥 Esempio 🔥

Enumeriamo le porte aperte per tutte le macchine attive su Hack The Box.

  1. Aggiungi le mappature "host ⇄ porte aperte" al database con Masscan. A scopo dimostrativo escluderò l'intervallo di porte dinamico per evitare cose inutili usando -p1-49151. Nel secondo screenshot sto rivedendo i risultati della scansione per host e per porte:
root@kitploit:~
~$ das -db htb add -rm masscan '-e tun0 --rate 1000 -iL hosts.txt -p1-49151 --open'

esempio-1.png

root@kitploit:~
~$ das -db htb scan -hosts all -show
~$ das -db htb scan -ports all -show

esempio-2.png

  1. Avvia processi Nmap per ogni target per enumerare solo le porte che ci interessano (le porte aperte). Nel secondo screenshot sto facendo la stessa cosa ma avviando i processi Nmap simultaneamente:
root@kitploit:~
~$ das -db htb scan -hosts all -oA report

esempio-3.png

root@kitploit:~
~$ das -db htb scan -hosts all -oA report -nmap '-Pn -sVC -O' -parallel

Porta il tuo Scanner!

Puoi abbinare il tuo scanner di porte preferito a DivideAndScan implementando un singolo metodo parse per il suo output in das/parsers/DUMMY_SCANNER.py (vedi esempio per masscan):

root@kitploit:~
from das.parsers import IAddPortscanOutput


class AddPortscanOutput(IAddPortscanOutput):
    """Classe figlia per elaborare l'output di DUMMY_SCANNER."""

    def parse(self):
        """
        Parser dell'output grezzo di DUMMY_SCANNER.

        :return: una coppia di valori (nome file output grezzo della scansione porte, numero di host aggiunti al DB)
        :rtype: tuple
        """
        hosts = set()
        for line in self.portscan_raw:
            # Implementazione del parser per DUMMY_SCANNER
            pass

        return (self.portscan_out, len(hosts))

Aiuto

root@kitploit:~
usage: das [-h] [-db DB] {db,add,scan,dns,report,parse,draw,tree,help} ...

 -----------------------------------------------------------------------------------------------
|  ________  .__      .__    .___        _____              .____________                       |
|  \______ \ |__|__  _|__| __| _/____   /  _  \   ____    __| _/   _____/ ____ _____    ____    |
|   |    |  \|  \  \/ /  |/ __ |/ __ \ /  /_\  \ /    \  / __ |\_____  \_/ ___\\__  \  /    \   |
|   |    `   \  |\   /|  / /_/ \  ___//    |    \   |  \/ /_/ |/        \  \___ / __ \|   |  \  |
|  /_______  /__| \_/ |__\____ |\___  >____|__  /___|  /\____ /_______  /\___  >____  /___|  /  |
|          \/                 \/    \/        \/     \/      \/       \/     \/     \/     \/   |
|  {@snovvcrash}            {https://github.com/snovvcrash/DivideAndScan}             {vX.Y.Z}  |
 -----------------------------------------------------------------------------------------------

positional arguments:
  {db,add,scan,dns,report,parse,draw,tree,help}
    db                  utilità per manipolazioni manuali del DB
    add                 esegue una scansione completa delle porte e aggiunge l'output al DB
    scan                esegue scansioni Nmap mirate contro host e porte dal DB
    dns                 mappa i nomi di dominio da un file di input agli indirizzi IP corrispondenti dal DB
    report              unisce output Nmap separati in un unico report (https://github.com/CBHue/nMap_Merger)
    parse               analizza i report Nmap XML grezzi per nome del servizio e stampa le voci nel formato {servizio}://{host}:{porta}
    draw                visualizza i report Nmap XML (https://github.com/jor6PS/DrawNmap)
    tree                mostra il contenuto della directory ~/.das/ usando tree
    help                mostra la finestra di aiuto integrata --help di uno scanner di porte selezionato

options:
  -h, --help            mostra questo messaggio di aiuto ed esce
  -db DB                nome del DB con cui lavorare

Psst, ehi amico... Vuoi fare un po' di p0r7 5c4nn1n6 organizzato?

ToDo

  • Aggiungere parser per projectdiscovery/naabu
  • Aggiungere parser per elddy/NimScan
  • Aggiungere parser per sx
  • Aggiungere parser per ZMap
  • Memorizzare gli hostname (se presenti) accanto ai loro valori IP
  • Aggiungere opzione ffuf per automatizzare il fuzzing delle directory web (aggiunto modulo parse)
Scarica lo strumento
offsec.tools
NixOSoffsec.tools

Fornisci al modulo add un comando per uno scanner di porte veloce per scoprire porte aperte in un intervallo desiderato.

⚠️ Attenzione: per favore, assicurati di capire cosa stai facendo, perché quasi tutti gli strumenti di scansione delle porte possono danneggiare il sistema sottoposto a test se usati impropriamente.

root@kitploit:~
# Nmap, il flag -v è sempre richiesto per un parsing corretto!
~$ das add nmap '-v -n -Pn -e eth0 --min-rate 1000 -T4 -iL hosts.txt -p1-65535 --open'
# Masscan
~$ das add masscan '--rate 1000 -iL hosts.txt -p1-65535 --open'
# RustScan
~$ das add rustscan '-b 1000 -t 2000 -u 5000 -a hosts.txt -r 1-65535 -g --no-config'
# Naabu
~$ das add naabu '-rate 1000 -iL hosts.txt -p - -silent -s s'
# NimScan
~$ das add nimscan '192.168.1.0/24 -vi -p:1-65535 -f:500'
# sx
~$ sudo sx arp -i eth0 192.168.1.0/24 --json | tee arp.cache
~$ das add sx 'tcp syn -a arp.cache -i eth0 --rate 1000/s 192.168.1.0/24 -p 445,3389'

Quando il modulo inizia il suo lavoro, viene creata una directory ~/.das/db dove verranno inseriti il file del database e i risultati grezzi della scansione al termine della routine del modulo.

Avvia scansioni Nmap mirate con il modulo scan. Puoi regolare la superficie di scansione con l'opzione -hosts o -ports:

root@kitploit:~
# Scansione per host
~$ das scan -hosts all -oA report1
~$ das scan -hosts 192.168.1.0/24,10.10.13.37 -oA report1
~$ das scan -hosts hosts.txt -oA report1
# Scansione per porte
~$ das scan -ports all -oA report2
~$ das scan -ports 22,80,443,445 -oA report2
~$ das scan -ports ports.txt -oA report2

Per avviare Nmap simultaneamente in più processi, specifica l'opzione -parallel e imposta il numero di worker con l'opzione -proc (se non viene fornito alcun valore, verrà impostato automaticamente al numero di processori della macchina):

root@kitploit:~
~$ das scan -hosts all -oA report -parallel [-proc 4]

Il formato di output viene selezionato con le opzioni -oX, -oN, -oG e -oA rispettivamente per formati XML+HTML, testo semplice, grepable e tutti i formati. Quando il modulo completa il suo lavoro, viene creata una directory ~/.das/nmap_<DB_NAME> contenente i report grezzi di scansione Nmap.

Inoltre, puoi ispezionare il contenuto del database con l'opzione -show prima di avviare effettivamente le scansioni:

root@kitploit:~
~$ das scan -hosts all -show

Per generare un report indipendentemente dal modulo scan, dovresti usare il modulo report. Cercherà i report grezzi di scansione Nmap nella directory ~/.das/nmap_<DB_NAME> e li elaborerà e unirà in base all'opzione -hosts o -ports:

root@kitploit:~
# Unisci output per host
~$ das report -hosts all -oA report1
~$ das report -hosts 192.168.1.0/24,10.10.13.37 -oA report1
~$ das report -hosts hosts.txt -oA report1
# Unisci output per porte
~$ das report -ports all -oA report2
~$ das report -ports 22,80,443,445 -oA report2
~$ das report -ports ports.txt -oA report2

📑 Nota: tieni presente che il modulo report non cerca nel DB quando elabora le opzioni -hosts o -ports, ma cerca direttamente i report Nmap grezzi nella directory ~/.das/nmap_<DB_NAME>; ciò significa che il valore dell'argomento -hosts 127.0.0.1 verrà risolto con successo solo se esistono file ~/.das/nmap_<DB_NAME>/127-0-0-1.*, e il valore dell'argomento -ports 80 verrà risolto con successo solo se esistono file ~/.das/nmap_<DB_NAME>/port80.*.

esempio-4.png

  1. Di conseguenza ora abbiamo un report singolo in tutti i formati Nmap familiari (testo semplice, grepable, XML) oltre a un bel report HTML.

esempio-5.png