Una guía práctica para Nmap (Network Security Scanner) en Kali Linux


En el segundo artículo de Kali Linux, la herramienta de red conocida como "útiles herramientas de mapeo de red en Kali".

  1. Guía de instalación de Kali Linux para principiantes - Parte 1

Nmap, abreviatura de Network Mapper, es mantenido por Gordon Lyon (más sobre el Sr. Lyon aquí: http://insecure.org/fyodor/) y es utilizado por muchos profesionales de la seguridad en todo el mundo.

La utilidad funciona tanto en Linux como en Windows y está impulsada por la línea de comandos (CLI). Sin embargo, para aquellos un poco más tímidos con la línea de comandos, existe una maravillosa interfaz gráfica para nmap llamada zenmap.

Se recomienda encarecidamente que las personas aprendan la versión CLI de nmap, ya que proporciona mucha más flexibilidad en comparación con la edición gráfica de zenmap.

¿Qué propósito tiene el servidor nmap? Gran pregunta. Nmap permite que un administrador aprenda rápida y completamente sobre los sistemas en una red, de ahí el nombre, Network MAPper o nmap.

Nmap tiene la capacidad de localizar rápidamente hosts en vivo, así como servicios asociados con ese host. La funcionalidad de Nmap se puede ampliar aún más con Nmap Scripting Engine, a menudo abreviado como NSE.

Este motor de secuencias de comandos permite a los administradores crear rápidamente una secuencia de comandos que se puede utilizar para determinar si existe una vulnerabilidad recién descubierta en su red. Se han desarrollado e incluido muchos scripts con la mayoría de las instalaciones de nmap.

Una advertencia: nmap es comúnmente utilizado por personas con buenas y malas intenciones. Se debe tener extrema precaución para asegurarse de que no está utilizando nmap en sistemas cuyo permiso no se haya proporcionado explícitamente en un acuerdo legal o escrito. Tenga cuidado al utilizar la herramienta nmap.

  1. Kali Linux (nmap está disponible en otros sistemas operativos y funciones similares a esta guía).
  2. Otra computadora y permiso para escanear esa computadora con nmap - Esto a menudo se hace fácilmente con software como VirtualBox y la creación de una máquina virtual.
    1. Para practicar con una buena máquina, lea acerca de Metasploitable 2
    2. Descargar para MS2 Metasploitable2

    Kali Linux - Trabajar con Nmap

    El primer paso para trabajar con nmap es iniciar sesión en la máquina Kali Linux y, si lo desea, iniciar una sesión gráfica (este primer artículo de esta serie instaló Kali Linux con Enlightenment Desktop Environment).

    Durante la instalación, el instalador habría solicitado al usuario una contraseña de usuario "root" que será necesaria para iniciar sesión. Una vez que haya iniciado sesión en la máquina Kali Linux, con el comando "startx", se puede iniciar el entorno de escritorio de Enlightenment; vale la pena señalar que nmap no requiere un entorno de escritorio para ejecutarse.

    # startx
    

    Una vez que haya iniciado sesión en Enlightenment, deberá abrir una ventana de terminal. Al hacer clic en el fondo del escritorio, aparecerá un menú. La navegación a una terminal se puede realizar de la siguiente manera: Aplicaciones -> Sistema -> "Xterm" o "UXterm" o "Terminal raíz".

    El autor es un fanático del programa de shell llamado "Terminator", pero es posible que esto no aparezca en una instalación predeterminada de Kali Linux. Todos los programas de shell enumerados funcionarán para los propósitos de nmap.

    Una vez que se ha lanzado una terminal, la diversión de nmap puede comenzar. Para este tutorial en particular, se creó una red privada con una máquina Kali y una máquina Metasploitable.

    Esto hizo las cosas más fáciles y seguras, ya que el rango de la red privada garantizaría que los escaneos permanecieran en máquinas seguras y evitaría que la máquina vulnerable Metasploitable fuera comprometida por otra persona.

    En este ejemplo, ambas máquinas están en una red privada 192.168.56.0/24. La máquina Kali tiene una dirección IP de 192.168.56.101 y la máquina Metasploitable que se va a escanear tiene una dirección IP de 192.168.56.102.

    Sin embargo, digamos que la información de la dirección IP no estaba disponible. Un escaneo rápido de nmap puede ayudar a determinar qué está activo en una red en particular. Este análisis se conoce como análisis de "Lista simple", por lo que los argumentos -sL se pasan al comando nmap.

    # nmap -sL 192.168.56.0/24
    

    Lamentablemente, este análisis inicial no arrojó ningún host en vivo. A veces, este es un factor de la forma en que ciertos sistemas operativos manejan el tráfico de red de escaneo de puertos.

    Sin embargo, no se preocupe, hay algunos trucos que nmap tiene disponibles para intentar encontrar estas máquinas. El siguiente truco le dirá a nmap que simplemente intente hacer ping a todas las direcciones en la red 192.168.56.0/24.

    # nmap -sn 192.168.56.0/24
    

    ¡Esta vez, nmap devuelve algunos hosts potenciales para escanear! En este comando, -sn deshabilita el comportamiento predeterminado de nmap de intentar escanear el puerto de un host y simplemente hace que nmap intente hacer ping al host.

    Intentemos dejar que el puerto nmap escanee estos hosts específicos y veamos qué aparece.

    # nmap 192.168.56.1,100-102
    

    ¡Guau! Esta vez, nmap chocó contra una mina de oro. Este host en particular tiene bastantes puertos de red abiertos.

    Todos estos puertos indican algún tipo de servicio de escucha en esta máquina en particular. Recordando lo anterior, la dirección IP 192.168.56.102 se asigna a la máquina vulnerable metasploitable, por lo que hay tantos puertos abiertos en este host.

    Tener tantos puertos abiertos en la mayoría de las máquinas es muy anormal, por lo que puede ser una buena idea investigar esta máquina un poco más de cerca. Los administradores podrían rastrear la máquina física en la red y mirar la máquina localmente, pero eso no sería muy divertido, especialmente cuando nmap podría hacerlo por nosotros mucho más rápido.

    Este siguiente escaneo es un escaneo de servicio y se usa a menudo para tratar de determinar qué servicio puede estar escuchando en un puerto particular en una máquina.

    Nmap probará todos los puertos abiertos e intentará capturar información de los servicios que se ejecutan en cada puerto.

    # nmap -sV 192.168.56.102
    

    Observe que esta vez nmap proporcionó algunas sugerencias sobre lo que nmap pensó que podría estar ejecutándose en este puerto en particular (resaltado en el cuadro blanco). Además, nmap también intentó determinar información sobre el sistema operativo que se ejecuta en esta máquina, así como su nombre de host (¡también con gran éxito!).

    Examinar este resultado debería generar bastantes preocupaciones para un administrador de red. ¡La primera línea afirma que la versión 2.3.4 de VSftpd se está ejecutando en esta máquina! Esa es una versión REALMENTE antigua de VSftpd.

    Buscando a través de ExploitDB, se encontró una vulnerabilidad seria en 2011 para esta versión en particular (ExploitDB ID - 17491).

    Hagamos que nmap eche un vistazo más de cerca a este puerto en particular y veamos qué se puede determinar.

    # nmap -sC 192.168.56.102 -p 21
    

    Con este comando, se le indicó a nmap que ejecutara su script predeterminado (-sC) en el puerto FTP (-p 21) en el host. Si bien puede ser un problema o no, nmap descubrió que el inicio de sesión FTP anónimo está permitido en este servidor en particular.

    Sin embargo, esto, junto con el conocimiento anterior de que VSftd tiene una vulnerabilidad anterior, debería generar cierta preocupación. Veamos si nmap tiene algún script que intente verificar la vulnerabilidad VSftpd.

    # locate .nse | grep ftp
    

    Tenga en cuenta que nmap ya tiene un script NSE creado para el problema de la puerta trasera VSftpd. Intentemos ejecutar esta secuencia de comandos en este host y ver qué sucede, pero primero puede ser importante saber cómo utilizar la secuencia de comandos.

    # nmap --script-help=ftp-vsftd-backdoor.nse
    

    Al leer esta descripción, queda claro que este script se puede usar para intentar ver si esta máquina en particular es vulnerable al problema de ExploitDB identificado anteriormente.

    Ejecutemos la secuencia de comandos y veamos qué sucede.

    # nmap --script=ftp-vsftpd-backdoor.nse 192.168.56.102 -p 21
    

    ¡Ay! El guión de Nmap arrojó algunas noticias peligrosas. Es probable que esta máquina sea un buen candidato para una investigación seria. Esto no significa que la máquina esté comprometida y se esté utilizando para cosas horribles o terribles, pero debería generar algunas preocupaciones a los equipos de red/seguridad.

    Nmap tiene la capacidad de ser extremadamente selectivo y extremadamente silencioso. La mayor parte de lo que se ha hecho hasta ahora ha intentado mantener el tráfico de red de nmap moderadamente silencioso, sin embargo, escanear una red de propiedad personal de esta manera puede llevar mucho tiempo.

    Nmap tiene la capacidad de realizar un escaneo mucho más agresivo que a menudo arrojará gran parte de la misma información pero en un comando en lugar de varios. Echemos un vistazo al resultado de un análisis agresivo (tenga en cuenta que un análisis agresivo puede activar los sistemas de detección/prevención de intrusiones).

    # nmap -A 192.168.56.102
    

    Observe que esta vez, con un comando, nmap ha devuelto mucha de la información que devolvió anteriormente sobre los puertos abiertos, los servicios y las configuraciones que se ejecutan en esta máquina en particular. Gran parte de esta información se puede utilizar para ayudar a determinar cómo proteger esta máquina, así como para evaluar qué software puede haber en una red.

    Esta fue solo una breve lista de las muchas cosas útiles que nmap se puede usar para encontrar en un host o segmento de red. Se recomienda encarecidamente que las personas continúen experimentando con nmap de manera controlada en una red que es propiedad de la persona (¡no practique escaneando otras entidades!).

    Hay una guía oficial sobre escaneo de red Nmap del autor Gordon Lyon, disponible en Amazon.

    ¡No dude en publicar comentarios o preguntas (o incluso más sugerencias/consejos sobre escaneos de nmap)!