Try Hack Me ‘de bulunan Overpass odasının çözümünü anlatacağım.
Açıkçası mükemmel bir ticari başarı!
Bu kutuda gizli bir TryHackMe abonelik kodu var. Onu bulup etkinleştiren ilk kişi bir aylık ücretsiz abonelik kazanacak! Zaten abonesiyseniz, kodu neden bir arkadaşınıza vermiyorsunuz?
GÜNCELLEME: Kod artık talep edildi.
Makine 2020/09/25 tarihinde biraz değiştirildi. Bu yalnızca makinenin performansını artırmak içindi. Süreci etkilemez.)
Burada bize odanın hikayesinde bahsetmiş daha sonra root.txt ve user.txt flag değerlerini bizden istemektedir. Hedef makineyi deploy edip başlıyoruz.
İlk olarak hedef makineyi tanımak için nmap taramasını gerçekleştirdim.
sudo nmap -A 10.10.188.59
ssh ve http portunun açık olduğunu öğrendim. Hemen internet tarayıcımdan hedef ip adresine giriş gerçekleştirdim ve karşıma;
Burada overpass uygulaması hakkında bilgi veriyor.
web sitesini incelemeden önce gobuster taramasını da gerçekleştiriyorum.
gizli dizinleri keşif ettik.
Web sitesi üzerinde araştırma yapıyorum ilk olarak sayfa kaynağına bakarak elde edebileceğim ipuçlarına bakıyorum.
/main.css kaynak kodlarını inceledik işimize yarayacak pek bir şey bulamadık.
/aboutus dizinine baktık bu arada inceleme yaptık pek bir şey elde edemedik.
/admin dizinine baktım admin giriş paneline benziyordu sqli zafiyeti denedim en çok kullanılan admin- admin, admin- password denemelerim boşa çıkt 🙂
sayfanın kaynak koduna baktım.
farklı javascritplere ulaştım
main.js inceleyince;
login.js;
Burada owasp top 10 da bulunan Broken Authentication zafiyetini görüyorum. Broken Authentication zafiyeti kimlik doğrulamasında fonksiyonların yanlış uygulaması spunucunda ortaya çıkar burada session token girdiğimiz anda bizi içeri almasını için ayarlanmış cookie editör eklentisi ile cookie değeri girmeye çalışacağım (cookie editör firefox, chrome gibi tarayıcışarda cookie eklememiz değiştirmemize yardımcı olan bir eklentidir.)
kayıt edip sayfayı yeniliyorum.
(Overpass Yöneticisi alanına hoş geldiniz
Windows, Linux, MacOS ve daha fazlasını destekleyen güvenli bir şifre yöneticisi
Sürekli şifreni unuttuğuna göre James, senin için SSH anahtarları ayarladım.
Bunun şifresini unutursanız, kendiniz kırın. Senin için bir şeyler tamir etmekten bıktım.
Ayrıca, bu “Askeri Sınıf” şifreleme hakkında gerçekten konuşmamız gerekiyor. – Paradoks)
görüldüğü gibi bize James kullanıcısı adına bir RSA keyi vermektedir bunu kullanrak ssh bağlantısını sağlayabiliriz.
elde ettiğimiz key değerini nano editörü sayesinde içerisinde kaydediyoruz.
ssh bağlantısını gerçekleştiriyoruz.
başarılı bağlantı gerçekleştiremedik rsa_id parolasını istiyor ve bunun hakkında bir bilgimiz yok john yardımıyla bulmaya çalışacağız.
ssh2john yarıdımyla jhın aracının ssh keyini bulabilmesi için uygun dosyaya dönüştürüyoruz.
daha sonra john yardımıyla bulmaya çalışıyoruz.
james13 olarak parolayı bulduk hemen ssh bağlantımızı gerçekleştiriyoruz.
başarılı bir şekilde bağlantımızı gerçekleştirdik.
burada dizinlere gezinip user.txt okuyabiliriz.
user.txt flag değerimizi girdik.
biraz dizinlerde gezinmeye çalışıyoruz vermiş olduğu ipucuları bulmaya çalışıyoruz.
görüldüğü gibi kullanıcı kısıtlı haklara sahip. Şimdi root yetkisine yükselip root dizinine erişip root.txt dosyasını okumalıyız.
burada bize sudo parolasını sormaktadır maalesef yine bilmiyoruz 🙂
cat /etc/crontab
komutunu çalıştırarak Curl, root tarafından kullanıldığından, bir şekilde onu kullanırsak, root erişimini elde edebiliriz. curl tarafından bağlantıyı sağlayabilmek için /etc/hosts altında kendi makinemizin ip adresini yazmalıyız.
host dosyanı ayarladıktan sonra kali makinemde bağlantıyı sağlayabilmek için /downloads/src/buildscript.sh altına reverse Shell oluşturuyorum.
yazmış olduğumuz revers Shell çalıştırma yetkisini veriyoruz.
Ardından http sunucumuzu 80 numaralı bağlantı noktasından başlatır ve bir bağlantının olmasını bekliyoruz
şimdi erişimi elde ettiğim makineye gelip yazmış olduğum bash scriotine bağlantı gerçekleştiriyorum.
bash üzerinde komut çalıştırabiliyorum whoami komutuyla root olduğumu görebiliyorum. root dizinine erişip root.txt okuyabiliyoruz.