Shocker Çözümü [HackTheBox]

Başlamadan önce;

CGI Nedir ?

Web sunucuları ile bu sunucuların dışındaki programlar arasında etkileşim, diğer deyişle ortak çalışma platformu oluşturmak için geliştirilmiş bir standarttır. CGI bir proglamlama dili değil, bir programdır. HTML kodu içerisinden çağrılan CGI programları, Web’in statik yapısına dinamik bir yapı kazandırmaktadır. Özetlenecek olursa CGI Web kullanıcılarının sunucu üzerinde belirlediğin programları çalıştırdığı bir arayüz programıdır.

CGI, Linux kernel kullanan sistemlerde bash komutlarını çalıştırmaya olanak sağlar. Shellshock zafiyeti, CGI üzerinden bash script kullanılarak bash komutlarının çalıştırılmasına olanak sağlar.

Makine IP: 10.10.10.56

Nmap:

a6f1c9c1741cfb3fcad62dcb9a9495e24e2e0201.png



80 portunda Apache çalıştığını görüntülüyoruz…



16981cf39ea8749d2fbafeb730f1181635aa2655.png



Dizin taraması yapmak için “gobuster” aracını kullanıyoruz.


0d409a3e9fc9873d0ae409b44141f49cd704a020.png



cgi-bin” dizini için 403 durum kodu döndüğünü görüyoruz.

image


Bu kez “gobuster” ile daha detaylı bir taramaya devam ediyoruz. sh ve pl dosyalarıda dahil edildi.

image


Yukardaki çıktıda sh,pl taraması yaptık. Ve “user.sh” diye bir dosyanın olduğunu görüntülüyoruz.

Burp kullanarak 127.0.0.1 üzerinden 10.10.10.56 IP’sine redirect ediyoruz.


d7b78cb310507e6734c64d8558eef7a54c9d259a.png



“cgi-bin” dizinine isteği yakalarak User-Agent bölümünü " () { :; } ; echo; echo “…” " şeklinde payloadı giriyoruz.

image


Burada zafiyete sebep olan bölüm User-Agent oluyor. Paketi “repeater” sekmesine gönderip dönen cevapta echo komutunun çalıştığını görüntülüyoruz.

image


Whoami içinde denediğimde de olumlu sonuç aldım.


b8a6f5a27a7963562f4670debac11ad113623cf3.png



“nc” ile reverse shell alıyoruz.

image


image


Shelly userı için oturum aldık.

“sudo –l” ile root yetkileri ile çalışan komutları görüntülüyoruz.


9aa840303b1303ce8a1c3ac7b49c88e939df4948.png



Perl root yetkileri ile çalıştığı için perl ile system komutunu kullanıp root yetkilerini elde edeceğiz. root.pl scripti içine system( ‘su root’) kodunu yazıyorum.

image


Perl ile çalıştırdığımda system içerisine yazdığım komut çalışıyor ve root oluyorum.
image


Kendime hatırlatma olarak yazdığım ve biryerde paylaşmadığım çözümü burada paylaşıyorum. Anlatımda eksiklikler olabilir. Forum kültürünü yıllar önce unutmuştum. Umarım burada eski tadı yakalayabiliriz :)
 
Moderatör tarafında düzenlendi:
Üst