TryHackMe- Agent Sudo Çözümü

TryHackMe- Agent Sudo Çözümü

Herkese merhaba. Bu yazımda Tryhackme platformu içerisindeki “agent-sudo” zafiyetli makinesinin çözümünü anlatmaya çalışacağım.

Bu makineyi çözerken nmap, zip2john, burpsuite, steghide gibi araçlardan faydalanacağız. Agent-sudo zafiyetli makinesi basit seviyede bir makinedir. Bu makinede bizden istenilen şey;

  • Enumeration,
  • Brute force ile ftp şifresini elde etmek,
  • User flaglerini elde etmek,
  • Sudo haklarına sahip kullanıcıdan root kullanıcısına yükseltme yapmamız beklenmektedir.

Enumeration

Hedef IP adresi belli olduktan sonra hızlıca nmap ile açık olan portları kontrol edip, o portlar üzerinden yöntemler oluşturmaya çalışalım.

Hedef IP üzerinde agresif bir tarama başlatarak açık olan portları ve diğer detaylı bilgileri elde etmek için “nmap -T4 -A -v <hedef-ip>” sorgusunu çalıştırabiliriz. Sorgu sonucunda 3 tane portun 21/tcp, 80/tcp, 22/tcp portlarının açık olduğunu gözlemledik. 80 portu açık olduğu için bu tarayıcı üzerinden hedef ip adresine ulaşmaya çalışalım.

Karşımıza gelen ekranda “kendi kodunuzun kullanarak siteye erişebilirsiniz” uyarısı yer almaktadır. Peki bizim kod ismimiz nedir? Burada bir hint kullandığımı söyleyebilirim. Bu ipucunda user-agent’ın “C” olduğu bilgisi verilmektedir. Bu bilgiyi ancak web trafiğini durdurup kontrol ederek değiştirebiliriz. Bu işlemi de burp-suite ile gerçekleştirebiliriz.

Firefox üzerinden proxy ayarlarını yaptıktan sonra gelen talebi burp-suite aracı ile yakaladık. Burada “User-Agent:” satırındaki bilgileri silip “C” yazıp forward edebiliriz. Bu şekilde hedef ipye istenen codename ile ulaşmış olacağız.

Intercept’i kapatıp yeniden sayfayı yüklediğimizde yeni bir mesaj ile karşılaşmaktayız. Mesajda hitap edilen kişinin şifresinin zayıf olduğu ve değiştirmesi gerektiği söylenmektedir. Şifre zayıf bilgisini aldığımıza göre açık olan portlardan ftp için brute force deneyebiliriz.

Brute Force

Brute force için hydra aracını kullanabiliriz. Hydra oldukça kullanışlı ve güçlü bir araçtır. Şifresi zayıf olan kişinin ismini elde etmiştik. Bu kişinin şifresini elde etmek için rockyou.txt wordlistini kullanabiliriz. Brute force u başlattıktan kısa bir süre sonra şifresini elde edebildik. Şimdi bu kişinin bilgilerini kullanarak ftp yapalım.

FTP üzerinden başarılı bir şekilde giriş yaptık. Burada kısıtlı komutlar kullanabilmekteyiz. Burada 3 tane dosyaya ulaştık. Bu dosyaları detaylı incelemek için “get” komutunu kullanarak kendi sunucumuza çekebiliriz.

3 dosyayı da get ile kendi sunucumuza başarılı bir şekilde çekebildik.

Bu dosyalardan “To_agentJ.txt” yi cat ile görüntülediğimizde, 2 fotoğraf içerisinden birinin sahte olduğu ve gerçek fotoğrafta da giriş şifresinin gömülü olduğu bilgisi vardır. Dosyanın detaylı bilgilerine ulaşmak için “binwalk” aracından yararlanabiliriz.

Binwalk aracı öncesinde fotoğraflar için kullanılan steghide ve dosya bilgileri için kullanılan exiftool aracını kullandığımda herhangi bir bilgiye ulaşamadım. Binwalk ile her iki resim dosyasını incelediğimde ise zip dosyasına ulaşmaktayız. Bu zip dosyasını “binwalk cutie.png -e” komutu ile çıkarabiliriz.

Zipli dosyasının şifresini kırabilmek için “zip2john” aracından yararlanabiliriz. Bu dosyanın hash bilgilerini “hash.txt” dosyasına çıkarttım. Hash dosyası içerisindeki hash bilgilerini ise “john” aracı ile kırıp şifreyi elde edebildik. “To_agentR.txt” dosyasını görüntülediğimizde ise bu dosyadaki bilgilerin encrypt edilmiş bir kişiye gönderilmesi gerektiği yazmaktadır. Bu encrypt edilmiş hashin base64 olduğu sonucuna ulaştım.

Encrypt edilmiş veriyi base64 ten decode ederek çözdük. Artık geriye diğer jpg dosyasını steghide ile incelemek kalıyor.

Steghide aracı ile jpg dosyasındaki veriyi çıkardığımızda “message.txt” dosyasına ulaşmaktayız. Mesaja cat ile baktığımızda, ilgili kişinin ismi ve giriş şifresinin açık bir şekilde yazılmış olduğu görülmektedir. Bu bilgileri kullanarak ssh portundan giriş yapmayı deneyelim.

Başarılı bir şekilde ssh bağlantısını gerçekleştirdik ve “user.flag.txt” dosyasını ulaştık. Burada flag dosyasının hemen yanında bir jpg dosyası olduğunu da görmekteyiz. O dosyaya da yazının ilerleyen kısımlarında değineceğim.

Yetki Yükseltme

Kullanıcının host ismine baktığımızda kafamızda hemen “sudo” yetkilerine sahip olduğu fikri oluşmaktadır. Kullanıcının sahip olduğu izinlere “sudo -l” ile baktığımız zaman yeterli yetkiye sahip olmadığımızı görebilirsiniz. Sudo’nun versiyonuna da “sudo -V” ile baktığımız zaman “1.8.21p2” bilgisini görebilirsiniz.

https://cve.mitre.org/cve/search_cve_list.html sitesi üzerinden sudo versiyon bilgisini yazdığım zaman yukarıdaki bilgi dikkatimi çekti. 1.8.28 sürümünden önceki versiyonlar için bir açık olduğu ve saldırganların “sudo -u \#$(0xfffffff)” komutunu kullanarak yetki yükseltilebildiği bilgisi yer almaktadır. Ben biraz daha incelediğimde daha kısa bir komutunda yetki yükseltmede işe yaradığını gözlemledim.

“sudo -u#-1 /bin/bash” komutunu kullandığımızda da root yetkilerine ulaşabildik. “root” dizinine ilerleyelim.

Cat ile görüntülediğimizde flag bilgisine de başarılı bir şekilde ulaşabildik ve böylelikle agent-sudo makinesinin çözümünü tamamlamış olduk.

Ekstra

James kullanıcısı ile ssh yaptığımız zaman bir jpg dosyası görüntülemiştik. Bu jpg dosyasını burada hiçbir şekilde görüntüleyemediğimiz için kendi sunucumda çalıştırdığım “scp [email protected]:Alien_autospy.jpg” komutu ile dosyayı çekebildim.

Görseli açtığım zaman sadece bir uzaylı fotoğrafı olduğunu görüntüledim. Steghide ve farklı araç kullandığımda ise herhangi bir sonuca ulaşamadım. Yine bir hint kullanarak fotoğrafı reverse image kullanarak incelemem ve “foxnews” e bakmam isteniyordu.

Google üzerinde reverse image sitesi bulup dosyayı oraya yüklediğimde birçok sonuç listelendi. Benden istenilen “foxnews” e bakmamdı. Foxnews’e tıklayıp devam ettim.

“Fotoğraftaki olay nedir?” sorusunun cevabına bu sayfada ulaşmaktayız. Sorunun cevabı da “Roswell alien autospy” dır.

Related Posts

Leave a Reply