Merhabalar bu yazımda Hackthebox Soccer Makine Çözümü sizler için paylaşacağım.
- Makine İsmi: Soccer
- Makine Oda Linki: https://app.hackthebox.com/machines/Soccer
- Makine Zorluğu: Başlangıç-Orta
1-İlk olarak nmap taraması yaparak başlıyorum. 3 port açık olduğunu tespit ettim, 22,80,9001. portlar açık.
2- Gobuster ile tarama çalıştım ama 301 yönlendirmesi gözüküyor. Siteyi ziyaret etmeye çalıştığımda soccer.htb alan adına yönlendiriyor.
Kendi hostumun içerisine ekleyerek düzenleme yapıyorum.
3- Makine ip adresi ve alan adını ekleyip CTRL +X yapıp Y enter yapıp çıkıyorum.
4- Tekrar taramaya yapıyorum ve sadece /tiny uzantısını tespit etti. Ziyaret ederek bakıyorum.
5- Beni Tiny file manager olarak login sayfası karşılıyor. Kodları ve google’da araştırma yaptım ama işe yarar bir şey bulamadım.
Farklı olarak default user ve password araştırmasını yaparak farklı bir yol izleyeceğim.
6- Araştırdığımda;
- admin
- admin@123
olarak user ve şifreyi buldum gidelim ve sitede deneyelim.
7- Evet giriş yaptık karşımızı Cpanel benzeri bir sunucu karşılıyor, buradan shell yükleyerek makine içerisine geçiş yapabiliriz.
Dikkatimi çeken tiny klasöründe 755 yetkisi var içerisine geçiş yaparak shell yükleme yapabileceğim dosya arayacağım.
8- Uploads klasörü içinde 0757 olarak yetki verilmiş. İçerisine geçiş yapıyorum ve shellimi yüklüyorum.
9- Sağ üst kısımdan uploads kısmına tıklayıp böyle bir upload alanı bizi karşılıyor.
Shell yüklemeden önce php-reverse-shell.php indirdiğinizde ip adresini ve port kısmını değiştirmeyi unutmayın.
Shell Linki: https://github.com/pentestmonkey/php-reverse-shell
İlginizi çekebilecek yazımız: Tryhackme Year of the Jellyfish Çözümü
10- Shelli açtım ve ip kısmına vpn ip adresini ve port kısmına 9001 olarak düzenleyip kaydedip, sunucuya yüklüyorum.
ncat -lvnp 9001 yazarakta geri gelecek bağlantıyı beklemeye başlıyorum.
11- Yükledikten sonra geri gelip shell üzerine tıklıyoruz ve open kısmına tıklayıp açtığımızda shell aktif hale gelecektir.
Bağlantı geldi.
python3 -c ‘import pty;pty.spawn(“/bin/bash”)’ yazarak bash kabuğuna geçtik.
Detaylı araştırma yaptım ama user.txt okuyamadım, araştırmada farklı bir alt alan adına rastladım bunu da host içerisine ekleyerek devam ediyorum.
12- sudo nano /etc/hosts açarak tekrardan yanına ekledim ve kaydedip çıktım.
Siteyi ziyaret ettiğimde kodlarda ve kayıt olup denemeler yaptığımda blind SQL İnjection rastladım. Bunu github içerisinde ki otomatik payload kullanarak sömürebiliriz.
13- nano exploitsqlmap.py yazınca karşımıza boş bir sayfa açılacak içerisine aşağıda ki link içerisinde ki payload kodlarının hepsini kopyalayıp yapıştırın.
En üst kısımda ki ws_server = “ws://soc-player.soccer.htb:9091” böyle değiştirin. 9091. port üzerinden websocket aracılığıyla direkt olarak veri tabanındaki kullanıcı verilerini çekeceğiz.
python3 exploitsqlmap.py yazıp çalıştırdığınızda direkt olarak böyle bir ekran karşılaması lazım.
https://rayhan0x01.github.io/ctf/2021/04/02/blind-sqli-over-websocket-automation.html
14- Aşağıda ki gibi veri tabanı verilerini çekmeye başlıyoruz. Sizin bir şeye basmanıza gerek yok payloadlar otomatik olarak yazılacak ve verileri yavaş yavaş gelmeye başlayacaktır.
sqlmap -u “http://localhost:8081/?id=1” –batch –dbs –threads=10
15- Evet 4 farklı veritabanı geldi. Veriler soccer_db olduğunu düşünüyorum, devam ediyoruz..
sqlmap -u “http://localhost:8081/?id=1” –batch -D soccer_db –dump –threads=10
Ben önceden makineyi çözdüğüm için zamandan kazanmak için hızlı geçiyorum.
16- Tablolar gelmişti. Account seçerek verileri çekmeye başlıyoruz.
Uzun sürdüğü için direkt db bilgilerini aşağıya bırakıyorum. SSH üzerinden player kullancısının içerisine geçiş yapıyoruz.
+——+——————-+———————-+———-+
| id | email | password | username |
+——+——————-+———————-+———-+
| 1324 | [email protected] | PlayerOftheMatch2022 | player |
+——+——————-+———————-+———-+
17- Terminale gelip aşağıdaki gibi yazıp devam ediyoruz.
- ssh [email protected]
- Şifre kısmına PlayerOftheMatch2022 yazarak devam edelim.
İlk bayrağı bulduk devam ediyoruz.
18- Linpeas üzerinden araştırdım ve dstat üzerinden yetki yükseltme yapabileceğimizi fark ettim.
- cd /usr/local/share/dstat
- nano dstat_siber.py
- İçerisine;
İp adresini kendi ip adresiniz ile değiştirin. CTRL +X ve Y enter yapıp çıkın.
19- Önce ncat -lvnp 9001 yazarak dinleme başlıyoruz.
daos /usr/bin/dstat –siber yazıp enter yaptık ve bağlantı aktif hale geldi.
20- Evet direkt olarak root içerisindeyiz. Root bayrağını da bularak Hackthebox Soccer Makine Çözümü yazımızın sonuna geldik.
Yeni yazılarda görüşmek üzere..