Selam millet! Bu yazıda, birlikte deefun.com adlı web siteyi hackleyeceğiz. Siteye biraz göz attım. Film/dizi topluluğu gibi bir siteye benziyor. 2009 yılından beri faaliyet gösteriyormuş. Web sitenin dili çince olsa da sunucusu Japonya da bulunuyor gibi görünüyor.
Öncelikle web site hakkında bilgi toplayalım. Görüntüsünden sanki WordPress kullanıyormuş gibi bir izlenim aldım. Sayfanın footer kısmına ve kaynak koduna baktığımızda WordPress kullandığını rahatlıkla görebiliyoruz. Hemen WPScan aracına sarılmadan önce site hakkında biraz daha bilgi toplayalım. Bunu bir binary dosyasını analiz etmeye başlamadan önce file komutu ile hangi derleyicide derlendiğini öğrenerek, kullanılan programlama dilini tahmin etmeye benzetebiliriz. Çoğunlukla bariz bir şekilde yazıyor, bir istisnası var mı bilmiyorum. Neyse, önce WafW00f aracı ile güvenlik duvarı olup olmadığını kontrol edelim. Daha sonra WhatWeb aracını kullanarak web uygulamasını tanıyalım. Şimdiye kadar sadece WordPress kullandığını öğrendik.
Web uygulaması herhangi bir güvenlik duvarı ile korunmuyormuş. WhatWeb aracı ile konumunu, işletim sistemini, IP adresini ve kullanılan yazılımlarını sürümleriyle beraber öğreniyoruz. Bu arada web sitenin içeriği Çince, internette gözüken konumu Japonya, WhatWeb aracının verdiği konum ise America. Çok tuhaf bir olay gerçekten.
Google'da PHP sürümünü arattığımızda, CVE-2024-4577 (PHP CGI Parameter Injection) güvenlik açığının o sürümü etkilediğini öğreniyoruz. Bu güvenlik açığı hakkında pek bir bilgi veremeyeceğim. Tekrar tekrar okudum ama pek bir şey anlayamadım. Windows ortamlarında gerekli şartlar sağlandığı sürece çalışan bir zafiyetmiş ama genel olarak gerçek hayatta karşılaşabileceğimiz tarzda bir zafiyet değilmiş.
github.com
Github sayfasında verilen POC'u tekrar ederek güvenlik açığını sömürmeye çalışacağız. Verilen HTTP isteğinin Host parametresini kendi hedefimiz ile değiştirelim. Daha sonra ise bu isteği Repeater'a verelim ve gönderelim.
Gördüğünüz üzere, web uygulamasına bir takım parametreler eşliğinde gönderdiğimiz PHP kodlarını çalıştırabiliyoruz. phpinfo() fonksiyonu ile sistem hakkında bir takım bilgileri görüntülemesini sağladık. Şimdi de komut çalıştırmayı deneyelim.
system() fonksiyonu içerisinde id komutunu gönderdik ve echo ile ekrana yazdırdık. Nedendir bilinmez sonucu iki kez ekrana yazdı. Sistemde bir açık bulup, sömürebildiğimize göre sıradaki işlem imzamızı bırakmak olacak. dpaste.com sitesine HTML kodlarımızı ekleyelim ve raw text butonuna basarak sadece kodların bulunduğu sayfayı açalım. Bu sayfanın linkini Curl aracına verelim ve HTML kodunu çekip, tht.html dosyasına kayıt etmesini sağlayalım.
İsteği gönderdikten sonra bir sonuç döndürmeyeceği için dosya yolunu web sitesinde açmamız gerekiyor. Eğer dosya yüklenmemişse isteği bir kaç defa daha göndermeniz gerekebilir.
Zone kayıtları:
Öncelikle web site hakkında bilgi toplayalım. Görüntüsünden sanki WordPress kullanıyormuş gibi bir izlenim aldım. Sayfanın footer kısmına ve kaynak koduna baktığımızda WordPress kullandığını rahatlıkla görebiliyoruz. Hemen WPScan aracına sarılmadan önce site hakkında biraz daha bilgi toplayalım. Bunu bir binary dosyasını analiz etmeye başlamadan önce file komutu ile hangi derleyicide derlendiğini öğrenerek, kullanılan programlama dilini tahmin etmeye benzetebiliriz. Çoğunlukla bariz bir şekilde yazıyor, bir istisnası var mı bilmiyorum. Neyse, önce WafW00f aracı ile güvenlik duvarı olup olmadığını kontrol edelim. Daha sonra WhatWeb aracını kullanarak web uygulamasını tanıyalım. Şimdiye kadar sadece WordPress kullandığını öğrendik.
Web uygulaması herhangi bir güvenlik duvarı ile korunmuyormuş. WhatWeb aracı ile konumunu, işletim sistemini, IP adresini ve kullanılan yazılımlarını sürümleriyle beraber öğreniyoruz. Bu arada web sitenin içeriği Çince, internette gözüken konumu Japonya, WhatWeb aracının verdiği konum ise America. Çok tuhaf bir olay gerçekten.
Google'da PHP sürümünü arattığımızda, CVE-2024-4577 (PHP CGI Parameter Injection) güvenlik açığının o sürümü etkilediğini öğreniyoruz. Bu güvenlik açığı hakkında pek bir bilgi veremeyeceğim. Tekrar tekrar okudum ama pek bir şey anlayamadım. Windows ortamlarında gerekli şartlar sağlandığı sürece çalışan bir zafiyetmiş ama genel olarak gerçek hayatta karşılaşabileceğimiz tarzda bir zafiyet değilmiş.
PHP CGI Parameter Injection Vulnerability (CVE-2024-4577 bypass)
# PHP CGI Parameter Injection Vulnerability This vulnerability is a bypass of CVE-2024-4577 when using a non-standard configuration of Windows codepages, only obtainable through the registry by ...
Github sayfasında verilen POC'u tekrar ederek güvenlik açığını sömürmeye çalışacağız. Verilen HTTP isteğinin Host parametresini kendi hedefimiz ile değiştirelim. Daha sonra ise bu isteği Repeater'a verelim ve gönderelim.
Kod:
POST /?%a8-d%a8+allow_url_include%3d1+%a8-d%a8+auto_prepend_file%3dphp://input HTTP/1.1
Host: deefun.com
User-Agent: curl/8.3.0
Accept: */*
Content-Length: 24
Content-Type: application/x-www-form-urlencoded
Connection: keep-alive
<?php
phpinfo();
?>
Gördüğünüz üzere, web uygulamasına bir takım parametreler eşliğinde gönderdiğimiz PHP kodlarını çalıştırabiliyoruz. phpinfo() fonksiyonu ile sistem hakkında bir takım bilgileri görüntülemesini sağladık. Şimdi de komut çalıştırmayı deneyelim.
system() fonksiyonu içerisinde id komutunu gönderdik ve echo ile ekrana yazdırdık. Nedendir bilinmez sonucu iki kez ekrana yazdı. Sistemde bir açık bulup, sömürebildiğimize göre sıradaki işlem imzamızı bırakmak olacak. dpaste.com sitesine HTML kodlarımızı ekleyelim ve raw text butonuna basarak sadece kodların bulunduğu sayfayı açalım. Bu sayfanın linkini Curl aracına verelim ve HTML kodunu çekip, tht.html dosyasına kayıt etmesini sağlayalım.
İsteği gönderdikten sonra bir sonuç döndürmeyeceği için dosya yolunu web sitesinde açmamız gerekiyor. Eğer dosya yüklenmemişse isteği bir kaç defa daha göndermeniz gerekebilir.
Zone kayıtları:




