Nmap ha sido durante años la herramienta open source de facto para el descubrimiento de equipos en redes e identificación de puertos y servicios en sistemas operativos, ampliamente utilizada por administradores, operadores, personal de seguridad y asesores QSA para la realización de verificaciones técnicas en auditorías de PCI DSS. Con la integración del módulo Nmap Scripting Engine (NSE) las funcionalidades de Nmap se han flexibilizado permitiendo también la detección y explotación de vulnerabilidades (a través de scripts escritos en Lua), tareas que habían sido delegadas típicamente en otras herramientas más especializadas como Nessus u OpenVAS.

Dentro del catálogo de NSE se encuentran varios scripts interesantes que pueden ser empleados para la identificación de cuentas y contraseñas por defecto, para verificar el cumplimiento del requisito 2.1 de PCI DSS: “Siempre cambie los valores predeterminados por el proveedor y elimine o deshabilite las cuentas predeterminadas innecesarias antes de instalar un sistema en la red”. Otras herramientas para ejecutar estas validaciones se pueden encontrar en el artículo “¡Cumplir con PCI DSS solamente usando software Open Source es posible! Aquí te explicamos cómo hacerlo“.

Volviendo al caso de Nmap, dependiendo del tipo de servicio a verificar, simplemente se especifica el puerto y se invoca al script NSE asociado al servicio a analizar:

Nmap verificará la existencia de cuentas de usuario y contraseñas por defecto con base en una lista interna (empleando la librería brute) o se pueden especificar listados externos a través de los flags “userdb”y “passdb”, funcionando de manera similar a una herramienta de fuerza bruta. Estas listas se pueden crear manualmente con la información provista por los propios fabricantes o por sitios como Default Password o cirt.net:

Un ejemplo de verificación de credenciales por defecto en telnet empleando listados externos sería el siguiente:

Otro ejemplo, esta vez con MySQL:

A continuación se listan algunos de los scripts más útiles para estos casos:

Sin embargo, si se quieren hacer pruebas más robustas se pueden emplear otras herramientas de fuerza bruta o usar Ncrack, la aplicación desarrollada por el mismo equipo de Nmap especializada en password cracking:

NOTA: Es importante tener en cuenta que las pruebas de verificación de existencia de nombres de usuario y contraseñas por defecto deben ser realizadas ANTES de instalar el sistema en la red y almacenar su evidencia. Durante una auditoría de verificación de PCI DSS estas pruebas no deberían afectar ningún sistema, dado que se presupone que no hay cuentas por defecto y, por ende, los intentos de acceso realizados no las bloquearán.