Prueba de penetración MSSQL usando Nmap



 Hoy vamos a realizar pruebas de penetración de Microsoft SQL usando scripts NMAP para recuperar información básica como el nombre de la base de datos, nombres de usuario, nombre de tablas, etc. desde el servidor SQL que se ejecuta en el sistema operativo Windows. En nuestro artículo anterior , habíamos configurado el servidor Microsoft SQL en Windows 10.
Requisito
Atacante: Kali Linux (NMAP)
Destino: Windows 10 (MS SQL Server)
¡¡Empecemos!!
Escanear puerto 1433
Abra el terminal en Kali Linux y escanee la IP de destino para el puerto 1433 usando el comando nmap.
De la imagen a continuación puede observar que el puerto 1433 está abierto para el servicio MS-SQL.

Enumerar información de versión

El siguiente comando intentará determinar la información de configuración y versión para las instancias de Microsoft SQL Server.
En la imagen especificada a continuación, puede observar la versión de instalación y los detalles del servidor MS-SQL.

Atacante de fuerza bruta

El siguiente comando intentará determinar el nombre de usuario y la contraseña mediante un ataque de fuerza bruta contra MS-SQL por medio del diccionario de nombre de usuario y contraseña.
En la imagen especificada puede observar que hemos recuperado con éxito la credencial para dos usuarios:
  • Nombre de usuario: ignite y contraseña: 12345
  • Nombre de usuario: sa y contraseña: admin123

Ejecute la consulta MS-SQL

Una vez que haya recuperado la credencial de inicio de sesión, use estas credenciales en el script NMAP para ejecutar la consulta MS –SQL. A continuación se intentará ejecutar cierta consulta "sp_database" contra el servidor Microsoft SQL.
La consulta especificada "sp_databases" forma parte de los procedimientos almacenados de registro y volca una lista de nombres de bases de datos de una instancia de SQL Server.
Por lo tanto, como resultado, ha volcado dos nombres de base de datos "ignite & master", mientras que master es el nombre de base de datos predeterminado del servidor MS_SQL.

Verifique la configuración del servidor Microsoft SQL

  El siguiente comando intentará describir la configuración del servidor Microsoft SQL pasando la credencial de inicio de sesión como argumento a través de la secuencia de comandos nmap.
Por lo tanto, puede verificar la configuración de la imagen a continuación.

Obtenga una lista de tablas

El siguiente comando intentará obtener una lista de tablas desde el servidor Microsoft SQL pasando la credencial de inicio de sesión como argumento a través del script nmap.
Por lo tanto, puede verificar la lista de tablas de la imagen a continuación.

Enumerar información de NetBIOS

La siguiente secuencia de comandos NMAP enumerará la información de los servicios remotos de Microsoft SQL con la autenticación NTLM habilitada.
El envío de una solicitud de autenticación NTLM de MS-TDS con un dominio no válido y credenciales nulas hará que el servicio remoto responda con un mensaje NTLMSSP que revela información que incluye NetBIOS, DNS y la versión de compilación del sistema operativo.
Por lo tanto, a partir de la imagen a continuación, puede leer el servidor de Microsoft SQL remoto de información NetBIOS.

Volcar hashes de contraseñas

El siguiente comando volcará los valores hash de contraseña de un servidor MS-SQL en un formato adecuado para descifrar por herramientas como John-the-ripper. Para hacerlo, el usuario debe tener los privilegios de base de datos apropiados.
De la imagen dada, puede observar que ha volcado el valor hash de las contraseñas de usuario: sa que hemos enumerado anteriormente.

Identificar el propietario de la base de datos.

El siguiente comando ejecutará una consulta en las instancias de Microsoft SQL Server para obtener una lista de las bases de datos a las que un usuario tiene acceso. Para hacerlo, el usuario debe tener los privilegios de base de datos apropiados. Por lo tanto, hemos pasado el nombre de usuario y la contraseña como argumento a través del script NMAP.
En la imagen especificada, puede observar que muestra que el usuario sa es propietario de la base de datos "ignite".

Ms-SQL permite la opción XP_cmdshell

El xp_cmdshell es una función de Microsoft SQL Server que permite a los administradores del sistema ejecutar un comando del sistema operativo. Por defecto, la opción xp_cmdshell está deshabilitada.
De la imagen a continuación puede ver que hemos habilitado la función xp_cmdshell ejecutando la siguiente declaración dentro de la base de datos maestra.
EXEC sp_configure 'xp_cmdshell';

Ahora guarde la configuración anterior a través de la siguiente declaración:
Reconfiguración;

Explotar Función Xp_cmdshell

Ahora, el siguiente script NMAP intentará ejecutar un comando utilizando el shell de comandos de Microsoft SQL Server si se encuentra que xp_cmdshell está habilitado en el servidor de destino.
A partir de la imagen dada, puede confirmar que hemos ejecutado el comando del sistema operativo: usuario de red como cuenta de usuario de recuperación.

Contraseña en blanco conduce a acceso no autorizado

Si el administrador de Microsoft-SQL Server dejó la contraseña en blanco para iniciar sesión, entonces el atacante puede iniciar sesión en el servidor de la base de datos, de la siguiente imagen puede ver que estamos explorando la propiedad de la cuenta de un usuario "sa".

Aquí se mantuvo el "espacio en blanco" como contraseña para el usuario "sa". Como sabemos de forma predeterminada, sa es el administrador del servidor MS-SQL y ahora su contraseña es un espacio en blanco, por lo tanto, las posibilidades de que el atacante obtenga acceso no autorizado al servidor aumentarán.

Hacer acceso no autorizado al servidor SQL

El siguiente script NMAP intentará autenticarse en los servidores Microsoft SQL utilizando una contraseña vacía para la cuenta sysadmin (sa).
De la imagen que se muestra a continuación, puede percibir que habíamos iniciado sesión exitosamente con el usuario: sa y una contraseña vacía.
Ar-themes Logo

XENTURIANS

No hay comentarios:

Publicar un comentario