HackTheBox : Beep Çözümü (Türkçe Detaylı Anlatım)

HackTheBox, isteyenlerin sızma testi becerilerini geliştirmek için kullanabildiği bir çevrimiçi platform. Bu sayfa hazırlanırken https://www.hackthebox.eu sisteminde istismar edilmeye çalışılabilecek 155 farklı makina bulunuyordu.

En kolaydan başlayıp “Insane” seviyesine kadar zorluk derecelerine sahip ve “Windows, Linux, FreeBSD, Android, Solaris, Diğer” şeklinde sınıflandırılmış sistemler mevcut.

Buradaki sistemlerin bir kısmı gerçek hayatı simüle ederken bir kısmı ise daha çok CTF tarzında hazırlanmış.

Her durumda amaç aynı: Hedef sisteme sızmak ve user.txt ile root.txt’yi ele geçirmek.

Beep, 10.10.10.7 IP adresinde yer alıyor. Hackthebox makinalarından emekliye ayrılmış ve kolay kategorisinde işaretlenmiş.

Aşağıda bu sistemi ele geçirmek için gerekli çözüm yolunu ekran görüntüleri ve detaylı açıklamalar ile birlikte bulabilirsiniz.

Az sonra görüleceği gibi Beep isimli makina üzerinde çalışan çok sayıda açık port ve servis mevcut bu nedenle doğru gidiş yolunu ve sistemin nasıl ele geçirilebileceğini bulmak biraz zaman alıyor.

Çok farklı saldırı vektörü belirlenebilir ve Beep’i çözmeye çalışanlar sisteme birden fazla giriş yolu bulunduğunu da fark edecektir.

Basit seviye bir Linux bilgisi gerektiren Beep çözümünde port ve servisler için bilgi toplama (enumeration) aşaması büyük önem taşıyor. Ayrıca daha önce kayıt altına alınmış yani bilinen zafiyetlerin tespiti ve incelenmesi sonucu gidiş yolunu bulmak ve bu şekilde sistemi istismar etmek gerekiyor.

Walkthrough (adım adım çözümleme) olarak hazırlanmış olan dokümanlarda tek bir gidiş yoluna yer verilmiştir ancak burada gösterilmekte olandan farklı çözüm yolları olabilir.

Beep – Network Scan

İlk adımda yapmamız gereken Beep yani hedef sistem hakkında olabildiğince fazla bilgi toplamak.

Ağda açık olan portları ve bu portlar üzerinde neyin çalıştığını görmek için nmap (Network Mapper) isimli ücretsiz ve açık kaynak bir program kullanıyoruz. Kali Linux üzerinde yüklü gelen bu program yalnız port ve servis bilgisi değil işletim sistemi, versiyon bilgileri, hedefte bulunan firewall bilgileri gibi daha birçok işimize yarayacak bilgiyi sağlıyor.

Nmap taraması için bizim kullandığım komut:

nmap -A -T4 -p- 10.10.10.7

Ek bilgi: nmap –help komutu ile görebileceğiniz gibi kullanmış olduğumuz komutlar aşağıdaki işlemleri gerçekleştiriyor:
-A: İşletim sistemi, versiyon bilgisi edinme, script taraması ve traceroute bilgilerini almak için kullanılıyor.
-T: -T4 olarak belirtmiş olduğumuz komut tarama hızı belirlemek için kullanılıyor. 0 ile 5 arasında belirtilebilen bu rakam için biz genellikle 4 tercih ediyoruz.
-p-: Tek bir port taraması değil de 65536 portun tamamının taramasının yapılmasını istediğimiz için -p- olarak yazıyoruz.
10.10.10.7: Hedef sistemin (Beep) IP adresi.


Çoğu kişi nmap taramasında farklı komutlar kullanarak tarama sonuçlarında kendi istediği şekilde çıktı alıyor.

Nmap hakkında daha detaylı bilgi almak isterseniz https://tools.kali.org/information-gathering/nmap adresini ziyaret edebilirsiniz.

nmap tarama sonucu:

HackTheBox Beep Nmap Tarama Sonucu

Beep üzerinde açık bulduğumuz portlar ve üzerinde çalışan servisler:

22/tcp    open  ssh        OpenSSH 4.3 (protocol 2.0)

25/tcp    open  smtp       Postfix smtpd

80/tcp    open  http       Apache httpd 2.2.3

110/tcp   open  pop3       Cyrus pop3d 2.3.7-Invoca-RPM-2.3.7-7.el5_6.4

111/tcp   open  rpcbind    2 (RPC #100000)

143/tcp   open  imap       Cyrus imapd 2.3.7-Invoca-RPM-2.3.7-7.el5_6.4

443/tcp   open  ssl/https?

878/tcp   open  status     1 (RPC #100024)

993/tcp   open  ssl/imap   Cyrus imapd

995/tcp   open  pop3       Cyrus pop3d

3306/tcp  open  mysql      MySQL (unauthorized)

4190/tcp  open  sieve      Cyrus timsieved 2.3.7-Invoca-RPM-2.3.7-7.el5_6.4 (included w/cyrus imap)

4445/tcp  open  upnotifyp?

4559/tcp  open  hylafax    HylaFAX 4.3.10

5038/tcp  open  asterisk   Asterisk Call Manager 1.1

10000/tcp open  http       MiniServ 1.570 (Webmin httpd)

Görüldüğü gibi toplam 16 port açık. Nereden başlayacağına karar vermek bu nedenle ilk etapta zor gelebilir.

Benim bu sonuçlardan genellikle ilk olarak ilgimi çeken 80 ve 443 portları oluyor ancak daha fazla bilgi toplamak üzere enumeration aşamasına devam ediyorum.

Beep – Dizin taraması

İlk adımda olduğu gibi amacımız hedef hakkında mümkün olduğunca fazla bilgi toplamak. Bu nedenle saldıracağımız sistem üzerinde bir de dizin taraması yapmak istiyoruz. Bunun için kullanılabilecek birçok araç var.

Benim favorilerim ise dirb ve dirbuster.

dirb ile dizin taraması yapmak isterseniz komut oldukça basit:

dirb http://10.10.10.7

Dirbuster Kullanımı

dirbuster kullanımı ise biraz daha meşakkatli olmakla birlikte mutlaka tavsiye edilebilecek bir araç.

Kali’deki komut satırına dirbuster yazıp enter’a bastığımızda dirbuster ekranı açılıyor.

Yapmamız gereken birkaç işlem var:

Öncelikle Target URL kısmına hedef bilgilerini ve tarama yapılacak portu belirtmemiz isteniyor.

Tarayıcıda açtığımızda sayfanın https olduğunu görmüştük, bu nedenle 443 numaralı portu seçmemiz gerektiğini biliyoruz. Eğer http olsaydı bu defa 80 numaralı portu belirtecektik.

https://10.10.10.7:443/ bilgisi Target URL kısmına girildikten sonra hemen altta yer alan Go Faster seçeneğine de tıklayarak hızlı tarama yapmasını istediğimizi belirtiyoruz.

Sıra geldi tarama yapılırken kullanılacak olan kelime listesini seçmeye. Bu listeler “wordlists” altında tanımlı olarak geliyor. Ulaşmak için ise “browse”a tıkladıktan sonra aşağıdaki resimde görülebilen yolu takip etmek gerekiyor:

OWASP Dirbuster Kullanımı

/usr/share/wordlists/dirbuster klasörü altında farklı seçeneklerimiz var. Ben genellikle medium olanı tercih ediyorum ancak kişisel tercihe göre değişebilir, örneğin daha hızlı bir tarama için small.txt seçilebilir.

Burada bir başka önemli nokta ise “file extension” kısmı. Beep için 80 ve 443 portları üzerinde Apache server olduğunu nmap taraması ile öğrenmiştim. Eğer Apache değil Windows olsaydı “php” yerine “html” uzantısı aramam ve bu değişikliği yukarıda php yazan yere html yazarak yapmam gerekecekti.

Ek Bilgi: File extension kısmına farklı bilgiler direrek (zip,rar,doc,xls,bak vb) bilgiler girerek arama yaptırabiliyoruz (ancak bu işlemin süresini oldukça uzatıyor).

OWASP Dirbuster Sonuçları

Dirbuster sonuçları da nmap taramasında olduğu gibi “evlere şenlik”.

92 dizin ve 171 dosya bulduğu esnada çalışmasını durdurdum. Elde ettiğim bilgiler şunu gösteriyor: Birçok içerik yönetim sistemi ve açık kaynak uygulama mevcut ve bunlar üzerindeki zafiyetleri araştırarak sistemi ele geçirmeye çalışabilirim.

Beep – Web sayfası hakkında bilgi edinme

Web sayfasını görebilmek için tarayıcıya gidip adres çubuğuna hedef sistemin IP adresini (10.10.10.7) yazıyorum ve karşıma Elastix isimli bir modülün giriş ekranı çıkıyor:

Böylece enumeration yani bilgi toplama aşamasında bir bilgi daha elde ettim: Sayfada “Elastix” çalışıyor.

Elastix’in ne olduğunu Google’dan araştırdım ve genel anlamıyla işletme içi dahili iletişim sağlayan bir sistem olduğunu öğrendim (https://www.elastix.org/).

Ayrıca Google araştırması yaparken bu sistemde bulunan zafiyetlere ve istismar kodlarına da baktım:

Elastix Exploit için Google Sonuçları

İlk sırada yer alan exploit yani istismar FreePBX 2.10.0 / Elastix 2.2.0 – Remote Code Execution.

Remote Code Execution uzaktan komut çalıştırmaya yaradığı için en sevdiğimiz istismar kodumuz olmaya aday ancak indirip kullanmadan önce açıklamasına bakıyor ve “Exploit Title: FreePBX / Elastix pre-authenticated remote code execution exploit.” cümlesini okuyoruz. Anlıyoruz ki pre-authenticated yani önceden kimlik doğrulama gerektiren bir exploit ile karşı karşıyayız fakat elimizde bu kimlik bilgileri (kullanıcı adı ve parola) yok.

Bu durumda yine ilk tepki olarak Google’dan “Elastix Default Credentials” araştırması yapılabilir ancak bulunabilen admin/admin, root/admin ve admin palosanto gibi daha bir çok varsayılan kimlik bilgisinin işe yaramadığını size vakit kaybettirmemek için hemen söyleyebilirim.

Arama sonuçlarında ikinci sırada çıkan “Elastix 2.2.0 – ‘graph.php’ Local File Inclusion” ise hayatımızı çok daha fazla kolaylaştırabilecek cinsten.

Beep – İstismar (EXPLOIT) Aşaması

https://www.exploit-db.com/exploits/37637 linkine tıklıyoruz.

İstismar açıklamalarına baktığımızda:

Elastix Exploit Açıklamaları

Anlıyoruz ki Elastix’de bulunan bir hata nedeniyle kullanıcıların girmiş olduğu veriler doğru şekilde saklanmıyor ve saldırganlar (bu durumda biz) bu zafiyetten faydalanarak dokümanları görüntüleyebiliyor.

Neden önemli? Çünkü kullanıcı adı ve parola bulmanın peşindeyiz ve kullanıcıların girmiş olduğu veriler içerisinde bunları bulmayı umuyoruz.

İstismar ile ilgili açıklamalarda biraz daha aşağı indiğimizde:

#LFI Exploit: /vtigercrm/graph.php?current_language=../../../../../../../..//etc/amportal.conf%00&module=Accounts&action

bilgisine erişiyoruz ve bunu tarayıcıya http://10.10.10.7 yanına yapıştırıyoruz.

Karşımıza karman çorman bir sayfa çıkıyor ancak ctrl+f ile “username” ve “password” araması yaptığımızda ulaşmak istediğimiz kullanıcı adı ve parola bilgilerine ulaşıyoruz:

Eğer bu karman çorman yazıların daha kolay okunabilir bir haline erişmek isterseniz sayfanın kaynak kodunu görüntüle (view page source) dediğimizde aşağıdaki görüntüye ulaşmak mümkün:

Artık elimizde kullanıcı adı ve parola bilgileri var.

Dilerseniz bu bilgileri tarayıcıda açılan kullanıcı giriş ekranında doğrulayabilirsiniz.

Kullanıcı adı ve parolayı yazdığımızda Elastix yönetici paneline giriş yapabildiğimizi görüyoruz:

Beep - Hackthebox - Elastix yönetici paneli

ALTERNATİF YÖNTEM:

Searchsploit Kullanımı

Searchsploit, Exploit-DB (istismar veritabanı diyebiliriz) içerisinde yer alan zafiyetlerin aramasını komut satırından yapabilmek için geliştirilmiş harika bir araç.

Üstelik kullanımı da çok kolay; sadece searchsploit ve aradığımız kelimeyi yazmak yeterli oluyor. (Daha detaylı bilgi için https://www.exploit-db.com/searchsploit linkine bakılabilir.)

Aşağıda görebileceğiniz gibi “searchsploit elastix” komutu ile Elastix ile alakalı zafiyetleri görüntüleyebiliyorum:

Beep - Hackthebox - searchsploit kullanımı

Aşağıdaki komut ile istismar kodunun özetine erişebiliyoruz:

searchsploit -x 37637.pl
Beep - Hackthebox - exploit kodu

Yukarıda görülebileceği gibi LFI (Local File Inclusion) istismar koduna bu şekilde de ulaşılabiliyor.

Böylece kullanıcı adının admin ve parolanın jEhdIekWmdjE olduğunu öğrendik.

Bildiğimiz gibi aynı kullanıcı adı ve parola birçok yerde farklı sistemler üzerinde kullanılabiliyor.

Nmap taramasında da port 22’de SSH’ın açık olduğunu görmüştük, parolayı denemeye buradan başlayabiliriz.

SSH’a Bağlanmak

SSH bağlantısı için kullanıcı adımı “root” olarak belirtiyorum ve  aşağıdaki komutu giriyorum:

ssh root@10.10.10.7 

ardından parola sorduğunda ise yukarıda bulmuş olduğum parolayı yapıştırıyorum.

Sonuç:

Beep - Hackthebox - ssh bağlantısı

Sisteme girmeyi başardık ancak emin olmadığınız durumlarda “whoami” komutunu kullanarak sorabilirsiniz:

Beep - Hackthebox - whoami komutu

Bundan sonra “pwd” komutu ile bulunduğumuz dizini görebilir, “ls” komutu ile bu dizinde yer alan dosyaları görüntüleyebiliriz.

Beep - Hackthebox - root.txt bayrağı

Hackthebox için almaya çalıştığımız flag (bayrak) root.txt altında.

İçeriğini görüntülemek için “cat” komutunu kullanıyoruz ve ilk bayrağımızı alıyoruz.

(Hatırlatma: Eğer bağlandığımız sistem bir Windows makinası olsaydı “ls” yerine “dir” ve “cat” yerine “type” komutlarını kullanacaktık.)

Root bayrağını aldıktan sonra ikinci hedefimiz user.txt’ye ulaşmak.

Buradan sonraki kısım dosyalar arasında gezinmek ve bayrak aramak olduğu için bu kısmı size bırakıyorum ancak kullanacağınız komutlar aşağıdaki gibi:

-pwd : bulunduğunuz dizini görmek

-ls : bulunduğunuz dizinde yer alan dosyaları görüntülemek

-cd : bir dizine geçiş yapmak

cd .. : bir üst dizine çıkmak

-cat: dosyanın içeriğini görüntülemek

Hackthebox makinalarından bir tanesi olan Beep için saklanmış olan bayrakları alabildik ancak her zaman bu kadar kolay olmuyor 😊

Bir başka Hackthebox Walkthrough’da görüşmek üzere!

Diğer makinaların çözümlerine https://sibersavascephesi.com/hackthebox/ adresinden ya da ana menüde yer alan “hackthebox” butonu altındaki başlıklardan ulaşabilirsiniz.

İlk yorum yapan olun

Bir yanıt bırakın

E-posta hesabınız yayımlanmayacak.


*