"एक बुद्धिमान निंजा एक ऐसे दुश्मन की तलाश नहीं करता है जिसे वह पूरी तरह से नहीं समझता है।" - टीनेज म्यूटेंट निंजा टर्टल्स से स्प्लिंटर
एक तकनीकी लेखक के रूप में विज्ञान कथा के प्रति जुनूनी होने के नाते, सोनाटाइप में मेरी नौकरी के सबसे रोमांचक हिस्सों में से एक है जब मुझे सुरक्षा अनुसंधान टीम के साथ सहयोग करने का अवसर मिलता है।
जब से हमने पाया है
यह कोई दुर्लभ घटना नहीं है: वे ओपन-सोर्स रजिस्ट्रियों से लगातार सैकड़ों संदिग्ध पैकेजों का आकलन करते हैं ताकि यह निर्धारित किया जा सके कि वे वास्तव में दुर्भावनापूर्ण हैं या नहीं। इस प्रक्रिया के दौरान, वे पैकेजों के बीच परिचित पैटर्न की पहचान करते हैं, और कभी-कभी, मजबूत समानताओं को पहचानने पर, वे उनके पीछे अभिनेता/अभियान को ट्रैक करने के लिए और अनुसंधान करते हैं।
2022 के अंतिम सप्ताह और 2023 की शुरुआत के बीच, हमारे AI सिस्टम ने Pyrologin , easytimestamp
, disorder , discord-dev
, discorder
, और style.py
सहित pyrologin
रजिस्ट्री पर अपलोड किए गए संदिग्ध पैकेजों को pythonstyles
किया। हमारे सुरक्षा शोधकर्ताओं ने उन्हें देखा और पुष्टि की कि वे वास्तव में दुर्भावनापूर्ण थे। और आगे के विश्लेषण के बाद, उन्होंने देखा कि इन पैकेजों में कई विशेषताएं शामिल हैं जो अक्सर पायथन मैलवेयर में नहीं देखी जाती हैं।
एक वास्तविक रणनीति क्या बन गई है, खराब अभिनेता setup[.]py
फ़ाइल में एक पेलोड छिपाते हैं, इसलिए डेवलपर्स को संक्रमित होने के लिए केवल एक साधारण पाइप इंस्टॉल का उपयोग करना पड़ता है। इस मामले में, वे अनजाने में एक PowerShell स्क्रिप्ट लॉन्च कर रहे होंगे जो लाइब्रेरी स्थापित करने के लिए एक ZIP फ़ाइल डाउनलोड करती है जो हमलावर को पीड़ित के माउस, कीबोर्ड को नियंत्रित करने, स्क्रीनशॉट लेने और छिपे हुए रिमोट कनेक्शन बनाने देती है। और उसके ऊपर, ये पैकेज संवेदनशील जानकारी जैसे पासवर्ड, कुकीज़, और क्रिप्टोक्यूरेंसी वॉलेट डेटा को भी बाहर निकालते हैं, और यहां तक कि रिमोट एक्सेस के लिए एक उपकरण स्थापित करने का प्रयास करते हैं। हमारे निष्कर्ष के अनुरूप थे
फिर भी, सुरक्षा शोधकर्ता कार्लोस फर्नांडीज को déjà vu का भूतिया एहसास हो रहा था। सप्ताह के दौरान जब हमने पैकेजों का खुलासा किया, तो उसके दिमाग में इस मैलवेयर के पुराने संस्करणों को देखने की यादें कौंध गईं। हो सकता है कि एक खतरनाक अभिनेता समय के साथ अपने मैलवेयर को विकसित कर रहा हो, लेकिन हमें यह सुनिश्चित करने की आवश्यकता थी, इसलिए मैंने उसे यह देखने में मदद करने के लिए अपना OSINT हैट पहना कि क्या उसके अंतर्ज्ञान में कोई सच्चाई थी।
हमारे डेटाबेस पर पीछे मुड़कर देखें, तो 25 सितंबर, 2022 को PyPI रिपॉजिटरी में pygradient
नामक एक पैकेज अपलोड किया गया था। हमारे एआई ने इसे संदिग्ध के रूप में फ़्लैग किया और हमारे सुरक्षा शोधकर्ताओं ने पुष्टि की कि इसमें मैलवेयर था और यह pystyle
नामक एक अन्य पैकेज के स्रोतों को बंडल करता था। दोनों पुस्तकालयों द्वारा लेखक थे
W4SP स्टीलर दृढ़ता का दावा करता है (यह हर बार उपयोगकर्ताओं द्वारा पीसी को पुनरारंभ करने पर पुन: सक्रिय हो जाता है), अस्पष्टता (लेखक का वादा है कि यह पूरी तरह से undetectable है), और स्टेग्नोग्राफ़ी तकनीकों को एक छवि फ़ाइल के भीतर बहुरूपी और अत्यधिक अस्पष्ट पेलोड को छिपाने के लिए। मैलवेयर सभी पीड़ित के डिस्कॉर्ड खाते, क्रेडिट कार्ड, पासवर्ड और क्रिप्टो-वॉलेट हमलावर को हार्ड-कोडेड डिस्कॉर्ड वेबहुक पते के माध्यम से वापस भेजता है। इस मालवेयर में रुचि रखने वाले बैड एक्टर्स ने क्रिप्टो में लगभग 20 USD का भुगतान करके इसे खरीदा है।
मूल रूप से, pystyle
में दुर्भावनापूर्ण प्रकृति नहीं थी - पठनीयता और उपयोगकर्ता अनुभव को बढ़ाने के लिए शैली और रंग कंसोल आउटपुट के लिए एक हानिरहित पैकेज। लेकिन फाइलम शोध के अनुसार, एक बार यह लोकप्रिय हो गया (पैकेज अभी भी PyPI पर सक्रिय है और यह हर महीने 40,000 से अधिक डाउनलोड जमा करता है), उन्होंने कुछ रिलीज में W4SP मैलवेयर जोड़ने का फैसला किया।
pystyle
जैसे ओपन-सोर्स पैकेज केवल महीनों के लिए स्लीपर एजेंट के रूप में कार्य कर सकते हैं, बाद में दुर्भावनापूर्ण उद्देश्यों के लिए अपने स्वयं के लेखक द्वारा सक्रिय किए जा सकते हैं। एक जोखिम भरा कदम, चूंकि उनके लोकप्रिय पैकेज को हमारे जैसे सुरक्षा शोधकर्ताओं द्वारा खोजा जा सकता है जो इसे दुर्भावनापूर्ण के रूप में रिपोर्ट करेंगे और इसे हमेशा के लिए हटा दिया जाएगा। इसलिए वे अक्सर इसके बजाय नए पैकेज बनाते हैं जहां वे एक सहज पुस्तकालय के स्रोत कोड को शामिल करते हैं, कुछ प्रकार के दुर्भावनापूर्ण पेलोड को जोड़ते हैं, और इसे एक नए नाम के तहत अपलोड करते हैं: कुछ सामान्य, सौम्य-सा लगने वाला, निर्दोष दिखने वाला। एक नाम जैसे कि pygradient
।
कार्लोस के साथ करीब से देखने के बाद, हमने पाया कि इस प्रोटो-आरएटी म्यूटेंट मैलवेयर में दिसंबर के संस्करणों की कुछ विशेषताओं का अभाव था: भले ही इसने एक पॉवरशेल स्क्रिप्ट लॉन्च की और संवेदनशील डेटा को एक्सफ़िल्टर्ड किया, इसने बेस 64 एन्कोडेड पेलोड या अनुमति सूची का उपयोग नहीं किया txt फ़ाइल स्वयं-संक्रमण से बचने के लिए। एक तरह से यह एक हल्का, कम परिष्कृत संस्करण था।
लेकिन फिर हमने नवंबर की शुरुआत में अपलोड किए गए पैकेजों को देखा, जिसमें paintpy
, devicespoof
और devicespoofer
शामिल थे, और गहराई से गोता लगाने के बाद, हमें अपने संदेह की पुष्टि मिली: मैलवेयर वास्तव में विकसित हो रहा था।
भले ही BillyTheGoat नवंबर से GitHub पर सक्रिय नहीं है, हम अभी भी मैलवेयर ढूंढ रहे हैं जो उनकी रचनाओं पर आधारित है या उनसे सीधे चोरी कर रहा है, ज्यादातर एक उपयोगकर्ता द्वारा जो स्पष्ट रूप से पुर्तगाल में स्थित है जिसे कहा जाता है
इस उपयोगकर्ता ने PyPI में हाल ही में हटाए गए पैकेज को pystilez नाम से अपलोड किया है, जो pystilez
को गलत तरीके से क्रेडिट किया गया था जो दिखने में ऐसा था
चेकमार्क्सapicolor
(समान नाम वाली विविधताओं के साथ) नामक पैकेज में W4SP हमले को खोजने के बाद जिसमें उनके दुर्भावनापूर्ण कोड के भीतर एक डिस्कॉर्ड सर्वर लिंक शामिल था। व्यवस्थापक प्रोफ़ाइल एक सत्यापित स्टीम खाते से जुड़ा हुआ है और नाम "ज़ीकट" हमलावर के स्टीम उपनामों में से एक के रूप में दिखाई दिया।
एक सुरक्षा शोधकर्ता ने शैक्षिक उद्देश्यों के लिए ज़ीकट के पेलोड में से एक को पोस्ट किया और उसे W4SP स्टीलर के सह-लेखक से एक दिलचस्प उत्तर मिला:
आपके चोरी करने वाले के लिए चोरी होना कितनी विडंबना है।
एक ही लेखक, जाहिरा तौर पर एक 17 वर्षीय पायथन डेवलपर, अपने गिटहब प्रोफाइल पर रीडमे फ़ाइल में अपनी निराशा को दोहराता है:
हम ठीक से नहीं जानते हैं कि ज़ीकट ने अन्य बुरे अभिनेताओं से क्या दुर्भावनापूर्ण कोड चुराया है, लेकिन एक बात निश्चित है: यह नाम ओपन-सोर्स रजिस्ट्रियों में मैलवेयर अभियानों में पॉप अप करना जारी रखता है।
कार्लोस को हाल ही में चार और पैकेज मिले हैंforenitq
, forenith
, forenity
और forenitz
. आगे की जाँच के बाद, उन्होंने उन्हें दुर्भावनापूर्ण के रूप में टैग किया और उन्हें नीचे ले जाने के लिए PyPI को रिपोर्ट किया। सबसे तेज़ मामले को प्रकाशन से हटाने तक लगभग 20 मिनट लगे।
setup[.]py
in forenitq
को देखते हुए , कार्लोस ने निम्नलिखित प्रथम-चरण पेलोड पाया:
हमलावर तीन अस्थायी फ़ाइलें बनाता है जो "स्टार्ट" कमांड का उपयोग करके विशिष्ट URL से विंडोज बायनेरिज़ को डाउनलोड और निष्पादित करती हैं। भले ही स्लग /rat
और /clip
दुर्भावनापूर्ण इरादे का सूचक हैं, हम हुड के नीचे देखे बिना उस धारणा की पुष्टि नहीं कर सके।
इस लेखन के समय, hxxp://20[.]226[.]18[.]203
पर होस्ट किया गया पेज अभी भी सक्रिय है और यह केवल एक डिस्कोर्ड आमंत्रण का लिंक दिखाता है जो पहले से ही समाप्त या निजी है।
कार्लोस ने देखा कि पैकेज लोकप्रिय होने का दिखावा कर रहा था
RAT फ़ाइल को अस्पष्ट करने के बाद, उसे एक लाइन मिली जो एक संभावित क्लिपबोर्ड अपहर्ता को लोड करती है, लेकिन इसकी विशिष्टताएँ base64 एन्कोडेड थीं:
डिकोड करने पर, हमें एक पीड़ित के क्लिपबोर्ड को हाईजैक करने के लिए डिज़ाइन किया गया एक पायथन कोड मिलता है, जो हमलावर के पते के साथ इच्छित क्रिप्टोक्यूरेंसी वॉलेट पते को बदलने के लिए होता है:
यह बिटकॉइन (bc1), एथेरियम (0x), मोनेरो (4), और litecoin (L या M या 3) जैसे निर्दिष्ट पैटर्न की तलाश करता है, और जब एक पैटर्न पाया जाता है, तो यह इच्छित पते को हमलावर के क्रिप्टोक्यूरेंसी वॉलेट पते से बदल देता है। .
कोड का उपयोग करता है
इसके अतिरिक्त, हमने इस आरएटी उत्परिवर्ती का पता लगाने से बचने के लिए उपयोग की जाने वाली और तकनीकों को उजागर किया: एक प्रथम-चरण पेलोड फ़ाइल में जोड़ा गया forenitq/ansi[.]py
setup[.]py
और एक दूसरे चरण का बहुरूपी पेलोड जो हर बार आपके चलने पर बदल जाता है द्विआधारी।
हमलावर ने एक बहुत ही पूर्ण सहायता मेनू के साथ एक नया आदेश और नियंत्रण भी जोड़ा—और इस बार से फला पोर्टुगुएस:
जैसा कि आप देख सकते हैं, दुर्भावनापूर्ण अभिनेता आपके क्रिप्टो फंड और सिस्टम क्रेडेंशियल्स को चुराने के लिए उत्सुक हैं ताकि आपके बुनियादी ढांचे में और अधिक घुसपैठ हो सके। उनका आरएटी मैलवेयर डेवलपर्स के लिए अधिक स्पष्ट और हानिकारक होने के लिए उत्परिवर्तित रहता है। इसलिए, यदि आप आज अपनी सॉफ़्टवेयर आपूर्ति श्रृंखला की सुरक्षा नहीं कर रहे हैं, तो जल्द से जल्द ऐसा करने के लिए कार्रवाई करने पर विचार करें।
hxxp://20[.]226[.]18[.]203/inject/tCxFLYLT6ViY9ZnP
hxxp://20[.]226[.]18[.]203/clip
hxxp://20[.]226[.]18[.]203/rat