Intenté usar el siguiente comando:
nmap -p 5432 -v --script pgsql-brute myhost
Pero no obtuve ninguna salida relacionada con el script pgsql ni con la versión dbms.
El secuencia de comandos pgsql-brute realiza la adivinación de contraseñas (fuerza bruta) contra las bases de datos PostgreSQL. No recupera ninguna información de versión ni muestra nada más que nombres de usuario y contraseñas acertados.
Un comando más útil para obtener información de una base de datos PostgreSQL sería:
nmap -p 5432 -sV myhost
Esto realiza detección de la versión del servicio y la aplicación en la base de datos, y genera resultados como:
PORT STATE SERVICE VERSION
5432/tcp open postgresql PostgreSQL DB 9.1.12 - 9.1.14
Esto se basa en un número de línea en una respuesta de error a una sonda en ese puerto, y generalmente puede reducir la versión a una de las pocas versiones menores.
En nmap, debes saber lo siguiente:
Cuando desee ejecutar un script NSE específico del protocolo, como pgsql-brute (o el script genérico brute
NSE), nmap necesitará la información de la versión para que coincida con el puerto o poder detectarla, es decir,
nmap -v --script brute -sV -p 5432 <ip>
o nmap puede omitir la detección de versiones si se utiliza el carácter +
, lo que obliga a la secuencia de comandos a ejecutarse, por ejemplo,
nmap -v --script +pgsql-brute -p 5432 <ip>
Lea otras preguntas en las etiquetas databases nmap network-scanners