[TR] TryHackMe — Retro Write-Up

Anıl Çelik
5 min readJun 30, 2020

--

Herkese merhaba, ben Anıl Çelik. Bu yazımda, sizlerle TryHackMe platformu üzerinde bulunan Retro isimli makinenin çözümünü paylaşacağım.

İlk olarak nmap taraması ile başlayalım:

Buradan görebileceğimiz gibi, makine üzerinde sadece 80 numaralı HTTP portu ve 3389 numaralı ve uzaktan bağlantı için kullanılmakta olan RDP (Remote Desktop Protocol) servisine ait port açık. Öncelikle HTTP servisi üzerinde enumeration işlemine başlayalım:

HTTP Servisini ziyaret ettiğimizde, IIS servisine ait varsayılan sayfayla karşılaşmaktayız. Burada başka bir şey yapmadan önce bulunduğumuz sayfanın kaynağını inceleyebiliriz ancak sayfa kaynağından da herhangi bir bilgi edememekteyiz. Bir sonraki deneme olarak, gobuster aracı ile bir dizin taraması yapabiliriz:

Tarama sonucumuzda “/retro” şeklinde gizli bir dizin olduğunu görüyoruz. Vakit kaybetmeden hemen bu dizini ziyaret edelim:

Dizini ziyaret ettiğimizde, bir blog sayfasıyla karşılaşmaktayız. Burada öncelikle web sayfasında ne tür teknolojilerin kullanıldığını görmek için Wappalyzer isimli browser eklentisinden faydalanalım:

Buradan görebileceğimiz gibi, sayfa içerisinde WordPress kullanılmakta. Bunun anlamı, WPScan aracını kullanarak bu WordPress sistem üzerinde bulunabilecek zafiyetlerin taramasını yapalım:

Taramamızı tamamladık ancak buradan işe yarar bir şey elde edemedik. Manuel olarak enumeration işlemine devam edelim. Siteyi incelediğimizde Wade isimli kullanıcı tarafından gönderilmiş olan birçok post olduğunu görebiliriz:

Öncelikle Wade isimli kullanıcının profilini inceleyelim, belki işe yarar bir şeyler elde edebiliriz:

Profil sayfasını incelediğimizde, yukarıda görüldüğü gibi ilgimizi çeken bir şey görmekteyiz. Wade isimli kullanıcı, Ready Player One isimli post içerisinde bir yorum yapmış. Yorumu inceleyelim:

Görünüşe göre Wade isimli kullanıcı kendisine burada “p*******” şeklinde bir not bırakmış. Bu bilgi Wade kullanıcısına ait WordPress Login şifresi olabilir. Bu bilgiyle giriş yapmaya çalışalım:

Düşüncemiz haksız çıkmadı :) Wade kullanıcısı ile giriş yapabildik. Burada sistem üzerinden shell alabilmek için izleyebileceğimiz iki çeşit yol var; birinci yol: giriş yapmış olduğumuz WordPress sistemi içerisinde bir PHP payload inject ederek sistem üzerinden reverse-shell alabiliriz, ikinci yol: sisteme RDP üzerinden bağlanmayı deneyebiliriz. İlk olarak birinci yoldan da gidebileceğimizi görüp sonrasında her zamankinden farklı olarak RDP üzerinden ilerlemeyi deneyelim:

Yukarıda görülen figürde, msfvenom aracı ile bir PHP Reverse Shell Payload oluşturdum. Sonrasında ise bu payload’u site içerisinde inject edebileceğimiz uygun bir yer bulalım. Payload’u yerleştirmek için Appearance -> Theme Editor -> 404 Template -> 404.php isimli dosyayı veya başka bir dosyayı kullanabiliriz:

MSFConsole üzerinden Multi Handler modülünü ayarladıktan sonra aşağıda görebileceğimiz gibi shell elde edebilmekteyiz:

İlk yolu gördüğümüze göre, şimdi aynı süreci tekrar RDP üzerinden ilerletmeyi deneyelim. RDP bağlantısını sağlamak için Remmina isimli aracı kullanacağız:

Burada tercihinize göre Connect veya Save and Connect butonuna tıklayabilirsiniz:

Bağlantıyı gerçekleştirdik. Görebileceğimiz gibi user.txt dosyası hemen masaüstünde duruyor:

Şimdi gelelim yetki yükseltme aşamasına. Yetkilerimizi yükseltmek için makinede biraz dolaştıktan sonra, Google Chrome içerisinde ve geçmişinde ilgi çekici bazı şeyler görebiliriz:

Görünüşe göre tarayıcı geçmişinde CVE-2019–1388 kodlu zafiyetin bir araması yapılmış. Bu zafiyetin ne olduğuna bir göz atalım:

Mitre üzerinden görebileceğimiz gibi, bu zafiyet Windows Sertifika Diyalog ekranında bulunan yanlış yetki yapılandırmalardan kaynaklanmakta olup, düşük yetkili bir kullanıcının yüksek yetkili kullanıcı yetkileriyle işlemler yapmasına olanak veriyor. Bu zafiyetin exploitation aşamasını detaylı görmek için buradaki linki ziyaret edebilirsiniz.

Exploitation time!

Geri Dönüşüm Kutusu’na göz attığımızda, silinmiş bir dosya olduğunu görüyoruz:

Bu dosyayı restore edelim ve açmaya çalışalım:

Gördüğümüz gibi, tam olarak yukarıda bahsetmiş olduğumuz zafiyetin tetiklenmesi için yerleştirilmiş bir dosyayla karşı karşıyayız. Bu zafiyeti exploit etmek için, öncelikle Show information about the publisher’s certificate butonuna tıklayalım:

Sertifikayı görüntülemek için buradaki linke tıklayalım:

Burada görebileceğimiz gibi bizden bir seçim yapmamız isteniyor ancak Internet Explorer veya Chrome gibi herhangi bir seçenek listelenmemekte ve bunun sebebi Windows 2016 içerisinde kasıtlı olarak etkinleştirilmiş bir bug’dan kaynaklanmakta. Burada ufak bir problem yaşadığımız için, başka bir şekilde ilerleyebiliriz. Öncelikle sistem üzerinde yetki yükseltmek için ne tür bir exploit kullanacağımızı tespit etmek için öncelikle sistem bilgilerine göz atalım:

Şimdi de bu OS Version’a uyumlu bir exploit olup olmadığını araştıralım:

Gördüğümüz gibi burada sahip olduğumuz OS Version’a uyumlu bir exploit bulduk. Şimdi bu exploit’i makineye aktarıp çalıştırmayı deneyelim:

Şimdi exploiti çalıştıralım:

Gördüğümüz gibi başarılı bir şekilde yetkilerimizi NT AUTHORITY\SYSTEM seviyesine yükselttik.

Bu makine ile ilgili sizlerle paylaşmak istediklerim bu kadardı. Yazımı okuduğunuz için teşekkür ederim.

Bir sonraki yazılarımda görüşmek üzere.

Kaynaklar:

--

--

Anıl Çelik
Anıl Çelik

No responses yet