Powershell Betiği Kullanılarak MS16-032 Zafiyeti İle Hak Yükselme Saldırısının Gerçekleştirilmesi

0
1052
views
Windows sızma testleri sırasında standart haklar ile erişim sağlanabilmiş bir bilgisayarda, hak yükseltilerek yönetici hakları elde edilmeye çalışılır. Hak yükseltmek için kullanılan yöntemlerden birisi de işletim sistemindeki zafiyetlerin istismar edilmesidir. Bu yazıda Secondary Logon servisindeki MS16-032 adlı zafiyetin Powershell ile hazırlanmış bir kodu ile istismar edilerek, standart bir Windows kullanıcısının yetkilerinin SYSTEM hakkına yükseltilmesi incelenecektir.

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

Windows işletim sisteminde oturumu kapatmadan farklı bir kullanıcı olarak sistemde bir oturum elde etme veya komut çalıştırma ihtiyacı olabilir. Örneğin RUNAS komutu ile yetkili herhangi bir hesabın kimlik bilgileri ile oturum kapatılmadan komut çalıştırılabilir. Bu işlemin yapılmasını Secondary Logon servisi sağlar. Yani, Service Logon servisi ile yetkili herhangi bir token ile yeni bir proses oluşturulabilir. Ancak bu servisteki bir güvenlik açığı sebebi (talepleri düzgün bir şekilde ele alamaması dolayısı) ile standart bir token ile SYSTEM hesabı yetkileri ile yeni bir proses başlatılabilir.

Bu zafiyete ait istismar kodu exploit-db.com sayfasından indirilebilir.

https://www.exploit-db.com/exploits/39719

local-privilege-escalation-by-exploiting-ms16-032-vulnerability-via-powershell-script-01

 

Betik çalıştırılmadan önce standart bir kullanıcı ile oturum açılmıştır. Ayrıca Secondary Logon servisi çalışmamaktadır.

net user StandartHesap | findstr Local

local-privilege-escalation-by-exploiting-ms16-032-vulnerability-via-powershell-script-02

 

Bu kullanıcı ile hak yükseltme gerçekleştirmek için exploit-db’den indirilen kod çalıştırılacaktır.

cd .\Desktop
Import-Module .\39719.ps1

local-privilege-escalation-by-exploiting-ms16-032-vulnerability-via-powershell-script-03

 

Yukarıda görüldüğü gibi, Import-Module komutu çalıştırıldığında betiklerin çalıştırılamayacağı hatası alınabilir. Bu hatayı almamak için Powershell Execution Politikası ayarlanır.

Powershell.exe -ExecutionPolicy Unrestricted
Import-Module .\39719.ps1
Invoke-MS16-032

local-privilege-escalation-by-exploiting-ms16-032-vulnerability-via-powershell-script-04

 

Not: İstismarın gerçekleşmesi için işletim sisteminin en az 2 çekirdeği olmalıdır.

Not: Windows komut satırından tek bir komutla çalıştırmak için aşağıdaki gibi bir komut kullanılabilir.

Powershell -ExecutionPolicy Unrestricted -NoLogo -NoProfile -Command “Import-Module .\39719.ps1; Invoke-MS16-032”

Not: Meterpreter bağlantısı sağlayacak olan Powershell senaryolarında, komut satırından çıkış yapılmadan betiğin çalıştırılması gerekebilir.

Powershell -ExecutionPolicy Bypass -NoExit -File Betik.ps1

 

Böylece SYSTEM yetkileri ile çalışan yeni bir komut satırı açılır. Ayrıca Secondary Logon servisi otomatik olarak başlamıştır.

whoami

local-privilege-escalation-by-exploiting-ms16-032-vulnerability-via-powershell-script-05

 

Not: Powershell betiği çalıştırıldığında SYSTEM yetkileri ile çalışan cmd.exe başlatılmıştır. Eğer başka bir uygulamanın çalışması istenirse “C:\Windows\System32\cmd.exe” ile ifade edilen satırların güncellenmesi gerekmektedir.

 

Not: İstismar işlemi için Github üzerinde yüklü olan çalıştırılabilir dosya da yüklenebilir.

https://github.com/Meatballs1/ms16-032

 

Not: Meterpreter erişimi elde edilmişse, istirmar işlemi için MSF ms16_032_secondary_logon_handle_privesc hak yükseltme modülü de kullanılabilir.

Bu zafiyetten korunmak için Microsoft tarafından yama yayınlanmıştır.

https://technet.microsoft.com/en-us/library/security/ms16-032.aspx

 

Kaynak:

https://googleprojectzero.blogspot.com.tr/2016/03/exploiting-leaked-thread-handle.html
https://www.youtube.com/watch?v=74EKxv6KxAg

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.