Smap: Escaner pasivo (Nmap + Shodan) 👁️🔎

 

Sobre la herramienta:

Smap es una herramienta escrita en lenguaje Go, es un escáner pasivo similar a Nmap construido con shodan.io, es una réplica completa de Nmap que utiliza la API gratuita de shodan.io para escanear puertos. Todos los argumentos de la línea de comandos son los mismos que NMAP y toda la salida que proporciona es como NMAP, lo que lo convierte en un reemplazo adecuado para Nmap.

 

Características:

  • Escanea 200 hosts por segundo.
  • No requiere ninguna clave de cuenta/api.
  • Detección de vulnerabilidades.
  • Admite todos los formatos de salida de nmap.
  • Huella digital de servicio y versión.
  • No hace contacto con los objetivos (reconocimiento pasivo).

 

Instalación:

En primer lugar, instalaremos la herramienta con el siguiente comando:

❯ go install -v github.com/s0md3v/smap/cmd/smap@latest


image

 

** 🚨 ¿Instalación de smap fallida? 🚨 ** 

  1. Descarga de go del sitio web oficial siguiendo los pasos.
  2. Instalación de smap: ❯ go install -v github.com/s0md3v/smap/cmd/smap@latest
  3. Verificamos si se ha instalado correctamente introduciendo el comando smap en la terminal.
  4. Si nos da algún tipo de error probablemente sea que no tenemos añadido go en el $PATH, para ello deberemos añadir el siguiente comando en el archivo de nuestra shell (.bashrc, .zshrc, etc).
  5. export PATH=$PATH:$HOME/go/bin/
  6. Reiniciamos y ya debería de funcionar correctamente.

 

Uso:

Su uso es muy sencillo, como se ha comentado anteriormente, Smap utiliza los comandos de Nmap. Si estás familiarizado con Nmap podrás usar todas sus opciones de forma eficiente.

 

Si accedemos a la ayuda con el comando smap -h, nos indicará:

  • Sintaxis: smap <Objetivo>
  • Formatos de objetivos admitidos: Nombre de host, dirección IP y CIDR.  
  • Acepta entrada de listado de objetos separados por saltos de línea con el comando smap -iL <target_list.txt>.
  • Formatos de salida admitidos:

 

oX    // nmap's xml format

oG    // nmap's greppable format

oN    // nmap's default format

oA    // output in all 3 formats above at once

oP    // IP:PORT pairs seperated by newlines

oS    // custom smap format

oJ    // json

 

 

image

 

Ejemplos de uso:

 

Escaneo normal hacia un nombre de dominio:

❯ smap nmap.scanme.org


image

 

Escaneo de tipo SYN con detección de Sistema Operativo a la misma dirección de nmap.scanme.org pero esta vez a la dirección IP:

❯ smap -sS -O 45.33.32.156   


image

 

Escaneo con detección de versiones hacia los puertos específicos 80 y 22:

❯ smap -sV -p 80,22 45.33.32.156


image

 

Escaneo con detección de versiones con salida a un fichero “grepeable”:

❯ smap -sV nmap.scanme.org -oG <fichero>


image

 

Podemos acceder al contenido del fichero de salida y a continuación le pasamos el comando grep con la opción 80 para que nos devuelva la línea del puerto 80 escaneado anteriormente:

❯ cat <fichero>

❯ grep 80 <fichero>


image

 

 


Licencia de Creative Commons

Este obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 4.0 Internacional.