Mr.Robot makinesinin açıklamasını okuduğumuzda 3 tane gizlenmiş flag bulmamız gerektiğini anlıyoruz. Başlangıç - Orta Seviye düzeyinde olduğu da açıklama kısmında belirtiliyor. Mr.Robot’u VirtualBox üzerinde çalıştırdıktan sonra, ağ üzerinde aldığı ip adresini bulmak için netdiscover aracı ile tarama işlemi gerçekleştiriyoruz.

netdiscover -i enp2s0 -r 192.168.0.0/24

      Bu tarama sonucunda alınan ip adresi 192.168.0.36 olarak görülüyor. Açık servisleri listelemek için detaylı bir nmap taraması yapıyoruz.

nmap -sV -sS -A -v -n -Pn -T4 192.168.0.36 

      22 numaralı port üzerinde SSH, 80 ve 443 üzerinde HTTP servislerinin çalıştığı görülmüştür. Tarayıcıdan 192.168.0.36 adresine gittimizde pek faydalı bir bilgi ile karşılaştığımız söylenemez. Bu yüzden dirb ve nikto araçlarını kullanarak daha fazla bilgi etmeyi hedefliyoruz.

dirb http://192.168.0.36

      Dirb ile dosya ve dizinleri araştırdıktan sonra uygulamanın wordpress bir altyapı üzerine kurulduğunu anlıyoruz. Aklımıza ilk gelen wpscan aracı ile kullanıcı isimleri elde etmeye çalışmak oldu. Elde edilen kullanıcı isimleri ile birlikte sözlük saldırısı gerçekleştirerek yönetim paneline giriş yapılabilir. Wordpress altyapısı ile çalışan blog uygulaması /0 dizini altında çalışıyor.

wpscan --url http://192.168.0.36/0 --enumerate u

      Bu işlem sonucu iki adet kullanıcı adı elde ettik. Bu kullanıcı isimlerini kullanarak sözlük saldırısı gerçekleştireceğiz. Harici bir kelime listesi kullanmayı düşünürken yine dirb taraması sonucu robots.txt dosyasının varlığı tespit edilmişti. Tarayıcıdan robots.txt dosyasına gidildiğinde bizim için hazırlanmış kelime listesi ile karşılaşıyoruz. Bunun yanı sıra Flag-1’i de unutmayalım. Aynı yerde key-1-of-3.txt olarak karşımıza çıkıyor.

      Flag-1’i ve sözlük dosyasını bulduktan sonra, panele giriş için wpscan aracı ile sözlük saldırısı gerçekleştireceğiz. Sözlük dosyasını incelediğimizde çok fazla tekrar eden kelime olduğunu ve işlem süresinin uzun olacağını öngörebiliyoruz. Bu adımda , basit bir linux komutu ile dosyayı olabildiğince sadeleştirilmiştir.

wpscan --url 192.168.0.36 --wordlist /home/ctrl/Downloads/fsocity.dic2 --username elliot

      Bu işlem sonucu elliot kullanıcısına ait parola ER28-0652 olarak bulunmuştur. Artık panele giriş yapıp standart bir wordpress uygulamasında kullanılan yöntem olarak zararlı kod yükleme işlemi gerçekleştirilecektir. Bunun için fiziksel sisteme reverse shell veren bir PHP kodu tercih edilmiştir. Wordpress teması editlendikten sonra reverse shell bağlantısı kurulmuştur.

      Sisteme deamon kullanıcısı olarak giriş yapılmıştır. /home/robot dizini altında key-2-of-3.txt dosyasında ikinci flag değeri bulunmaktadır. Fakat bu dosyayı okumaya yetkimiz henüz bulunmaktadır. Bu dosya robot kullanıcısına aittir ve robot kullancısının parolasının md5 hali, aynı dizindeki password.raw-md5 dosyasında yer almaktadır. Buradaki md5 hash değeri decrypt edildiğinde robot kullancısına ait parola abcdefghijklmnopqrstuvwxyz olarak bulunmuştur. Bu parola ile giriş yapmak için interactive bir kabuğa ihtiyaç duyulmaktadır. Bu kabuğu elde ettikten sonra sisteme robot kullanıcısı olarak giriş yapılmıştır. Kullanıcı yetkilerine sahip olduktan sonra, Flag-2 elde edilmiştir.

      Son flag’in root kullanıcı haklarıyla okunabileceğini tahmin etmek çok zor değil. Sistemde root olmak ya da bir şekilde root yetkileriyle komut çalıştırmak gerekiyor. İlk adım olarak sistemde suid bitli dosyaları çalıştırmaya yönelik bir arama gerçekleştiriyoruz.

find / -perm -u=s 2>/dev/null

      /usr/local/bin/ dizini altında nmap’i gördükten sonra içimiz artık rahatlıyor. Nmap’in bu sürümünde interactive modda, sistem üzerinden komut çalıştırılabildiğini biliyoruz. Nmap’e verilen suid bitinden dolayı artık root yetkisi ile komut çalıştırabileceğini de biliyoruz.

/usr/local/bin/nmap --interactive

      Bu sayede Flag-3 değerini de elde etmiş olduk.