Nmap es una herramienta de código abierto creada en 1998 que es muy reconocida en el mundo de seguridad informática por su funcionalidad de escaneo de redes, puertos y servicios que ha ido mejorando con el correr de los años. Es de gran utilidad para identificar los dispositivos conectados a una red y obtener información de los mismos, como pueden ser aplicaciones instaladas, puertos y servicios abiertos y posibles vulnerabilidades de seguridad.
Mediante la ejecución de algunos scripts nos permite escanear una red en busca de vulnerabilidades. Por ejemplo:
- Auth: ejecuta todos sus scripts disponibles para autenticación
- Default: ejecuta los scripts básicos por defecto de la herramienta
- Discovery: recupera información del target o víctima
- External: script para utilizar recursos externos
- Intrusive: utiliza scripts que son considerados intrusivos para la víctima
- Indicios de la presencia de malware: revisa si hay conexiones abiertas por códigos maliciosos o backdoors
- Safe: ejecuta scripts que no son intrusivos
- Vuln: descubre las vulnerabilidades más conocidas
- All: ejecuta absolutamente todos los scripts con extensión NSE disponibles
En principio ejecutamos Nmap con el script para autenticaciones (auth), que comprobará si existen usuarios con contraseñas vacías o la existencia de usuarios y contraseñas por defecto. La siguiente captura de pantalla ilustra el ejemplo:
1. Script Auth
En este primer ejemplo la herramienta detecta (primer recuadro azul) el ingreso de usuarios anónimos (sin requerir usuario y contraseña). Del mismo modo, en el segundo recuadro azul (recuadro inferior) nos muestra el listado usuarios con permisos de súper usuario (acceso root) en MySQL que no poseen contraseña.
2. Script Default
En segunda instancia ejecutamos la herramienta con la configuración por defecto para hacer un escaneo con los scripts predeterminados. Veamos el ejemplo:
En este caso también se muestra en el recuadro superior azul -más precisamente el puerto 22 de SSH aparece como resultado- información de la llave (o key) para su conexión. En el recuadro azul inferior muestra información recolectada del puerto 80, tal como nombre de equipo y versión de sistema operativo, justo en la parte donde dice “Metasploitable2 – Linux”.
3. Script Safe
El script safe se podría utilizar cuando queremos ejecutar secuencias de comandos que son menos intrusivas para la víctima, de manera que será menos probable que provoquen la interrupción de algunas aplicaciones. Podemos ver en la próxima imagen que, una vez descubierta la dirección IP del router, obtenemos el nombre de dominio de la red y más información:
4. Script Vuln
Otro de los tantos scripts interesantes en Nmap es vuln, el cual permite identificar alguna de las vulnerabilidades más conocidas en el sistema. Veamos el ejemplo a continuación:
Como se muestra en el recuadro azul (superior), el análisis determinó que el puerto 25 (SMTP) presenta vulnerabilidades, aunque toda la información siempre debe validarse para evitar falsos positivos o premisas que nos puedan desviar en nuestra auditoria.
5. Script All
Uno de los menos recomendados tal vez para utilizar debido al “ruido” que generaría en los archivos de logs, es el script all. El mismo ejecuta todos los scripts disponibles, por lo que los archivos de registro de actividades comenzarían a llenarse rápidamente, alertando al administrador del equipo. Veamos el ejemplo en la siguiente imagen:
Automáticamente comenzará la ejecución de todos los scripts anteriormente mencionados, brindando al auditor o pentester mucha información que podrá tener en cuenta para la aplicación de correcciones y modificaciones en las respectivas aplicaciones y de esta manera proteger información sensible en una red o equipo.
Como conclusión, mencionar que herramientas gratuitas como Nmap son muy útiles, ya que mejoran año tras año. Si bien la principal funcionalidad de esta herramienta no es realizar escaneo de vulnerabilidades, podemos valernos de esta potente herramienta como complemento para comenzar con la auditoría de nuestros equipos y de esta manera conocer de primera mano el estado actual de la seguridad y el nivel de exposición sobre la base de las vulnerabilidades más conocidas.
Igualmente, nuestra recomendación siempre es que las pruebas de intrusión o penetration testing se realicen por una empresa especializada, ya que nos permitirá conocer el estado real de los equipos y la red para actuar rápidamente con un plan de corrección, minimizando los riesgos de intrusiones no deseadas.
Compartimos otras herramientas que tal vez puedan ser de interés:
- Nexpose: una poderosa herramienta para el análisis de vulnerabilidad
- Maltego, la herramienta que te muestra qué tan expuesto estás en Internet
- Kamerka: una herramienta de reconocimiento para dispositivos IoT e infraestructuras críticas
- Herramientas gratuitas para análisis de malware