miércoles, diciembre 26, 2012

Averiguar la versión de un SQL Server

Para este día de Navidad, Nelson Brito (@nbrito) tenía preparada una nueva versión de SQL Fingerprinting Next Generation, una herramienta de la que ya os había hablado aquí para hacer Fingerprinting a servidores SQL Server. Como yo también soy un enganchado a esto del hacking y las tecnologías, aproveché el día de Navidad para probar la herramienta, así que igual que hice en la anterior ocasión, escanee unos segmentos buscando servidores SQL Server con el puerto 1433 abierto en Internet y lancé la herramienta.

Figura 1: Buscando servidores SQL Server con el puerto 1433 abierto a Internet

Esta versión está escrita en Perl y según cuenta en la descripción, es capaz de reconocer más de 500 versiones distintas de SQL Server con su Service Pack y conjunto de parches de actualización instalados. Basta con invocarlo con el nombre del fichero en Perl y la dirección IP a realizar el proceso de fingerprinting para obtener una versión y un grado de porcentaje de certidumbre, tal y como se ve en la figura 2.

Figura 2: MS SQL Server 2008 R2 RTM descubierto con ESF.pl

Si se quiere conocer el nombre del servidor SQL Server en la red, hay que establecer una cadena de conexión y analizar la respuesta, tal y como ya vimos en "Cómo conocer el nombre de un servidor SQL Server con una cadena de conexión". En esta herramienta, basta con utilizar la opción -d  de debug, y analizar la respuesta obtenida. En la Figura 3 ZitrXXXXX7C1.

Figura 3: Modo debugging de la herramienta. Permite averiguar el nombre del servidor SQL Server

Tal vez hubiera sido más cómodo que el nombre del servidor saliera en la respuesta por defecto de la aplicación al hacer el proceso de fingerprinting, pero hay que reconocer que parece funcionar muy bien con diferentes versiones de SQL Server.

Figura 4: Servidor MS SQL Server 2008 SP3 descubierto con ESF.pl

Para descubrir los servidores SQL Server en una red, además de hacer el escaneo con nmap que os he puesto en este ejemplo, se puede utilizar un escaner IPv6 como Topera para descubrir qué equipos están respondiendo por ese puerto, o utilizar trucos como la creación de un DSN en una red local o herramientas de administración como MyLittleBackup. La herramienta merece tenerla en cuenta para analizar las versiones de SQL Server, así que tenla presente en tu próximo pentesting.

Saludos Malignos!

2 comentarios:

Anónimo dijo...

To perform the versions fingerprinting the server name is not relevant, but it can be gathered and printed as well. Maybe in a future release.

@nbrito

Anónimo dijo...

Creo q se te ha colado la ip en claro en la captura más larga...

Gracias por tus artículos! :)

Entradas populares