SickOs 1.1 adlı zafiyetli makinemizin ip adresini bularak işe koyulalım.
netdiscover aracını kullanarak hedef ip adresini bulalım.
Zafiyetli ip adresimizi bulduktan sonra üzerinde çalışan servislere bir bakalım, nmap taraması ile daha fazla bilgi edinelim.
Tarama sonucunda ise resimde görüldüğü üzere 22 ve 3128 nolu portların açık olduğunu görüyoruz.
3128. portta çalışan servisin hakkında biraz araştırma yapalım. “Squid http proxy” üzerine araştırmalar sonucunda metasploit içinde bir yardımcı modülün bulunduğunu, bu modül ile proxy üzerinden çalışan servisleri tespit edebileceğimizi öğrendik.
https://www.rapid7.com/db/modules/auxiliary/scanner/http/squid_pivot_scanning
“use auxiliary/scanner/http/squid_pivot_scanning” komutu ile yardımcı modülü seçtik. “show options” ile ayarlarına bir bakalım. Gerekli parametreleri veriyoruz. RANGE, RPORT ve RHOSTS.
Gerekli ayarlamaları yaptıktan sonra “run” komutu ile modülü çalıştırıyoruz. 80. portun açık olduğu bilgisini öğrendik. Ama tarayıcı üzerinden erişemiyoruz. Proxy ayarlarını yapmamız gerekiyor.
Proxy üzerinden erişim sağlayarak sayfayı görüntülüyoruz.
Nikto ile tarama yapalım. Ancak tarama yapmamız için “–useproxy” parametresi ile proxy’i vermemiz gerekiyor.
Nikto tarama sonucunda “.bash_history” dosyanın okunabildiğini ve shellshock zafiyetinin olduğunu söylüyor.
dirb aracı ile birde dizinleri tarayalım.
dirb aracını kullanırken “-p” parametresi ile proxy’i veriyoruz.
robots.txt dosyasına bir göz atalım.
/wolfcms dizinine geçelim. Karşımızda bir wolfcms altyapısını kullanan bir site geliyor. İnternette ufak bir araştırma ile admin paneline giriş yolunun “?admin” olduğunu bulunuyoruz.
username olarak “admin” ve password olarakta “admin” yazarak giriş yapmayı deniyoruz.
Sayfada biraz dolaştıktan sonra “Files” menüsü altında dosya yükleyebileceğimiz bir yer ile karşılaşıyoruz.
Msfvenom aracı ile shell oluşturup atmayı deneyelim.
Oluşturduğumuz reverse shell’i siteye yükleyelim. Ardından metasploit ile dinleme moduna geçelim.
Bunun için “multi/handler’i” kullanacağız. paylad olarak ise “php/meterpreter/reverse_tcp” kullandık.
Dinleme moduna geçtikten sonra yüklediğimiz shell’i görüntüleyince meterpreter oturumuna düşünüyoruz.
“shell” komutu ile shell’e düşelim. config.php dosyasını okuyalım.
config.php dosyasında username ve password bilgilerini bir yere kaydedip devam edelim. “etc/passwd” dosyasınıda okuyalim.
“sickos” adlı bir kullanıcının olduğunu görüyoruz. Nmap taraması sonucundan ssh servisinin açık olduğunu biliyoruz. ssh ile bağlantı kurmaya çalışalım. config.php dosyasından elde ettiğimiz bilgiler ile giriş yapmaya çalıştığımızda bağlantı kuramıyoruz.
Passwd dosyasında sickos adlı bir kullanıcı olduğunu görmüştük. Sickos kullanıcı ile bağlanmaya çalışalım birde.
parola olarak john@123 deneyelim.
sickos kullanıcı ile ssh bağlantısı gerçekleştirdik. “sudo su” ile root kullanıcısına geçiş yaptık. Açıklamada flag saklandığı yazıyordu. Root kullanıcısının dizininden flagı görüntülüyoruz.
Sanal makineyi bu adresten indirebilirsiniz.