MSF mssql_escalate_execute_as Auxiliary Modülü 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, MSF mssql_escalate_execute_as auxiliary modülü 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 10.20.30.72 IP adresindeki 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-msf-mssql-escalate-execute-as-auxiliary-module-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-msf-mssql-escalate-execute-as-auxiliary-module-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-msf-mssql-escalate-execute-as-auxiliary-module-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 MSF mssql_escalate_execute_as modülü kullanılabilir. Bu amaçla, modül seçilir ve seçenekleri incelenir.

search mssql_escalate_execute_as
use auxiliary/admin/mssql/mssql_escalate_execute_as
show options

escalating-privileges-on-ms-sql-database-by-exploiting-impersonate-privilege-via-msf-mssql-escalate-execute-as-auxiliary-module-04

Modüle IP adresi, erişim için gerekli kimlik bilgisi verilerek modül seçenekleri ayarlanabilir.

set RHOST 10.20.30.72
set USERNAME Test
set PASSWORD Test
show options

escalating-privileges-on-ms-sql-database-by-exploiting-impersonate-privilege-via-msf-mssql-escalate-execute-as-auxiliary-module-05

Seçenekler ayarlandırıldıktan sonra modül çalıştırılabilir. Modül çalıştırıldığında mevcut kullanıcının sysadmin rolüne sahip olmadığı, ancak IMPERSONATE yetkisine sahip olduğu görülmektedir. Kimliğine bürünülebilecek (IMPERSONATE edilebilecek) kullanıcılar listelendiğinde ise, “sa” adlı kullanıcının sysadmin sunucu rolüne sahip olduğu görülmüş ve bu kullanıcı hakları ile “Test” kullanıcı hesabına da aynı rol verilmiştir.

escalating-privileges-on-ms-sql-database-by-exploiting-impersonate-privilege-via-msf-mssql-escalate-execute-as-auxiliary-module-06

Not: Bazı durumlarda, modülün birden fazla kere çalıştırılması gerekebilmektedir.

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-msf-mssql-escalate-execute-as-auxiliary-module-07

 

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.