MSF mssql_escalate_execute_as Auxiliary Modülü ile MS SQL Veritabanındaki IMPERSONATE İzninin Kötüye Kullanılarak Hak Yükseltilmesi

0
139
views
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.

Pentist: Sızma Testleri ve Bilgi Güvenliği Danışmanlık Hizmetleri

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

 

Pentist: Sızma Testleri ve Bilgi Güvenliği Danışmanlık Hizmetleri

CEVAP VER

Yorumunuzu giriniz
İsminizi giriniz

Bu site, istenmeyenleri azaltmak için Akismet kullanıyor. Yorum verilerinizin nasıl işlendiği hakkında daha fazla bilgi edinin.