sábado, 24 de junio de 2017

Auditando con Nmap y sus scripts para escanear vulnerabilidades


Auditando con Nmap y sus scripts para escanear vulnerabilidades






Actualmente existen diversas herramientas de seguridad que se encargan de ejecutar diferentes funcionalidades, y si hablamos de auditorías o pentesting, una de las que no falta nunca en el arsenal es Nmap, utilizada para reconocimiento de red y escaneo de puertos. Sin embargo, no todo el mundo conoce su gran potencial, por lo que en esta entrada nos centraremos en sus scripts y escaneo de vulnerabilidades.
Nmap es muy reconocida en el mundo de seguridad informática por su funcionalidad de escaneo de redes, puertos y servicios. No obstante, la herramienta ha ido mejorando con el correr de los años, ofreciendo cada vez más posibilidades que resultan muy interesantes. Actualmente incorpora el uso de scripts para comprobar algunas de las vulnerabilidades más conocidas, 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 o target
  • Malware: revisa si hay conexiones abiertas por códigos maliciosos o backdoors (puertas traseras)
  • 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 grafica el ejemplo:
AuthScriptEn este primer ejemplo se muestra cómo a través de la herramienta se consigue información como el primer recuadro azul, el cual muestra el ingreso anónimo de usuarios (sin requerir usuario y contraseña). Del mismo modo, en el segundo recuadro azul (recuadro inferior) muestra el listado los usuarios de MySQL, el cual su usuario root (súper usuario) no posee contraseña.
En segunda instancia se ejecutó la herramienta con la opción por defecto (default) para hacer escaneo, justamente, con los scripts por defecto. Veamos el ejemplo:
DefaultScriptEn 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”.
El script safe se podría utilizar cuando queremos ejecutar secuencias de comandos que son menos intrusivas para el target o víctima, de manera que será menos probable que causen la interrupción de algunas aplicaciones. Podemos ver en la próxima imagen, descubierta la dirección IP del router, el nombre de dominio de la red y más información:
SafeScriptOtro de los scripts interesantes que incorpora Nmap es vuln, el cual permite conocer si el equipo presenta alguna de las vulnerabilidades más conocidas. Veamos el ejemplo a continuación:
VulnScriptComo se muestra en el recuadro azul (superior), el análisis determinó que el puerto 25 (SMTP) no presenta vulnerabilidades, aunque podría validarse si es correcto de forma manual. Por otra parte, el recuadro verde (inferior), muestra las múltiples vulnerabilidades encontradas en el puerto 80 (HTTP). En el ejemplo se encontró una vulnerabilidad CSRF (Cross Site Request Forgery) y también se determinó la vulnerabilidad a ataques DoS (Denial of Service o denegación de servicio).
Uno de los menos recomendados tal vez para utilizar debido al “ruido” que generaría en los archivos de logs, es el script all. Este 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 captura de pantalla:
AllScriptAutomáticamente comenzará la ejecución de todo lo anteriormente mencionado y visto, brindando al auditor o pentester mucha información; esta será tenida en cuenta para la aplicación de correcciones y modificaciones en las respectivas aplicaciones, para no dejar al descubierto información sensible de red o un equipo.
Como conclusión, podemos remarcar que las herramientas libres como Nmap son muy útiles ya que mejoran año tras año. Si bien no es la funcionalidad principal la de hacer escaneo de vulnerabilidades, podemos valernos de esta potente herramienta para comenzar con la auditoría a nuestros equipos, permitiéndonos conocer en primera instancia el estado actual y su nivel de exposición con las vulnerabilidades más conocidas.
Por este motivo, nuestra recomendación es tener siempre presente la opción de llevar a cabo tareas como pruebas de intrusión o penetration testing por una empresa especializada; esto 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.

Créditos imagen: ©Chris Costes/Flickr