Banderas nmap y lo que hacen

Banderas nmap y lo que hacen

Este tutorial explica qué son las banderas de NMAP y qué hacen con ejemplos de escenarios reales.

NMAP es probablemente la herramienta de seguridad y red más importante del mercado. Entre sus características se encuentran escaneo de puertos, escaneo de vulnerabilidad, descubrimiento de hosts, capacidades de huella y aún más funcionalidades traídas por el motor de secuencias de comandos NMAP (NSE).

Después de leer este tutorial, podrá convertirse en un usuario avanzado de NMAP, no solo mediante el uso de banderas, sino también aprendiendo consejos de sintaxis y el motor de secuencias de comandos NMAP con funciones adicionales.

Todos los ejemplos que se muestran en este artículo incluyen capturas de pantalla, lo que facilita a todos los usuarios comprender cómo aplicarlos.

La sintaxis nmap

Al ejecutar un escaneo usando nmap, primero debemos llamar al programa, luego necesitamos introducir banderas (tipo de escaneo) y finalmente los objetivos que se escanearán.

Un ejemplo básico de esto sería un escaneo de puerto simple dirigido a puertos específicos como se muestra a continuación, donde el puerto 80 del host Linuxhint.com se escanea para aprender su estado.

nmap -p 80 Linuxhint.comunicarse


El -P (puerto) Bandera o parámetro Se muestra en el ejemplo anterior se usa para definir uno o más puertos. Puede agregar más puertos separándolos usando comas, esto se explicará más adelante en este artículo.

Comprender la salida de NMAP: estados de puerto

Antes de continuar con la explicación en las banderas NMAP, es importante que los lectores comprendan las salidas de NMAP. Con respecto a esto, hay 6 estados portuarios que pueden informar por NMAP:

  • Abierto: El puerto está abierto y una aplicación está escuchando a través de él.
  • Cerrado: el puerto está cerrado; Ninguna aplicación está escuchando.
  • Filtrado: Un firewall evita que NMAP llegue al puerto.
  • Sin filtro: Es accesible el 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.

Ahora conoce la sintaxis de NMAP y la salida básica, lo que significa que podemos proceder aprendiendo los indicadores de NMAP.

Banderas NMAP para escanear puertos

La función NMAP más utilizada es el escaneo de puertos. Para usar NMAP correctamente, es necesario saber cómo se puede implementar este indicador para adaptarse a las necesidades del usuario.

Como se muestra en la primera sección de este tutorial (la sección de sintaxis), para especificar un puerto solo necesita escribir el -p (puertos) bandera Seguido por el puerto que desea escanear, como se muestra a continuación.

nmap -p 443 Linuxhint.comunicarse


En el ejemplo anterior, NMAP recibe instrucciones de verificar el estado del puerto 443 del Linuxhint.com Anfitrión.

También puede especificar más de un puerto implementando una coma. En el siguiente ejemplo, se instruye a NMAP para verificar los puertos 80 (http), 443 (https), 21 (ftp) y 22 (ssh).

NMAP -P 80,443,21,22 Linuxhint.comunicarse


Como puede ver, se analizaron todos los puertos especificados. Los puertos 80 y 443 están abiertos, mientras que los puertos 21 y 22 son filtrados por un firewall.

Por supuesto, con NMAP también puede definir objetivos utilizando direcciones IP, subredes, etc.

nmap -p 23,80 162.0.232.43


También puede especificar un rango de puertos implementando un guión como se muestra en el siguiente ejemplo, en el que se escanean todos los puertos del 79 a 90.

Nota: Si el rango es demasiado grande, la salida puede omitir los puertos cerrados/filtrados y mostrar solo puertos abiertos.

NMAP -P 79-90 Linuxhint.comunicarse


Es importante aclarar al usar el -P También puede especificar el servicio por su nombre, no solo por el número de puerto. En el ejemplo a continuación, se escanean los puertos HTTPS y SSH.

nmap -p http, ssh linuxhint.comunicarse


Cuando no especifica los puertos, por defecto, NMAP escanea los 1000 puertos más utilizados. Si desea escanear un objetivo y encontrar solo puertos abiertos entre estos 1000 puertos, puede usar el -bandera abierta.

NMAP -Open Linuxhint.comunicarse

Como puede ver, los puertos encontrados NMAP 80,443, 8080 y 8443 están abiertos.

Banderas NMAP para la detección de versión del sistema operativo y software

Otra característica importante de NMAP es la capacidad de detectar el sistema operativo y las versiones de software de nuestro objetivo. Nmap es una gran herramienta para huellas. Podemos usar diferentes banderas y combinarlas para obtener mejores resultados.

La primera bandera explicada en esta sección es la -O (OS) Bandera utilizado para detectar el sistema operativo objetivo.

Nota: Necesita privilegios de raíz para usar el -O Flagación Para la detección del sistema operativo. Utilizar el sudo prefijo.

sudo nmap -o donweb.comunicarse


Las condiciones de los informes de NMAP no eran ideales para detectar el sistema operativo del objetivo. Sin embargo, es un 86% seguro de que está utilizando un sistema Linux con el kernel 2.6.18 o 2.6.22.

Para detectar versiones de servicio, puede usar el -SV (versión de servicio) Bandera Como se muestra abajo.

nmap -sv argexchanger.comunicarse

En la captura de pantalla anterior, NMAP detectó puro-ftpd para el servicio FTP, EXIM 4.94.2 y Dovecot para el servicio de correo, ISC Bind 9.8.2RC1 para DNS y Litespeed como servidor web.

El -bandera de SV admite diferentes niveles de intensidad, de 0 a 9, donde 0 es una intensidad de luz, y 9 el más agresivo. El nivel predeterminado al usar el -bandera de SV, Si no se especifica, es 7.

A continuación, puede ver un ejemplo de escaneo con el nivel de menor intensidad. Como verá, no se detecta ninguna versión.

nmap -sv --versión -intensidad 0 Linuxhint.comunicarse


Ahora puede ver la salida de un -SV escanear con máxima intensidad contra el mismo objetivo.

Ahora el resultado es diferente, y aunque las versiones no se detectaron, sabemos la razón. Linuxhint.com está protegido por Cloudflare. Con esta salida, aprendimos que podemos obtener las versiones utilizando otras herramientas como Cloudfail o Shodan.

Banderas NMAP para definir objetivos

Otras banderas básicas de NMAP y técnicas de sintaxis son útiles para definir objetivos para escanear. Esta sección muestra cómo ejecutarlos.

Nota: Además, a las banderas, esta sección también cubre algunas técnicas de sintaxis.

En ejemplos anteriores, solo escaneamos un objetivo. También puede apuntar a muchos dispositivos.

El siguiente ejemplo muestra cómo apuntar a un rango IP implementando un guión. El escaneo se dirigirá a todas las direcciones IP entre 162.0.232.2 y 162.0.232.20. Por supuesto, la captura de pantalla no puede incluir todos los resultados que veo en la consola.

NMAP 162.0.232.2-20


Puede especificar rangos en más de un octeto. El siguiente ejemplo especifica los rangos en los últimos octetos mediante la implementación de un guión en ambos.

NMAP 162.0.232-239.2-10


Si desea escanear un octeto completo, también puede usar un comodín (*). También puede usar comodines en más de un octeto y puede combinar rangos IP con comodines como se muestra en el siguiente ejemplo.

NMAP 162.0.232-234.*


El -IR Bandera instruye a NMAP que busque hosts al azar, este indicador depende de un argumento e instrucciones numéricas, requiere que el usuario defina cuántos hosts u objetivos NMAP debería generar.

En el siguiente ejemplo, le indico a NMAP que genere 200 objetivos aleatorios para escanear el puerto de Netbios.

nmap -p 139 -ir 200


También puede usar NMAP para cargar archivos que contienen tantos hosts o direcciones IP como desee. Los hosts se pueden enumerar con nuevas líneas como se muestra en la captura de pantalla a continuación, o separados por coma, espacio o pestaña.

Para aplicar el ejemplo a continuación para crear un archivo que contenga hosts y direcciones IP, puede agregar muchos como desee. En mi caso, nombré el archivo hostslist.


La bandera para cargar la lista de hosts/IPS es -Illinois. A continuación, puede ver un ejemplo usando la lista creada en la captura de pantalla anterior.

nmap -Il hostslist

El -excluir la bandera es útil para excluir direcciones IP o hosts de escaneos cuando escaneamos rangos IP o archivos de destino. En el siguiente ejemplo, usaré la lista de hostores nuevamente para escanear los puertos SSH, FTP y SFTP, pero le indico a NMAP que excluya a Linuxhint.com de la lista. Como puede ver en contraste con el resultado que se muestra en el -IL FLAG Ejemplo de Linuxhint.com no fue escaneado.

nmap -p ssh, ftp, sftp -Il hostslist --exclude Linuxhint.comunicarse

También puedes usar el -excluir la bandera Cuando los puertos de escaneo se extienden como se muestra en el siguiente ejemplo, en el que la IP 162.0.233.34 está excluido, no escaneado.

nmap -p ssh, ftp, sftp 162.0.232-236.34 -Excluir 162.0.233.34

Otras banderas NMAP comunes

Esta es la última sección de este tutorial y explica las banderas adicionales no categorizadas.

-V: El indicador -v (verbosidad) imprimirá información en el proceso de escaneo. Por defecto, NMAP no muestra el proceso, este parámetro instruirá a NMAP que muestre lo que está sucediendo durante el escaneo.


-mi: Este indicador nos permite especificar una interfaz de red (E.gramo. eth0, wlan0, enp2s0, etc.), útil si estamos conectados tanto a través de nuestras tarjetas cableadas como inalámbricas. En mi caso, mi tarjeta inalámbrica es WLP3S0, para instruir a NMAP que use esa interfaz para escanear los puertos 22 y 80 en Linuxhint.

nmap -e wlp3s0 -p 22,80 Linuxhint.comunicarse


-F: El -F (paquetes de fragmentos) Bandera También se usa para tratar de mantener el proceso de escaneo no detectado fragmentando los paquetes, lo que dificulta que los firewalls o IDS detecten el escaneo. Esta opción no es compatible con todas las funciones de NMAP. Es importante aclarar para usar esta función que necesita privilegios raíz, usar el sudo prefijo.

sudo nmap -p 80, ssh, 21,23,25 -f linuxhint.comunicarse


-fuente -puerto / -g: banderas -surce -puerto y -g son equivalentes e instruyen a NMAP que envíe paquetes a través de un puerto específico. Esta opción se utiliza para intentar engañar a los firewalls en la lista blanca de los puertos específicos. El siguiente ejemplo escaneará el objetivo del puerto 20 a los puertos 80, 22, 21,23 y 25 enviando paquetes fragmentados a Linuxhint.

sudo nmap -g 20 -p 80, ssh, 21,23,25 -f linuxhint.comunicarse


-PN: El parámetro -pn (sin ping) escaneará los puertos de la red o se proporcionó el rango sin verificar si el dispositivo está en línea, no será ping y no esperará las respuestas. Sin embargo, es útil para el descubrimiento del anfitrión.

nmap -pn 234.31.1.1-23

Eso se trata de banderas nmap en este tutorial. Sin embargo, antes de terminar quiero presentarle otra característica excelente de NMAP, el motor de secuencias de comandos NMAP. Sigue leyendo a continuación.

Introducción al motor de secuencias de comandos NMAP (NSE):

El motor de secuencias de comandos NMAP (NSE) es una de las características de NMAP más útiles para tareas automatizadas. También contiene guiones sorprendentes para encontrar vulnerabilidades en los objetivos. Los usuarios pueden escribir sus propios scripts o usar una base de datos con scripts existentes.

La sintaxis para usar NSE es la siguiente:

nmap --scriptt --