Naabu Rápido Escáner de Puertos Escrito en Go
Naabu Rápido Escáner de Puertos Escrito en Go

Naabu: Escáner de Puertos Rápido Escrito en Go

Un rápido escáner de puertos escrito en Go con un enfoque en la fiabilidad y la simplicidad. Diseñado para ser utilizado en combinación con otras herramientas para el descubrimiento de superficie de ataque en bug bounties y pentests.

Naabu es una herramienta de escaneo que permite enumerar los puertos válidos para los hosts de una manera rápida y fiable. Es una herramienta realmente simple que hace escaneos rápidos SYN/CONNECT en el host/lista de hosts; y lista todos los puertos que devuelven una respuesta.

Opciones del escáner Naabu
Opciones del escáner Naabu

Características

  • Escaneo rápido y sencillo basado en el sondeo SYN/CONNECT.
  • Optimizado para facilitar el uso y reducir los recursos
  • Manejo automático de hosts duplicados entre múltiples subdominios
  • Integración de NMAP para el descubrimiento de servicios
  • Soporte de entrada/salida para la integración en flujos de trabajo
  • Soporte de múltiples formatos de salida (JSON, archivo, Stdout)
  • Soporte de múltiples entradas, incluyendo la notación HOST/IP/CIDR.

Instrucciones de Instalación

Descarga el binary / docker listo para ejecutar o instala con GO

Antes de instalar naabu, asegúrate de instalar la biblioteca libpcap en Linux con:

apt install -y libpcap-dev
GO111MODULE=on go get -v github.com/projectdiscovery/naabu/v2/cmd/naabu

Uso

naabu -h

Esto mostrará la ayuda de la herramienta. Aquí están todos los parámetros que soporta:

Usage of ./naabu:
  -c int
      General internal worker threads (default 25)
  -config string
      Config file
  -debug
      Enable debugging information
  -exclude-cdn
      Skip full port scans for CDNs (only checks for 80,443)
  -exclude-file string
      Specifies a newline-delimited file with targets to be excluded from the scan (ip, cidr)
  -exclude-hosts string
      Specifies a comma-separated list of targets to be excluded from the scan (ip, cidr)
  -exclude-ports string
      Ports to exclude from enumeration
  -host string
      Host to find ports for
  -iL string
      File containing list of hosts to enumerate ports
  -interface string
      Network Interface to use for port scan
  -interface-list
      List available interfaces and public ip
  -json
      Write output in JSON lines Format
  -nmap
      Invoke nmap scan on targets (nmap must be installed)
  -nmap-cli string
      Nmap command line (invoked as COMMAND + TARGETS)
  -no-color
      Don't Use colors in output
  -o string
      File to write output to (optional)
  -p string
      Ports to scan (80, 80,443, 100-200, (-p - for full port scan)
  -ping
      Use ping probes for verification of host
  -ports-file string
      File containing ports to enumerate for on hosts
  -rate int
      Rate of port scan probe requests (default 1000)
  -retries int
      Number of retries for the port scan probe (default 3)
  -s string
      Scan Type (s - SYN, c - CONNECT) (default "s")
  -scan-all-ips
      Scan all the ips
  -silent
      Show found ports only in output
  -source-ip string
      Source Ip
  -stats
      Display stats of the running scan
  -timeout int
      Millisecond to wait before timing out (default 1000)
  -top-ports string
      Top Ports to scan (default top 100)
  -v  Show Verbose output
  -verify
      Validate the ports again with TCP verification
  -version
      Show version of naabu
  -warm-up-time int
      Time in seconds between scan phases (default 2)

Naabu en Acción

Para ejecutar la herramienta en un objetivo, basta con utilizar el siguiente comando.

naabu -host hackerone.com

Esto ejecutará la herramienta contra hackerone.com (uno de los TOP Sitios Web Vulnerables para Pentesting). Hay una serie de opciones de configuración que puedes pasar junto con este comando. El parámetro -v puede utilizarse para mostrar información detallada (verbose).

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

Los puertos a escanear en el host pueden ser especificados a través del parámetro -p. Toma los puertos con formato nmap y ejecuta la enumeración en ellos.

naabu -p 80,443,21-23 -host hackerone.com

Por defecto, el Naabu comprueba los 100 mejores puertos de nmap. Soporta las siguientes listas de puertos incorporadas

  • -top-ports 100 => Escanea los 100 mejores puertos de nmap
  • -top-ports 1000 => Escanea los 1000 mejores puertos de nmap
  • -p - => Escanea todos los puertos desde 1-65535.

También puedes especificar puertos específicos que te gustaría excluir del escaneo.

naabu -p - -exclude-ports 80,443

El parámetro -o puede utilizarse para especificar un archivo de salida.

naabu -host hackerone.com -o salida.txt

Para ejecutar el naabu en una lista de hosts, se puede utilizar la opción -iL.

naabu -iL hosts.txt

También puedes obtener la salida en formato json utilizando el parámetro -json. Este parámetro guarda la salida en el formato de líneas JSON.

naabu -host hackerone.com -json

{"host":"hackerone.com","ip":"104.16.99.52","port":8443}
{"host":"hackerone.com","ip":"104.16.99.52","port":80}
{"host":"hackerone.com","ip":"104.16.99.52","port":443}
{"host":"hackerone.com","ip":"104.16.99.52","port":8080}

Los puertos descubiertos pueden ser canalizados a otras herramientas también. Por ejemplo, puedes canalizar los puertos descubiertos por naabu a naabu, que encontrará servidores http en ejecución en el host.

echo hackerone.com | naabu -silent | naabu -silent

http://hackerone.com:8443
http://hackerone.com:443
http://hackerone.com:8080
http://hackerone.com:80

Si quieres una segunda capa de validación de los puertos encontrados, puedes instruir a la herramienta para que haga una conexión TCP para cada puerto y verifique si la conexión tuvo éxito. Este método es muy lento, pero es realmente fiable. Esto es similar a usar nmap como una segunda capa de validación

naabu -host hackerone.com -verify

La velocidad puede ser controlada cambiando el valor del parámetro rate que representa el número de paquetes por segundo. Aumentarlo mientras se procesan los hosts puede conducir a un aumento de las tasas (rates) de falsos positivos. Así que se recomienda mantenerlo en una cantidad razonable.

Archivo de Configuración

Se ha añadido soporte para el archivo de configuración, que permite que cada una de los parámetros se defina en el archivo de configuración, por lo que no tiene que escribirlas cada vez, es opcional y no se utiliza en la ejecución por defecto, la ubicación por defecto del archivo de configuración es $HOME/.config/naabu/naabu.conf, el archivo de configuración personalizado puede ser proporcionado utilizando el parámetro config.

Ejemplo de archivo de configuración:

# Number of retries
# retries: 1
# Packets rate
# rate: 100
# Timeout is the seconds to wait for ports to respond
# timeout: 5
# Hosts are the host to find ports for
# host:
#   - 10.10.10.10
# Ports is the ports to use for enumeration
# ports:
#   - 80
#   - 100
# ExcludePorts is the list of ports to exclude from enumeration
# exclude-ports:
#   - 20
#   - 30
# Verify is used to check if the ports found were valid using CONNECT method
# verify: false
# Ips or cidr to be excluded from the scan
# exclude-ips:
#   - 1.1.1.1
#   - 2.2.2.2
# Top ports list
# top-ports: 100
# Attempts to run as root
# privileged: true
# Drop root privileges
# unprivileged: true
# Excludes ip of knows CDN ranges
# exclude-cdn: true
# SourceIP to use in TCP packets
# source-ip: 10.10.10.10
# Interface to use for TCP packets
# interface: eth0
# WarmUpTime between scan phases
# warm-up-time: 2
# nmap command to invoke after scanninginvoke after scanning
# nmap: nmap -sV

Integración de Nmap

Se ha integrado el soporte de nmap con el parámetro nmap, en el archivo de configuración puedes definir cualquier comando nmap que desees ejecutar en el resultado de naabu, asegúrate de tener nmap instalado para utilizar esta característica.

Para hacer uso del parámetro nmap, asegúrate de eliminar los comentarios del archivo de configuración en $HOME/.config/naabu/naabu.conf

También se ha añadido el parámetro nmap-cli que te permite ejecutar comandos nmap directamente en los resultados de naabu sin hacer uso del archivo de configuración.

echo hackerone.com | naabu -nmap-cli 'nmap -sV -oX naabu-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

Exclusión de CDN

Naabu también admite la exclusión de las IPs de CDN que se escanean por puerto. Si se utiliza, sólo se escanean los puertos 80 y 443 para esas IPs. Esta característica puede ser activada usando el parámetro exclude-cdn.

Actualmente las IPs de cloudflare, akamai, incapsula y sucuri están soportadas para las exclusiones.

Notas

  • Naabu está diseñado para escanear puertos en múltiples hosts / escaneo masivo de puertos.
  • Por defecto, naabu está configurado asumiendo que se está ejecutando desde un VPS.
  • Se sugiere ajustar los parámetros / tasa (rate) si se ejecuta naabu desde el sistema local.
Dark Mode

naabu (este enlace se abre en una nueva ventana) por projectdiscovery (este enlace se abre en una nueva ventana)

A fast port scanner written in go with a focus on reliability and simplicity. Designed to be used in combination with other tools for attack surface discovery in bug bounties and pentests

Mi Carro Close (×)

Tu carrito está vacío
Ver tienda