SQL Komutları ile MS SQL Veritabanındaki IMPERSONATE İzninin Kötüye Kullanılarak Hak Yükseltilmesi

Sızma testleri sırasında, standart uygulama kullanıcısına ait yetkiler ile elde edilen MS SQL veritabanı uygulamasında hak yükseltilerek erişim sağlanamayan kaynaklara erişilmeye çalışılır. Bu yazıda, SQL komutları kullanılarak, MS SQL veritabanında IMPERSONATE yetkisi kötüye kullanılarak standart kullanıcı hakları, sysadmin rolü haklarına yükseltilecektir.

Kurum ağında MS SQL veritabanındaki bir veritabanı kullanıcısına ait erişim bilgileri, “Test/Test” olarak elde edilmiş olsun. Bu kullanıcı hesabına ait sunucu rolü Public olduğu görülmektedir.

escalating-privileges-on-ms-sql-database-by-exploiting-impersonate-privilege-via-performing-ms-sql-commands-01

“Test” adlı veritabanı kullanıcı hesabı “sa” ve “sql_hesabi” adlı iki veritabanı kullanıcısının yetkileri ile işlem yapması gerektiği için, bu hesaba IMPERSONATE yetkileri verildiği (ve bu yetkinin geri alınmasının unutulduğu) varsayılsın.

escalating-privileges-on-ms-sql-database-by-exploiting-impersonate-privilege-via-performing-ms-sql-commands-02

Yetki verildikten sonra Securable sayfasında bu yetkinin alınmış olduğu görülmektedir.

escalating-privileges-on-ms-sql-database-by-exploiting-impersonate-privilege-via-performing-ms-sql-commands-03

Bu durum istismar edilerek IMPERSONATE yetkisi verilen kullanıcının hakları ele geçirildiğinde, “sa” ve “sql_hesabi” kullanıcısının hakları ile komut çalıştırılabilir. Veritabanındaki bu konfigürasyon hatasının istismarı için SQL komutları çalıştırılabilir.

Select IS_SRVROLEMEMBER (‘sysadmin’,’Test’) as Durum

EXECUTE AS LOGIN = ‘sa’
EXEC sp_addsrvrolemember Test,sysadmin

Select IS_SRVROLEMEMBER (‘sysadmin’,’Test’) as Durum

escalating-privileges-on-ms-sql-database-by-exploiting-impersonate-privilege-via-performing-ms-sql-commands-04

Böylece IMPERSONATE hakkı kötüye kullanılarak Public rolündeki kullanıcı hesabı sysadmin rolüne sahip olmuş olur.

escalating-privileges-on-ms-sql-database-by-exploiting-impersonate-privilege-via-performing-ms-sql-commands-05

 

 

Yazarın Bilgileri

Ertuğrul BAŞARANOĞLU
Ertuğrul BAŞARANOĞLU

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Kullanabileceğiniz HTLM etiketleri ve özellikleri: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">

Bu sayfada incelenen konulardan doğacak sorunlar kişinin kendi sorumluluğundadır.