Translated ['network-services-pentesting/pentesting-mssql-microsoft-sql-

This commit is contained in:
Translator 2024-07-30 11:13:48 +00:00
parent 5ab1bd1f4a
commit 5bc2900c5e

View file

@ -38,8 +38,8 @@ Sa [wikipedia](https://en.wikipedia.org/wiki/Microsoft\_SQL\_Server):
* **master Baza podataka**: Ova baza podataka je ključna jer beleži sve sistemske detalje za SQL Server instancu.
* **msdb Baza podataka**: SQL Server Agent koristi ovu bazu podataka za upravljanje rasporedom za alarme i poslove.
* **model Baza podataka**: Deluje kao plan za svaku novu bazu podataka na SQL Server instanci, gde se sve izmene poput veličine, kolacije, modela oporavka i još mnogo toga odražavaju u novokreiranim bazama podataka.
* **Resource Baza podataka**: Baza podataka samo za čitanje koja sadrži sistemske objekte koji dolaze sa SQL Serverom. Ovi objekti, iako su fizički smešteni u Resource bazi podataka, logički su predstavljeni u sys šemi svake baze podataka.
* **tempdb Baza podataka**: Služi kao privremeno skladište za prolazne objekte ili međurezultate.
* **Resource Baza podataka**: Baza podataka samo za čitanje koja sadrži sistemske objekte koji dolaze sa SQL Server-om. Ovi objekti, iako su fizički smešteni u Resource bazi podataka, logički su predstavljeni u sys šemi svake baze podataka.
* **tempdb Baza podataka**: Služi kao privremeni prostor za skladištenje prolaznih objekata ili međurezultata.
## Enumeracija
@ -51,7 +51,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" %}
Ako **nemate** **akreditiv** možete pokušati da ih pogodite. Možete koristiti nmap ili metasploit. Budite oprezni, možete **blokirati naloge** ako nekoliko puta ne uspete da se prijavite koristeći postojeće korisničko ime.
Ako **nemate** **akreditive**, možete pokušati da ih pogodite. Možete koristiti nmap ili metasploit. Budite oprezni, možete **blokirati naloge** ako nekoliko puta zaredom ne uspete da se prijavite koristeći postojeće korisničko ime.
{% endhint %}
#### Metasploit (potrebni akreditivi)
@ -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]
```
#### Dobij korisnika
@ -233,7 +238,7 @@ sudo impacket-smbserver share ./ -smb2support
msf> use auxiliary/admin/mssql/mssql_ntlm_stealer
```
{% hint style="warning" %}
Možete proveriti ko (osim sysadmin-a) ima dozvole da pokreće te MSSQL funkcije sa:
Možete proveriti ko (osim sysadmins) ima dozvole da pokreće te MSSQL funkcije sa:
```sql
Use master;
EXEC sp_helprotect 'xp_dirtree';
@ -300,7 +305,7 @@ Primer pokušaja izvršavanja **'R'** _"Hellow World!"_ **ne radi**:
![](<../../.gitbook/assets/image (393).png>)
Primer korišćenja konfigurisanog Pythona za obavljanje više akcija:
Primer korišćenja konfigurisanog Pythona za izvođenje nekoliko akcija:
```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" %}
Ako možete da se pretvarate da ste korisnik, čak i ako on nije sysadmin, trebalo bi da proverite **da li korisnik ima pristup** drugim **baza podataka** ili povezanih servera.
@ -450,15 +460,15 @@ Napadač može da ekstrakuje lozinke SQL Server Linked Servers iz SQL instanci i
Neki zahtevi i konfiguracije moraju biti izvršeni kako bi ovaj exploit radio. Prvo, morate imati administratorska prava na mašini, ili mogućnost upravljanja SQL Server konfiguracijama.
Nakon što potvrdite svoja prava, potrebno je konfigurisati tri stvari, a to su:
Nakon što potvrdite svoja prava, potrebno je da konfigurišete tri stvari, a to su:
1. Omogućiti TCP/IP na SQL Server instancama;
2. Dodati Start Up parametar, u ovom slučaju, biće dodat trace flag, koji je -T7806.
3. Omogućiti udaljenu administratorsku konekciju.
1. Omogućite TCP/IP na SQL Server instancama;
2. Dodajte Start Up parametar, u ovom slučaju, biće dodat trace flag, koji je -T7806.
3. Omogućite udaljenu administratorsku konekciju.
Da automatizujete ove konfiguracije, [ova repozitorijum](https://github.com/IamLeandrooooo/SQLServerLinkedServersPasswords/) ima potrebne skripte. Pored toga što ima powershell skriptu za svaki korak konfiguracije, repozitorijum takođe ima kompletnu skriptu koja kombinuje skripte za konfiguraciju i ekstrakciju i dekripciju lozinki.
Da automatizujete ove konfiguracije, [ova repozitorija](https://github.com/IamLeandrooooo/SQLServerLinkedServersPasswords/) ima potrebne skripte. Pored toga što ima powershell skriptu za svaki korak konfiguracije, repozitorija takođe ima kompletnu skriptu koja kombinuje skripte za konfiguraciju i ekstrakciju i dekripciju lozinki.
Za dodatne informacije, pogledajte sledeće linkove u vezi sa ovim napadom: [Dekripcija MSSQL baze podataka Link Server lozinki](https://www.netspi.com/blog/technical/adversary-simulation/decrypting-mssql-database-link-server-passwords/)
Za dodatne informacije, pogledajte sledeće linkove u vezi sa ovim napadom: [Dekripcija lozinki MSSQL baze podataka Link Server](https://www.netspi.com/blog/technical/adversary-simulation/decrypting-mssql-database-link-server-passwords/)
[Troubleshooting SQL Server Dedicated Administrator Connection](https://www.mssqltips.com/sqlservertip/5364/troubleshooting-the-sql-server-dedicated-administrator-connection/)
@ -488,6 +498,7 @@ Verovatno ćete moći da **eskalirate na Administratora** prateći jednu od ove
* [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>