
Smap v1.0.0-beta
un sostituto drop-in per Nmap basato su shodan.io
alternativa a nmap basata su shodan.io

Smap è uno scanner di porte passivo realizzato con l'API gratuita di shodan.io. Accetta gli stessi argomenti da riga di comando di Nmap e produce lo stesso output, il che lo rende un sostituto immediato di Nmap.
Caratteristiche
- Scansiona 200 host al secondo
- Non richiede account/chiave API
- Rilevamento vulnerabilità
- Supporta i formati di output di nmap
- Fingerprinting di servizi e versioni
- Non effettua alcun contatto con i target in modalità passiva
- Accelerazione opzionale di nmap tramite le porte riportate da Shodan
Installazione
Binari
Puoi scaricare un binario precompilato da qui e usarlo subito.
Manuale
go install -v github.com/s0md3v/smap/cmd/smap@latest
Con dubbi o qualcosa non funziona? Per istruzioni più dettagliate, clicca qui
Pacchetto AUR
Smap è disponibile su AUR come smap-git (compilato dal sorgente) e smap-bin (binario precompilato).
Homebrew/Mac
Smap è disponibile anche su Homebrew.
brew update
brew install smap
Utilizzo
Smap accetta gli stessi argomenti di Nmap, ma in modalità passiva le opzioni diverse da -p, -h, -V, -o*, -iL, --concurrency e --append-output vengono ignorate. Usa --nmap per passare le opzioni di Nmap a una scansione Nmap reale dopo la scoperta passiva delle porte. Se non hai familiarità con Nmap, ecco come usare Smap.
Specificare i target
smap 127.0.0.1 127.0.0.2
Puoi anche usare un elenco di target, separati da nuove righe.
smap -iL targets.txt
Formati supportati
1.1.1.1 // indirizzo IPv4
example.com // hostname
178.23.56.0/8 // CIDR
1.1.1.1-20 // intervallo IPv4
Output
Smap supporta 7 formati di output utilizzabili con -o* come segue:
smap example.com -oX output.xml
Se vuoi stampare l'output sul terminale, usa il trattino (-) come nome file.
Formati supportati
oX // formato xml di nmap
oG // formato greppable di nmap
oN // formato predefinito di nmap
oA // output in tutti e 3 i formati precedenti contemporaneamente
oP // coppie IP:PORT separate da nuove righe
oS // formato smap personalizzato
oJ // json
Nota: poiché Nmap non scansiona/mostra vulnerabilità e tag, quei dati non sono disponibili nei formati di nmap. Usa
-oSper visualizzare quelle informazioni.
Specificare le porte
Smap scansiona queste ~4000 porte per impostazione predefinita. Se vuoi visualizzare i risultati solo per determinate porte, usa l'opzione -p.
smap -p21-30,80,443 -iL targets.txt
Accelerazione di Nmap
Usa --nmap per restringere una scansione con la tua nmap locale. Smap prima raccoglie l'unione delle porte riportate da Shodan e poi esegue Nmap una volta contro i target originali con quel range di porte più piccolo.
smap --nmap -Pn -sV --version-light 1.1.1.1
Tranne --nmap e --concurrency, gli argomenti forniti vengono passati a Nmap. Smap sostituisce il range di porte con i candidati di Shodan; se specifichi -p, limita prima i candidati a quel range. Nmap gestisce direttamente scansione e output, quindi le sue opzioni e i formati di output si comportano normalmente. Le operazioni solo su host come -sL e -sn vengono passate senza scoperta passiva delle porte.
I formati di output personalizzati di Smap sono funzionalità della modalità passiva; con --nmap, le opzioni di output hanno i normali significati di Nmap. Se Shodan non riporta porte candidate, Nmap non viene eseguito.
Questo può far risparmiare tempo se i dati passivi sono sufficienti per il tuo caso d'uso.
Controllare la concorrenza
Smap usa 3 worker per impostazione predefinita per evitare di sollecitare troppo Shodan. Puoi modificarlo con --concurrency.
smap --concurrency 5 -iL targets.txt
Considerazioni
Poiché Smap si limita a recuperare i dati delle porte esistenti da shodan.io, è velocissimo, ma c'è dell'altro. Dovresti usare Smap se:
Vuoi
- rilevamento delle vulnerabilità
- uno scanner di porte velocissimo
- nessuna connessione effettuata verso i target
Puoi accettare
- di non poter scansionare indirizzi IPv6
- risultati vecchi fino a 7 giorni
- qualche raro rilevamento software non affidabile in modalità passiva
Nota: se usi
--nmap, Smap eseguirànmapcontro il target e stabilirà connessioni attive. Poiché i dati di Shodan possono essere obsoleti o incompleti, usarli come filtro per le porte può far perdere porte aperte.
