Tutorial básico de NMAP

Tutorial básico de NMAP

"Este tutorial explica cómo funciona NMAP y cómo instalarlo y usarlo desde la terminal.

NMAP (Network Mapper) es probablemente el escaneo de red más utilizado, al menos entre los usuarios de Linux."

NMAP permite ejecutar hacer las siguientes tareas:

  • Escaneo
  • Escaneo de rango IP
  • Descubrimiento de anfitriones
  • Escanear
  • Diagnóstico de problemas de red
  • Detección de vulnerabilidad
  • Explotación de vulnerabilidad

Este tutorial cubre el escaneo de puertos, el descubrimiento del host y los rangos de IP y las subredes de escaneo. Al final, el lector puede continuar con los enlaces centrados en NMAP para la detección y explotación de vulnerabilidad con el NMAP NSE (motor de secuencias de comandos NMAP).

El contenido está altamente optimizado para usuarios sin experiencia previa con NMAP. Al leer este tutorial y aplicar los ejemplos prácticos, el lector adquirirá suficiente conocimiento de cómo funciona NMAP, su uso y comprensión de salida para continuar con las lecturas de uso avanzadas recomendadas después de este contenido.

Todos los pasos descritos a continuación contienen capturas de pantalla, lo que facilita a cada usuario de Linux seguirlos independientemente del nivel de experiencia.

Índice:

  • Instalación de NMAP
  • Cómo funcionan los tipos de escaneo básico de NMAP
  • Estados de puerto nmap y escaneo de puertos
  • Definición de objetivos en NMAP
  • Descubrimiento del anfitrión con NMAP

Instalación de NMAP (de fuentes, Repositorios de distribución basados ​​en Debian y Redhat)

Esta sección explica cómo instalar NMAP en distribuciones de Linux basadas en Debian como Ubuntu, distribuciones de Linux basadas en Redhat como CentOS y de fuentes para todas las distribuciones de Linux.

Para instalar NMAP en distribuciones de Linux basadas en Debian, ejecute el siguiente comando.

sudo apt install nmap

Para distribuciones basadas en Redhat, ejecute el comando que se muestra en la captura de pantalla a continuación.

sudo yum instalación nmap

Para compilar NMAP de las fuentes, visite https: // nmap.org/descargar.HTML#Fuente y descargue la última versión de NMAP estable desde el enlace ubicado en la sección que se muestra en la captura de pantalla a continuación (flecha).

Una vez descargado, extraiga el alquitrán.archivo bze2 como se muestra a continuación.

Nota: Reemplazar <7.93> con la versión NMAP descargada.

tar -xf nmap -7.93.alquitrán.bz2

Una vez extraído, muévase al directorio NMAP.

CD NMAP-/

Ejecutar el script de configuración.

./Configurar

Finalmente, termine la compilación ejecutando hacer y hacer instalar.

sudo make && make install

Cómo funcionan los tipos de escaneo básico de NMAP

Se llevan a cabo escaneos NMAP regulares a través de TCP y Síntoma escaneos. Cuando el proceso de escaneo es TCP, Se establece una conexión con el objetivo. Con un Síntoma escanear, la conexión se cancela o se elimina antes de establecerse.

La siguiente figura muestra cómo se establecen las conexiones: primero, la computadora (PC 1) que intenta establecer la conexión envía un Síntoma paquete solicitar al dispositivo de destino para sincronizar. Si el dispositivo de destino (PC 2) está disponible para establecer la conexión, responde con otro paquete SYN que permite la sincronización y con un Ack (Reconocer) paquete que confirma la recepción del primero Síntoma Paquete enviado por la computadora que solicitó la conexión, luego la computadora que solicitó la conexión (PC 1) envía un Ack paquete confirmando la recepción de ambos Síntoma y Ack Paquetes enviados por el dispositivo de destino (PC 2).

Cuando se establece una conexión, se detecta por firewalls y registra; Por eso el Síntoma se implementó el escaneo, el Síntoma o el escaneo sigiloso envía un Síntoma paquete, y después de recibir las respuestas de destino en lugar de responder con un Ack paquete, envía un Primero (reinicio) paquete para cancelar la conexión antes de establecerse como se muestra en la siguiente imagen:

De esta manera, la conexión no está registrada, pero aún necesita lidiar con los sistemas de detección de intrusos con Síntoma Capacidades de detección de paquetes. Para evitar la detección, puede usar técnicas de escaneo de sigilo.

Fases de escaneo NMAP

NMAP pasa por 11 etapas durante el proceso de escaneo dependiendo de las banderas pasadas; Algunos de ellos son opcionales según los parámetros específicos. Por ejemplo, los scripts previos y post-scan se ejecutan solo si el usuario implementa NSE para la detección o explotación de vulnerabilidades.

Las 11 fases posibles se enumeran a continuación:

  1. Guión previo a la escaneo: La opción "Script Pre-scanning" llama a los scripts desde el motor de secuencias de comandos NMAP (NSE) para la fase de pre-escaneo; Esta etapa solo tiene lugar cuando se usa el NSE.
  2. Enumeración objetivo: En esta fase, NMAP procesa información sobre los objetivos para escanear, como direcciones IP, hosts, rangos de IP, etc.
  3. Discovery del host (escaneo de ping): NMAP aprende qué objetivos están en línea o son accesibles.
  4. Resolución de DNS inverso: NMAP busca nombres de host para las direcciones IP.
  5. Escaneo de puertos: NMAP descubrirá puertos y su estado: abierto, cerrado o filtrado.
  6. Detección de versión: En esta fase, NMAP intentará aprender la versión del software que se ejecuta en puertos abiertos descubiertos en la fase anterior, como qué versión de Apache o FTP.
  7. Detección del sistema operativo: NMAP intenta detectar el sistema operativo del objetivo.
  8. Traceroute: NMAP descubrirá la ruta del objetivo en la red o en todas las rutas en la red.
  9. Escaneo de script: Esta fase es opcional; En esta fase, se ejecutan los scripts NSE; Los scripts NSE se pueden ejecutar antes del escaneo, durante el escaneo y después, pero son opcionales.
  10. Producción: NMAP nos muestra información sobre los datos recopilados.
  11. Script post-scanning: fase opcional Si los scripts se definieron para ejecutarse después del escaneo.

Un simple escaneo de NMAP sin una bandera que no sea -V (Verbosidad) mostrará algunas de las fases previamente enumeradas.

Nota: Cuando no se especifican puertos, por defecto, NMAP escanea los 1000 puertos más utilizados, incluidos todos los protocolos.

nmap -v linuxhint.comunicarse

Estados de puerto y tipos de escaneo de puertos con NMAP

Una de las principales características de NMAP es la capacidad de escanear los puertos que aprenden su estado, la versión del software escuchando detrás de ellas e incluso utilizando puertos como condiciones para escaneos IP masivos o múltiples.

Al escanear para servicios, NMAP puede informar hasta 6 estados o condiciones de los puertos escaneados:

  • Abierto: el puerto está abierto y una aplicación está escuchando a través de él.
  • Cerrado: el puerto está cerrado y ninguna aplicación está escuchando.
  • Filtrado: Un firewall evita que NMAP llegue al puerto.
  • Sin filtro: Se puede acceder al puerto, pero NMAP no puede verificar su estado.
  • Abierto | Filtrado: NMAP no puede determinar si un puerto está abierto o filtrado.
  • Cerrado | filtrado: NMAP no puede determinar si un puerto está cerrado o filtrado.

Como se dijo en la sección anterior. Cuando el usuario no especifica los puertos, de forma predeterminada, NMAP escanea los 1000 puertos más populares y usados.

El indicador NMAP más básico para especificar un puerto es -pag, seguido del número de puerto o protocolo.

En el ejemplo práctico a continuación, el usuario escanea el puerto 22 en el objetivo Linuxhint.comunicarse.

NMAP -P 22 Linuxhint.comunicarse

Como puede ver en la captura de pantalla anterior, puerto 22 se filtra por un firewall.

En lugar del número de puerto, el usuario también puede definir el nombre del protocolo. Debajo del usuario ejecuta el mismo escaneo pero especifica el nombre del protocolo ssh En lugar del número de puerto 22.

nmap -p ssh linuxhint.comunicarse

Hay banderas y caracteres para definir más de un puerto específico para escanear. La coma (,) permite definir diferentes puertos de diferentes rangos.

En la captura de pantalla a continuación, el usuario usa comas para escanear los puertos 22, 80 y 179. Como puede ver, el puerto 80 se definió por el nombre de su protocolo, http.

nmap -p 22, http, 179 Linuxhint.comunicarse

Como puede ver, el puerto 80 se encontró abierto, mientras que el resto fue filtrado por un firewall.

El guión es un personaje importante al escanear los rangos de puerto o IP.

En el siguiente ejemplo, se implementa un guión para definir un rango de puerto entre 21 y 30.

nmap -p 20-30 Linuxhint.comunicarse

NMAP permite definir más que el rango de puertos mediante la implementación de comas y guiones, como se muestra a continuación, donde el puerto varía de 70 a 90 y de 20 a 40 se escanean.

NMAP -P 70-90,20-40 Linuxhint.comunicarse

Al rangos de puertos de escaneo, el usuario puede excluir puertos o rangos específicos del proceso de escaneo implementando el -excluir puertos bandera.

En el siguiente ejemplo, el usuario escanea el rango de puerto desde el puerto 20 hasta el puerto 80, pero excluye los puertos 30 a 40. El usuario también puede excluir un solo puerto o diferentes puertos separados por una coma.

nmap -p 20-80 Linuxhint.com --exclude-puertos 30-40

Si el usuario quiere escanear todos los puertos en el objetivo, tiene dos opciones. Puede definir todo el rango de 1 a 65535, como se muestra a continuación.

NMAP -P0-65535 192.168.0.1

La opción más práctica para escanear todos los puertos es implementar dos guiones, antes y después del pag, Como se muestra abajo.

nmap -p- 192.168.0.1

Definición de objetivos en NMAP

Esta sección describe diferentes técnicas para definir objetivos de escaneo, incluidos múltiples objetivos.

En la sección anterior, se usaron guiones para definir rangos de puerto.

Los guiones también se pueden usar para definir los rangos de IP, como se muestra en la captura de pantalla a continuación, donde el usuario define un rango de IP a partir de 192.168.0.1 y terminando en 192.168.0.120.

Nmap 192.168.0.1-120

En el ejemplo a continuación, se definen dos rangos en los dos últimos octetos (200-210 y 80-90).

nmap -p80,22,443 186.33.200-210.80-90

Los usuarios pueden usar el CIDR formato. En el siguiente ejemplo, la subred /24 se escanea.

El -ss Flag le indica a NMAP que ejecute un Síntoma escanear sin ser detectado por firewalls.

Nota: Síntoma El escaneo requiere privilegios de raíz.

sudo nmap -ss 192.168.0.24/04

En el ejemplo a continuación, el comodín (*) se implementa para instruir a NMAP para escanear todo el último octeto de dirección IP, de 0 a 255.

El -sn (Ping Sweep) Flag indica a NMAP que omita el escaneo de puertos, lo que limita al descubrimiento del host.

nmap -sn 192.168.0.*

En la siguiente captura de pantalla, el usuario implementa dos comodines para escanear los dos últimos octetos. El -sp (Ping Sweep) La bandera es equivalente a lo anterior (el -sn la bandera se está reemplazando -sp),

nmap -sp 192.168.*.*

Los comodines y los guiones se pueden combinar para la definición de objetivos personalizados.

nmap -sp 186.33.205-210.*

Los objetivos también se pueden cargar desde la lista de texto sin formato de un objetivo.

La siguiente lista se nombra escasos.TXT y contiene un nombre de dominio, una dirección IP, una subred y rangos de IP definidos tanto con un guión y un comodín.

El -Illinois (Lista) El indicador seguido de la ruta a la lista de objetivos lanzará el escaneo contra los objetivos listados en el archivo.

nmap -sn -Il Scantargets.TXT

El usuario puede escanear objetivos definidos en una lista mientras excluye los específicos.

En el siguiente ejemplo, el usuario escanea objetivos definidos en el escasos.TXT Archivo, omitiendo el objetivo 192.168.0.4/24 con el -excluir opción.

nmap -sn -Il Scantargets.txt -Excluir 192.168.0.24/04

El -IR (Aleatorio) FLAG indica que NMAP escanea objetivos aleatorios. Con esta bandera, NMAP explora objetivos generados aleatoriamente, muchos de los cuales pueden ser anfitriones muertos.

Este indicador debe ser seguido por el número de objetivos aleatorios que el usuario desea generar.

En el ejemplo a continuación, el -IR La bandera se usa para escanear 100 objetivos aleatorios.

nmap -ir 100

Descubrimiento del anfitrión con NMAP

Algunas opciones de descubrimiento del host ya se implementaron en la sección anterior con banderas -sn y -sp, que instruye a NMAP que omita el proceso de escaneo de puertos, limitándose a descubrir hosts vivos.

Hay banderas adicionales para ejecutar tareas de descubrimiento con NMAP.

El -PD (Syn ping) Flag está vacío TCP paquete con el Síntoma Flag Set. En caso de que el puerto remoto esté abierto cuando el objetivo responde a un SYN/ACK paquete, NMAP cancelará la conexión enviando un Primero paquete en lugar de un Ack uno.

nmap -ps 192.168.0.24/04

El Pensilvania (ACK Ping) envía un TCP paquete con el Ack Flag Set. Este paquete envía mensajes de reconocimiento a conexiones inexistentes que generan Primero paquetes del host remoto, revelando su existencia.

nmap -pn -pa50-100 nic.Arkansas

El -PUS (UDP ping) Flag está enviando UDP paquetes a direcciones remotas. Si no se especifican los puertos, los paquetes se envían a los puertos 40 y 125.

sudo nmap -pu 192.168.0.24/04

Envía paquetes IP con los encabezados de un protocolo diferente. Si no se especifica, por defecto, los encabezados son ICMP, IGMP, y IP-in-IP protocolos.

sudo nmap -po 192.168.0.24/04

La siguiente lectura recomendada para continuar con NMAP es las banderas NMAP y lo que hacen, que describe banderas adicionales e introduce al lector a la NSE (motor de secuencias de comandos NMAP).

Conclusión

Como puede ver, NMAP es una herramienta muy poderosa pero fácil de aprender. Cada usuario de la red que trata con un terminal puede comenzar siguiendo ejemplos como el que se ofrece anteriormente.

Se pueden usar otras funcionalidades de NMAP como Traceroute para diagnosticar problemas de red, o la suite NSE se puede usar para detectar y explotar vulnerabilidades.

Las instrucciones en este tutorial son válidas para todas las distribuciones de Linux. Se recomienda aplicar todos los ejemplos dados para incorporar el conocimiento.

Gracias por leer nuestro tutorial básico de NMAP. Sigue a Linux Sugerencia para obtener más contenido profesional de Linux y redes.