Nmap (Network Mapper) es una herramienta de seguridad gratuita y de código abierto que se utiliza para escanear redes. Algunas de las características principales de Nmap son la búsqueda de puertos abiertos, la detección y seguridad de servicios y la auditoría de vulnerabilidades.
Nmap se usa más comúnmente a través de una interfaz de línea de comandos y está disponible para muchos sistemas operativos diferentes, como Ubuntu, CentOS, Redhat, Free BSD y Mint.
En este tutorial, veremos algunos de los comandos Nmap más utilizados con algunos ejemplos.
Instalar NMAP
Por defecto, nmap no está instalado en la mayoría de las distribuciones de Linux como Debian, Ubuntu, Hat, CentOS y Fedora. Pero está disponible en yum y apt repo para una fácil instalación.
Los siguientes comandos instalan nmap en Linux:
Sistemas basados en CentOS y Redhat
$ sudo yum install nmap
En sistemas basados en Ubuntu y Debian
$ sudo apt-get install nmap
1. Analizar host específico
Para escanear un host específico (esto supone que ya tiene la IP o el nombre del host) y revelar información básica, use el comando:
$ nmap IP-address
Por ejemplo,
$ nmap 192.163.43.103
El comando anterior es rápido y genera resultados en poco tiempo
También puede escanear utilizando el nombre de host en lugar de la dirección IP, por ejemplo
$ nmap ubuntu-server
Para escanear un rango de direcciones IP, use la sintaxis
$ nmap 192.163.43.1-103
El comando escaneará todos los hosts desde IP 192.168.43.1 to 192.168.43.103
2. Realizar un análisis exhaustivo de un sistema
Puede revelar toda la información sobre un sistema host usando -A
bandera como se muestra a continuación. Esto revelará toda la información relacionada con el sistema host, como el sistema operativo subyacente, los puertos abiertos, los servicios en ejecución y sus versiones, etc.
$ nmap -A 192.163.43.103
A partir de la salida, puede ver que el comando realiza la detección del sistema operativo y del servicio, brindándole información detallada, como el tipo de servicio y su versión, y el puerto en el que se está ejecutando. Por lo general, el comando tarda un poco en ejecutarse, pero es completo y le brinda todo lo que necesita sobre el sistema host en particular.
3. Escaneando un puerto en particular
Para escanear un puerto específico y verificar si está abierto, use el indicador -p en la siguiente sintaxis:
$ nmap -p port_number IP-address
Por ejemplo, para escanear el puerto 80 en un sistema host, ejecute:
$ nmap -p 80 192.168.43.103
Para escanear un rango de puertos, por ejemplo, entre 80 y 433, use la sintaxis:
$ nmap -p 25-443 192.168.43.13
or
$ nmap -p 80,443 192.168.43.13
4. Encuentra el nombre del servicio Host y su versión
Para comprobar la información básica sobre los servicios que se ejecutan en un host, utilice -sV
bandera como se muestra:
$ nmap -sV 192.168.43.103
5. Exploración de una subred de red completa
Para escanear dispositivos en una subred de red, use la notación CIDR como se muestra
$ nmap 192.168.43.0/24
6. Excluir host específico en Scan
A medida que realiza un escaneo completo de la red, puede optar por excluir un host específico utilizando el --exclude
bandera . En el siguiente ejemplo, excluiremos nuestra máquina Kali Linux del análisis.
$ nmap 192.168.43.* --exclude 192.168.43.8
7. Mostrar interfaces y rutas de host
Para mostrar interfaces y rutas en un host en particular, use --iflist
bandera como se muestra.
$ nmap 192.168.43.103 --iflist
8. Escanear host remoto usando TCP ACK y TCP Syn
A veces, los cortafuegos pueden bloquear las solicitudes ICMP que interfieren con los resultados del análisis. En ese caso, usamos TCP syn (PS) y TCP ACK (PA) para lograr los resultados deseados.
$ nmap -PS 192.168.43.103
$ nmap -PA 192.168.43.103
9. Escanear para detectar la configuración del cortafuegos
Puede usar la herramienta Nmap para realizar un escaneo para mostrar si el firewall está abierto o no, como se muestra
$ nmap -sA 192.168.43.223
En primera instancia, el firewall está deshabilitado y, por lo tanto, no se está ejecutando. (Los puertos no están filtrados). En la segunda instancia, el firewall se ha habilitado y las posibilidades de descubrir puertos abiertos serán mínimas.
10. Escaneo de puertos TCP o UDP
Para escanear los puertos TCP que están abiertos en el host, use -sT
bandera como se muestra:
$ nmap -sT 192.168.43.103
Para escanear puertos UDP, use -sU
bandera
$ nmap -sU 192.168.43.103
11. Guardar los resultados del escaneo en un archivo
Una vez que haya completado su escaneo, puede guardar los resultados en un archivo de texto usando el indicador -oN y especificando el archivo de salida como se muestra a continuación:
$ nmap -oN scan.txt 192.168.43.103
El archivo se creará en su directorio de trabajo actual. Para ver la vista simplemente use el comando cat como se muestra:
$ cat results.txt
Además, puede usar el símbolo de redirección (>) mayor que el símbolo para redirigir la salida a un archivo diferente, por ejemplo,
$ nmap 192.168.43.103 > output.txt
12. Escanea con un conjunto de scripts de Nmap
Nmap viene con numerosas y poderosas secuencias de comandos que se utilizan para escanear vulnerabilidades y, por lo tanto, señalar las debilidades en un sistema. Para obtener la ubicación de los scripts NSE, simplemente ejecute el comando:
$ locate *nse
Puede cargar un script de Nmap usando el --script
opción como se muestra.
$ nmap -sV --script=mysql-info.nse 192.168.43.103
Para escanear con la mayoría de los scripts predeterminados, use la sintaxis
$ nmap -sC 192.168.43.103
Si está buscando automatización, entonces NSE es la respuesta (motor de secuencias de comandos NMAP)
Conclusión
Si está buscando automatización, NSE es la respuesta (motor de secuencias de comandos NMAP). Para obtener ayuda con los comandos en Nmap, simplemente ejecute $ nmap -h
. Y eso es todo lo que teníamos para este tema. Esperamos que se sienta cómodo usando el comando nmap para escanear su red y descubrir más detalles sobre sus sistemas host.