
Caractéristiques • Installation • Utilisation • Exécution de Naabu • Configure • Intégration NMAP • Exclusion CDN / WAF • Discord
Naabu est un outil de balayage de port écrit en Go qui vous permet d'énumérer des ports valides pour les hôtes de manière rapide et fiable. Il s'agit d'un outil vraiment simple qui fait des analyses Syn / Connect / UDP rapides sur l'hôte / la liste des hôtes et répertorie tous les ports qui renvoient une réponse.

naabu -hCela affichera l'aide pour l'outil. Voici tous les commutateurs qu'il prend en charge.
Usage :
naabu [flags]
Flags :
INPUT :
-host string[] hosts to scan ports for (comma-separated)
-list, -l string list of hosts to scan ports (file)
-exclude-hosts, -eh string hosts to exclude from the scan (comma-separated)
-exclude-file, -ef string list of hosts to exclude from scan (file)
PORT :
-port, -p string ports to scan (80,443, 100-200)
-top-ports, -tp string top ports to scan (default 100) [full,100,1000]
-exclude-ports, -ep string ports to exclude from scan (comma-separated)
-ports-file, -pf string list of ports to scan (file)
-port-threshold, -pts int port threshold to skip port scan for the host
-exclude-cdn, -ec skip full port scans for CDN/WAF (only scan for port 80,443)
-display-cdn, -cdn display cdn in use
RATE-LIMIT :
-c int general internal worker threads (default 25)
-rate int packets to send per second (default 1000)
UPDATE :
-up, -update update naabu to latest version
-duc, -disable-update-check disable automatic naabu update check
OUTPUT :
-o, -output string file to write output to (optional)
-j, -json write output in JSON lines format
-csv write output in csv format
CONFIGURATION :
-config string path to the naabu configuration file (default $HOME/.config/naabu/config.yaml)
-scan-all-ips, -sa scan all the IP's associated with DNS record
-ip-version, -iv string[] ip version to scan of hostname (4,6) - (default 4) (default ["4"])
-scan-type, -s string type of port scan (SYN/CONNECT) (default "c")
-source-ip string source ip and port (x.x.x.x:yyy - might not work on OSX)
-interface-list, -il list available interfaces and public ip
-interface, -i string network Interface to use for port scan
-nmap invoke nmap scan on targets (nmap must be installed) - Deprecated
- nmap-cli string nmap command to run on found results (example : -nmap-cli 'nmap -sV')
-r string list of custom resolver dns resolution (comma separated or from file)
-proxy string socks5 proxy (ip[:port] / fqdn[:port]
-proxy-auth string socks5 proxy authentication (username:password)
-resume resume scan using resume.cfg
-stream stream mode (disables resume, nmap, verify, retries, shuffling, etc)
-passive display passive open ports using shodan internetdb api
-irt, -input-read-timeout value timeout on input read (default 3m0s)
-no-stdin Disable Stdin processing
HOST-DISCOVERY :
-sn, -host-discovery Perform Only Host Discovery
- Pn, -skip-host-discovery Skip Host discovery (Deprecated : use -wn/-with-host-discovery instead)
-wn, -with-host-discovery Enable Host discovery
-ps, -probe-tcp-syn string[] TCP SYN Ping (host discovery needs to be enabled)
-pa, -probe-tcp-ack string[] TCP ACK Ping (host discovery needs to be enabled)
-pe, -probe-icmp-echo ICMP echo request Ping (host discovery needs to be enabled)
-pp, -probe-icmp-timestamp ICMP timestamp request Ping (host discovery needs to be enabled)
-pm, -probe-icmp-address-mask ICMP address mask request Ping (host discovery needs to be enabled)
-arp, -arp-ping ARP ping (host discovery needs to be enabled)
-nd, -nd-ping IPv6 Neighbor Discovery (host discovery needs to be enabled)
-rev-ptr Reverse PTR lookup for input ips
OPTIMIZATION :
-retries int number of retries for the port scan (default 3)
-timeout int millisecond to wait before timing out (default 1000)
-warm-up-time int time in seconds between scan phases (default 2)
-ping ping probes for verification of host
-verify validate the ports again with TCP verification
DEBUG :
-health-check, -hc run diagnostic check up
-debug display debugging information
-verbose, -v display verbose output
-no-color, -nc disable colors in CLI output
-silent display only results in output
-version display version of naabu
-stats display stats of the running scan (deprecated)
-si, -stats-interval int number of seconds to wait between showing a statistics update (deprecated) (default 5)
-mp, -metrics-port int port to expose naabu metrics on (default 63636)Téléchargez le prêt à exécuter en binaire / docker ou installer avec Go
Remarque : Avant d'installer Naabu, assurez-vous d'installer la bibliothèque
libpcappour la capture des paquets.
Pour installer libcap sur Linux : sudo apt install -y libpcap-dev , sur Mac : brew install libpcap
go install -v github.com/projectdiscovery/naabu/v2/cmd/naabu@latestPour exécuter l'outil sur une cible, utilisez simplement la commande suivante.
naabu -host hackerone.com Cela exécutera l'outil contre hackerone.com. Il existe un certain nombre d'options de configuration que vous pouvez transmettre avec cette commande. Le commutateur verbeux -v peut être utilisé pour afficher des informations verbales.
naabu -host hackerone.com
__
___ ___ ___ _/ / __ __
/ _ / _ / _ / _ / // /
/_//_/_,_/_,_/_.__/_,_/ v2.0.3
projectdiscovery.io
[WRN] Use with caution. You are responsible for your actions
[WRN] Developers assume no liability and are not responsible for any misuse or damage.
[INF] Running SYN scan with root privileges
[INF] Found 4 ports on host hackerone.com (104.16.100.52)
hackerone.com:80
hackerone.com:443
hackerone.com:8443
hackerone.com:8080 Les ports à analyser sur l'hôte peuvent être spécifiés via le paramètre -p (les ports UDP doivent être exprimés en tant que u:port ). Il prend des ports de format NMAP et leur exécute l'énumération.
naabu -p 80,443,21-23,u:53 -host hackerone.com Par défaut, le Naabu vérifie Top 100 ports de NMAP. Il prend en charge les listes de port intégrées suivantes -
| Drapeau | Description |
|---|---|
-top-ports 100 | Scanner le port Top 100 NMAP |
-top-ports 1000 | Scanner le port NMAP Top 1000 |
-p - | SCAR pour les ports complets du 1 à 65535 |
Vous pouvez également spécifier des ports spécifiques que vous souhaitez exclure du scan.
naabu -p - -exclude-ports 80,443 Pour exécuter le Naabu sur une liste d'hôtes, l'option -list peut être utilisée.
naabu -list hosts.txtPour exécuter le naabu sur un ASN, une entrée peut être utilisée. Il prend l'adresse IP disponible pour ASN donné et exécute l'énumération sur eux.
echo AS14421 | naabu -p 80,443
216.101.17.249:80
216.101.17.249:443
216.101.17.248:443
216.101.17.252:443
216.101.17.251:80
216.101.17.251:443
216.101.17.250:443
216.101.17.250:80 Vous pouvez également obtenir la sortie au format JSON à l'aide du commutateur -json . Ce commutateur enregistre la sortie au format JSON Lignes.
naabu -host 104.16.99.52 -json
{"ip":"104.16.99.52","port":443}
{"ip":"104.16.99.52","port":80}Les ports découverts peuvent également être tués vers d'autres outils. Par exemple, vous pouvez tuer les ports découverts par Naabu à HTTPX qui trouveront ensuite des serveurs HTTP en cours d'exécution sur l'hôte.
echo hackerone.com | naabu -silent | httpx -silent
http://hackerone.com:8443
http://hackerone.com:443
http://hackerone.com:8080
http://hackerone.com:80 La vitesse peut être contrôlée en modifiant la valeur de l'indicateur rate qui représente le nombre de paquets par seconde. L'augmenter pendant le traitement des hôtes peut entraîner une augmentation des taux de faux positifs. Il est donc recommandé de le maintenir à un montant raisonnable.
Naabu prend en charge IPv4 et IPv6. Les deux plages peuvent être tuées ensemble en entrée. Si IPv6 est utilisé, la connectivité doit être correctement configurée et l'interface réseau doit avoir une adresse IPv6 attribuée ( inet6 ) et une passerelle par défaut.
echo hackerone.com | dnsx -resp-only -a -aaaa -silent | naabu -p 80 -silent
104.16.99.52:80
104.16.100.52:80
2606:4700::6810:6434:80
2606:4700::6810:6334:80 L'option -ip-version 6 fait que l'outil utilise des adresses IPv6 lors de la résolution des noms de domaine.
echo hackerone.com | ./naabu -p 80 -ip-version 6
__
___ ___ ___ _/ / __ __
/ _ / _ / _ / _ / // /
/_//_/_,_/_,_/_.__/_,_/ v2.0.8
projectdiscovery.io
Use with caution. You are responsible for your actions
Developers assume no liability and are not responsible for any misuse or damage.
[INF] Running CONNECT scan with non root privileges
[INF] Found 1 ports on host hackerone.com (2606:4700::6810:6334)
hackerone.com:80 Pour scanner tous les IPS des deux versions, ip-version 4,6 peut être utilisée avec le drapeau -scan-all-ips .
echo hackerone.com | ./naabu -iv 4,6 -sa -p 80 -silent
[INF] Found 1 ports on host hackerone.com (104.16.100.52)
hackerone.com:80
[INF] Found 1 ports on host hackerone.com (104.16.99.52)
hackerone.com:80
[INF] Found 1 ports on host hackerone.com (2606:4700::6810:6334)
hackerone.com:80
[INF] Found 1 ports on host hackerone.com (2606:4700::6810:6434)
hackerone.com:80 Naabu prend en charge éventuellement plusieurs options pour effectuer la découverte d'hôte. La découverte d'hôte est facultative et peut être activée avec l'indicateur -wn . -sn Flag instruit l'outil pour effectuer une découverte d'hôte uniquement.
Options disponibles pour effectuer la découverte de l'hôte:
-arp )-ps 80 )-pa 443 )-pe )-pp )-pm )-nd ) Naabu prend en charge le fichier de configuration en par défaut situé à $HOME/.config/naabu/config.yaml , il vous permet de définir n'importe quel indicateur dans le fichier de configuration et de définir des valeurs par défaut pour inclure tous les analyses.
Nous avons intégré la prise en charge de NMAP pour la découverte de services ou tout autre analyse pris en charge par NMAP sur les résultats trouvés par Naabu, assurez-vous que nmap soit installé pour utiliser cette fonctionnalité.
Pour utiliser, le drapeau nmap-cli peut être utilisé suivi par la commande NMAP, par exemple: -
echo hackerone.com | naabu -nmap-cli 'nmap -sV -oX nmap-output'
__
___ ___ ___ _/ / __ __
/ _ / _ / _ / _ / // /
/_//_/_,_/_,_/_.__/_,_/ v2.0.0
projectdiscovery.io
[WRN] Use with caution. You are responsible for your actions
[WRN] Developers assume no liability and are not responsible for any misuse or damage.
[INF] Running TCP/ICMP/SYN scan with root privileges
[INF] Found 4 ports on host hackerone.com (104.16.99.52)
hackerone.com:443
hackerone.com:80
hackerone.com:8443
hackerone.com:8080
[INF] Running nmap command: nmap -sV -p 80,8443,8080,443 104.16.99.52
Starting Nmap 7.01 ( https://nmap.org ) at 2020-09-23 05:02 UTC
Nmap scan report for 104.16.99.52
Host is up (0.0021s latency).
PORT STATE SERVICE VERSION
80/tcp open http cloudflare
443/tcp open ssl/https cloudflare
8080/tcp open http-proxy cloudflare
8443/tcp open ssl/https-alt cloudflare Naabu prend également en charge l'exclusion des ips CDN / WAF étant analysés du port. S'il est utilisé, seuls les ports 80 et 443 sont analysés pour ces IP. Cette fonction peut être activée en utilisant le drapeau exclude-cdn .
Actuellement, cloudflare , akamai , incapsula et sucuri IPS sont pris en charge pour les exclusions.
Naabu expose les informations de numérisation JSON sur un port local lié à localhost à http://localhost:63636/metrics (le port peut être modifié via l'indicateur de Port -metrics-port )
L'exemple de programme suivant scanne le port 80 de scanme.sh . Les résultats sont renvoyés via le rappel OnResult :
package main
import (
"log"
"github.com/projectdiscovery/goflags"
"github.com/projectdiscovery/naabu/v2/pkg/result"
"github.com/projectdiscovery/naabu/v2/pkg/runner"
)
func main () {
options := runner. Options {
Host : goflags. StringSlice { "scanme.sh" },
ScanType : "s" ,
OnResult : func ( hr * result. HostResult ) {
log . Println ( hr . Host , hr . Ports )
},
Ports : "80" ,
}
naabuRunner , err := runner . NewRunner ( & options )
if err != nil {
log . Fatal ( err )
}
defer naabuRunner . Close ()
naabuRunner . RunEnumeration ()
}Naabu est fait avec? par l'équipe ProjectDiscovery. Les contributions communautaires ont fait du projet ce qu'elle est.
Voir le fichier merci.md pour plus de détails.