CTF: TryHackMe FowSniff Çözümü

Bu yazıda TryHackMe platformundaki FowSniff CTF’ini  (Vip Abonelere özel) çözeceğiz. Öncelikle nmap taraması gerçekleştiriyoruz:

nmap -sV -sS 10.10.252.155

22,80,110,143 portlarında sırasıyla ssh http pop3 ve imap servislerinin çalıştığını öğrendik. 80 portunun http ile çalıştığını görünce adresi tarayıcıya yazdık.

Çıkan sayfanın kaynak kodunda ilgi çekici bir şey farketmedik ve sıradan bir sayfa olduğunu gördük. Dirb ve benzeri araçlardan da bir şey çıkmadı. Daha sonra sayfaya geri döndüğümüzde bir twitter hesabı farkediyoruz.

Hesapta sabitlenmiş bir pastebin linki bulduk ve açtığımızda şirketin bazı parolalarının ifşa edildiği bir text ile karşılaştık.

Hashlerden birini hash analyzer ile analiz edince md5 ile şifrelendiklerini öğrendik

ve hashcracker ile çözülmüş hallerini bulduk.

ssh ile kullanıcıları bu parolalarla bağlamayı denedik ama hiçbiri bağlanmadı. Daha sonra pop3 ve imap protokollerini ve zafiyetlerini araştırınca metasploit’teki pop3 login tarayıcısı ile  diğer seçenek de hydra kullanarak dictionary attack (sözlük saldırısı) yaparak kullanıcı adı ve parolayı öğrenebileceğimizi gördük. Şimdi iki yöntemi de kullanarak giriş bilgilerini elde edeceğiz. Baştan belirteyim bu kısımda hydra kullanmak  bizi sonuca daha hızlı götürecektir.

Hydra ile Dictionary Attack

Saldırıya başlamadan önce bulduğumuz kullanıcı adlarını ve parolaları saldırı aşamasında wordlist olarak kullanabilmek için masaüstüne kaydettik.

hydra -L /home/fatih/Desktop/fowsniff_users.txt -P /home/fatih/Desktop/fowsniff_pass.txt pop3://10.10.252.155

-L kullanıcı adı wordlist’ini vermek için kullandığımız parametre

-P parola wordlist’ini vermek için kullandığımız parametre

komutu ile kullanıcı adını “seina” parolayı “scoobydoo2”  olarak bulduk.

 

Metasploit ile Dictionary Attack

msfconsole ile metasploiti çalıştırdıktan sonra

search:name pop3

komutu ile isim taraması yapıyoruz.

use auxiliary/scanner/pop3/pop3_login

komutu ile seçimimizi yaptık ve show options ile vermemiz gereken ayarlara baktık. Gereken ayarlara yine masaüstünde oluşturduğumuz wordlist’leri verdikten sonra run ile çalıştırıyoruz.

Bu yöntemi kullanarak da kullanıcı adını “seina” parolayı “scoobydoo2” bulduk.

Şimdi pop3 mail sunucusuna bağlanmak için bu kullanıcı adını ve parolayı kullanacağız. telnet yardımıyla bu bağlantıyı gerçekleştireceğiz.

telnet 10.10.252.155 110

USER seina ile kullanıcı adını

PASS scoobydoo2 ile parolayı yazarak giriş yaptık

LIST komutu ile mesajları listeledik ve karşımıza 2 mesaj çıktı.

2 mesajı da RETR komutuyla açıyoruz.

“S1ck3nBluff+secureshell” parolasını kullanarak sunucuya ssh bağlantısı yapılabildiği söylenmiş.

hydra aracıyla önceden hazırladığımız kullanıcı adı wordlisti ve bu parolayı kullanarak ssh bağlantısı için dictionary attack (sözlük saldırısı) yaptık.

ve kullanıcı adını “baksteen” olarak bulduk.

Artık ssh bağlantımızı “Baksteen:S1ck3nBluff” kullanarak sağlayabiliriz.

ssh baksteen@10.10.21.160

komutu ve ardından parolayı girerek bağlantıyı yaptık.

Dosyalar arasında gezindik bulduğumuz birkaç txt dosyasını cat ile okuduk ancak ilginç bir şey fark etmedik.

uname komutunu -a parametresi ile kullanarak sistem hakkında bütün bilgileri öğreniyoruz.

yeni bir terminal açıp

searchsploit ile 4.4.0-116 sürümünü aradık ve local privilege escalation (yerel yetki yükseltme?) zafiyeti için c ile yazılmış bir exploit bulduk.

searchsploit 4.4.0-116

gcc komutuyla yüklü olup olmadığını kontrol ettik ve yüklü olmadığını gördük.

Bu yüzden direkt hedef makinede çalıştırmak yerine önce kendi makinemizde çalıştırıp sonra exploiti hedef makineye aktaracağız. Hedef makinede çalıştırabilmek için önce baksteen kullanıcısının olduğu grubu ve grubun erişebildiği dosyaları bulacağız.

Grubumuzu groups komutuyla “users” olarak öğrendik.

find / -group users 2>/dev/null

komutu ile users grubunun erişebildiği/çalıştırabildiği dosyaları aradık ve /opt/cube/cube.sh scripti ile karşılaştık.

cat komutu ile okuduğumuzda ekrana yazı yazan bir script olduğunu gördük.

Bulduğumuz exploiti cube.sh’ı değiştirerek makine içinde kullanacağız. Yeni bir terminal açtıktan sonra

gcc /usr/share/exploitdb/exploits/Linux/local/44298.c -o cube.sh

komutu ile çalıştırıp

ccp cube.sh baksteen@10.10.48.161:/opt/cube

komutu ile hedef makinenin /opt/cube dizinine gönderip erişim sağlayabildiğimiz cube.sh’ın içeriğini çalıştırdığımız exploit ile değiştirdik.

tekrar ssh bağlantısı yaptığımız terminale döndük ve /opt/cube dizinine girdik.

./cube.sh çalıştırıyoruz ve root erişimini elde ediyoruz.

Son olarak /root dizinine gidip bayrağımızı kapıyoruz. Bir sonraki CTF’te görüşmek üzere 🙂

 

 

About The Author

Reply