Merhabalar merhabalar. Bu hafta da naçizane çözebildiğimiz bir makineyi daha yazalım dedik. Bu yazıda çözeceğimiz Chaos makinesi linux tabanlı orta zorlukta bir makine olarak verilmiş.

Tüm portlara, scriptleriyle falan, Allah ne verdiyse bir nmap taraması başlatalım

Çok kalabalık bir nmap çıktısı geldi. 80 portu açık olduğu için bir göz atalım.

Direkt olarak IP ile erişim kapatılmış. Makine IP adresini chaos.htb adresi ile eşleştirip tekrar erişim sağlamayı deneyelim.

/etc/hosts‘a ekleyip devam edelim.

Çıkan sayfanın her tarafını inceledim. Sonunda böyle bir mesajla karşılaştım.

Dediği gibi bomboş bir sayfadayız. Burayı salıp bir dizin taraması yapalım.

/wp dizini geldi, hemen ilerleyelim.

Oradan oraya, oradan oraya… /wp/wordpress dizinine ilerleyelim. Karşımıza bir tabanlı bir blog sayfası çıktı.

Blogda human isimli bir yazar tarafından yazılmış parola korumalı bir makale bulunuyor. Elle deneme yapmayan gururlu hackerlar, wordlist’leri toplayın bilader zabıta geldi. Parola ile ilgili elimizde bir ipucu olmayınca parola için de human deniyoruz.

Parola da human çıkınca makaleye erişebildik. Webmail için ayush:jiujitsu  olarak giriş bilgileri verilmiş. Hemen bir telnet bağlantısı ile pop3 üzerinden Dovecot mail servisine giriş yapmayı deneyelim.

telnet 10.10.10.120 110  komutuyla bağlantı kurup user ayush  komutuyla giriş yapmayı denediğimizde bağlantımız şifrelenmediği için giriş yapmayacağımız söylendi. Bu durumda openssl işimizi görebilir. openssl s_client -connect chaos.htb:993 -crlf  komutunu kullanarak şifreli bir bağlantı sağlayabiliriz fakat buradan sonrası biraz IMAP komutlarıyla haşır neşir olmayı gerektirdiğinden ben pek beceremedim. Çok da uzatmamak için mailleri görüntüleyebileceğim basit bir tool olan evolution aracını yükledim. apt-get install evolution

Uygulamaya chaos makinesini IMAP sunucusu tanımlayarak devam edelim.

 

Trafiğin de TLS ile şifrelenmesini isteyip ayush kullanıcısını verip devam edelim.

Parola aynı hocam, buyrun içeri girelim artık.

Ve sonunda maillere erişim sağladık. Gelen giden bir mail bulamadık fakat taslaklara kayıtlı bir mail bulduk. Mail içeriğinde sahay diye bir hanımefendiye en.py dosyasındaki script ile şifrelenmiş enim_msg.txt dosyası gönderilmeye çalışılmış ve “You are the password” denmiş demek ki parolamız da sayah. Falan filan derken korkulan oldu, kod yazmamız gerekecek. Kıvrana kıvrana en.py dosyasını açalım bakalım.

Mailde belirttiği gibi sadece encryption yaptığı algoritmayı eklemiş, bu koda göre bir decryption algoritması yazalım. Öncelikle ben de developer değilim, ufak tefek python anlıyoruz be abi. Encryption algoritmasına baka baka yazdık biz de.
Aynı zamanda şu linkteki blog yazısından faydalandım: https://nitratine.net/blog/post/encryption-and-decryption-in-python/#decrypting

Başlarken önce scriptte kullanılan modülleri import edelim.

Kullanılan modülleri import ettikten sonra şifrelemeye uygun olarak şifre çözen algoritmayı oluşturalım.

Nasipse bu arkadaş bu şifreyi bize çözdürecek. Son bir satır daha ekleyip decrypt fonksiyonunu kullanarak scripti tamamlıyorum.

Uzun sürdü ama şunu yazarken çok şey öğrendim. Scriptin en son hali aşağıdaki gibi oldu.

Şimdi bu kadar uğraştığımız scripti çalıştıralım ve decrypt edilmiş dosyamıza bakalım.

decrpyt ettikten sonra upuzun bir base64 geldi. base64 -d decryped_enim_msg.txt > elhamdulillah.txt  komutuyla çok seri decode edelim ve inceleyelim.

Pdf generate eden bir servisin linki gönderilmiş. Hemen göz atalım.

Sağını solunu kurcaladım, bi şey bulamayınca Almanya’dan gelmiş çikolata tadında BurpSuite‘i çıkaralım ve giden gelen isteklere bir göz atalım.

Pdf oluşturulurken gelen yanıtta servis adının pdfTex olduğunu gördüm. Belki bir zafiyet vardır diye göz atalım.

 

Şuradaki linkten bu serviste bir zafiyet olduğunu öğrendim: https://0day.work/hacking-with-latex/
\immediate\write18{command} şeklinde süslü parantezler arasında komut yazarak kısıtlamalara takılmadan sistemde komut çalıştırabiliriz. pentestmonkey.net kardeşimizin perl ile yazmış olduğu reverse shell scriptini bu süslü parantezler arasında gönderelim.

content parametresinde \immediate\write18{command} stilinde ve URL encode ederek scripti sunucuya gönderiyoruz. Aynı anda da netcat aracıyla dinlediğimizde shell düşürmüş oluyoruz.

 

python ile bash shell çağırıp devamında su ayush  komutu ile ayush kullanıcısına geçelim. Devamında ayush kullanıcısının dizinine geçmeye çalışırken fark ettik ki rbash (kısıtlanmış bash) içerisindeyiz, cd  komutunu kullandırmıyor. O zaman rbash escape metotlarından birini deneyelim.

Ne yaptıysam bash ile beceremedim tekrar shell alıp sh çağırdım ve tekrar rbash escape denedim. Neden böyle oldu anlamadım.

su ayush  yerine su - ayush  kullanınca $PATH, $SHELL gibi değikenler yüklenmediği ve böylelikle shell ortamını değil sadece kullanıcıyı değiştirmemizi sağladığı için rbash bypass edilmiş oldu. Artık /bin klasörü altından komutları çekebiliriz.

/bin/cat user.txt  komutuyla user.txt dosyasını okuyup PATH’i yerine oturtalım. PATH değişkenini yerine oturtmak için export PATH=/bin:/usr/bin:$PATH  komutunu kullanabiliriz.

Yetki yükseltme aşaması için makineyi incelemeye başlayalım. Öncelikle user.txt ile aynı dizinde bulduğumuz mail klasörüne bakalım

mail klasöründe bir şey bulamayınca gizli klasörlere göz attık. mozilla klasörü dikkatimi çekti.

firefox klasörü içerisinde belki işe yarar bir şeyler var diye kendi makinemize çekelim.
firefox klasörü içerisinde python -m SimpleHTTPServer 8000  komutuyla servis edip kendi makinemizden wget --recursive --no-parent http://10.10.10.120:8000  komutuyla çekelim.

Makinemize çektikten sonra klasörlere göz atalım.

Firefox’ta kayıtlı parolalar nerede tutulur diye bir araştırdığımda logins.json dosyasında encrypt edilmiş halde tutulduğunu öğrendim.
Hızlıca kendi makinemdeki firefox dosyalarını ayush kardeşiminkilerle değiştiriyorum. Sadece json dosyasını değiştirmek maalesef işe yaramadığı için bu yolu izledim.
Dosyaları değiştirdikten sonra Firefox’u açıp kayıtlı parolaları görüntülemeye çalıştım.

Kayıtlı parolalar bir ana parola ile korunuyor. “Parola acaba nedir?” diye bir saniye bile düşünmeden jiujitsu parolasını deniyoruz.

Tertemiz bir şekilde Webmin servisine giriş yaparken kullandığı root parolasını elde etmiş olduk.

root:Thiv8wrej~  bilgileriyle root olduktan sonra root.txt okuyabiliriz.

Okuduğunuz için teşekkürler. Sorularınız için bilalkan.com/contact

Tags: