Popcorn Çözümü [HackTheBox]

Makine IP: 10.10.10.6

Nmap:
image

80 üzerinde bir Apache çalıştığını gördük.



image



Sayfada herhangi bir ipucu bulunmamakta, aramaya devam ediyoruz.

“Gobuster” ile dizin taraması yapıyoruz. (Burada da diğer komutlar gibi parametreler vs. gereksiz detaylar ile yazıyı şişirmek istemiyorum, komutlar ile ilgili detaylar google, man sayfalarında mevcut)

image

Burada /test , /torrent adlı dizinleri dikkatimizi çekiyor.

/test


3cbf169b6bf55fd2d8198be82ce8b428e50f74d0.png


PHP info sayfası açık bir şekilde bırakılmış. Sistem hakkında oldukça bilgi mevcut. Araştırmaya devam ediyoruz.


/torrent

image

Torrent için oluşturulmuş PHP dilinde kodlanmış bir script görüyoruz. Burada dikkatimizi upload bölümü çekiyor. Fakat dosya yüklemek için üye olmak gerekiyor. Üye olup torrent dosyası dışında birşey yüklenmediğini görüyoruz. Bunun yerine gerçekten bir torrent dosyası yükleyerek davranışını inceliyoruz.
af522b32ea4af74ad3a9d1c9fa85ac884f8f0d1e.png



Yüklediğimiz torrent için yeni bir panel açıyor. Burada da screenshot bölümünde png uzantılı dosya yükleyebileceğimizi görüyoruz. Şimdide burayı manipüle etmeye çalışacağız.

“msfvenom” aracı ile PHP dilinde reverse shell payloadımızı oluşturuyoruz.

image

Screenshot bölümüne bu oluşturduğumuz payloadı yükleyeceğiz. Fakat .png uzantılı dosya istediği için bunu Burp ile proxy yapıp değiştirerek atlatacağız.


5cf6c44dcd93e0a0fb0b374393baced5b36d4d50.png


İsteği yakalayıp filename bölümündeki .png uzantısını silip isteği gönderdiğimizde yüklendiğini dönen cevapta görüyoruz.


Peki bu attığımız php reverse shell nereye yüklendi? Shell alabilmek için tetiklememiz gerekiyor. Bu kez /torrent altında dizin taraması yapıyoruz.

image

PNG dosyalarının yüklendiği bölümü bulduk.


307b27b31f88f9fa0b286d4f97e1baf436b9408d.png


Tetiklemeden önce msfconsole üzerinden bir multihandler çalıştıralım.




image


(msfvenom oluştururken seçtiğimiz php payload ile buradaki payloadın aynı olması gerekiyor)


Tetiklediğimizde meterpreter oturumumuz geldi.



0f47ec50c365dace4f141be5e02297d4a3a51dab.png


Yetki Yükseltme


Dizin taraması yaparken /test dizininde PHP info sayfasının olduğunu görüntülemiştik.

image

Linux çekirdek sürümünün 2.6.31 olduğunu görüyoruz. Ayrıca komut satırından da bakabiliriz.


f4c3492b2ffb29596caeec59aaf181004b4cef81.png


2.6.31 sürümü için araştırma yaptığımızda yetki yükseltmek için exploit olduğunu görüyoruz.


image

Exploiti kendi makinemiz üzerinden hedefe taşıyacağız. Bunun için SimpleHTTPServer kullanıyoruz.

image

Hedef makinede wget bulunduğu için indirebiliyoruz. /tmp dizini tüm kullanıcılar için yetkili dizin olduğu için işlemlerimizi burada yapıyoruz.


7c148c4204bfb9c6e9f7c9ed4e1f125c8c8e1916.png


C dilinde yazılmış exploiti gcc kullanarak derliyip çalıştırma yetkisi veriyoruz.


image

Exploit sistem üzerinde parolası 12345 olan firefart adında root yetkilerine sahip bir kullanıcı oluşturuyor. SSH ile bağlanıyoruz.



image


Exploit için daha detaylı bilgiye Linux Kernel 2.6.22 < 3.9 - 'Dirty COW' 'PTRACE_POKEDATA' Race Condition Privilege Escalation (/etc/passwd Method) - Linux local Exploit 4 buradan bakabilirsiniz.
 
Moderatör tarafında düzenlendi:

sef

0xffffffxxxxxx
Baştan sona tam bir atak senaryosu gibi işlenmiş, adım adım atak ile alâkalı alternatif yollar gösterilmiş. Komutlama için yüklenenler, yetki yükseltme mevzularıda dahil bu alanda kendisini geliştirmek isteyen arkadaşlar için güzel bir antreman ve döküman olacak. Unutmadan hem race condition(konumuzda dirtycow) hem sömürgeç geliştirme dediğimizde aklıma gelen şu makaleyide yorum ile eklemiş olayım, okumanız dileğiyle race condition exploitation
 
Son düzenleme:
Üst