uuid32-utilscolorinaltermncolorAttribution यानी हमले को किस group से जोड़ा जाए, इस हिस्से को सावधानी से पढ़ना चाहिए। Kaspersky के Securelist post में कहा गया कि samples को Kaspersky Threat Attribution Engine में analysis के लिए submit किया गया और packages का link OceanLotus पर threat-intelligence report में चर्चा किए गए malware से हो सकता है। वहीं Kaspersky का threat-research index अधिक सीधे शब्दों में कहता है कि कंपनी PyPI ZiChatBot activity को OceanLotus APT से attribute करती है।
एक public summary ने इस attribution को moderate confidence के रूप में पेश किया।
उपलब्ध सार्वजनिक जानकारी के आधार पर यह cross-platform dropper chain थी। Kaspersky के threat-research index के अनुसार, malicious PyPI wheel packages ने Windows और Linux दोनों को target किया और उनमें ऐसा dropper था जो ZiChatBot malware deliver करता था।
एक public summary के मुताबिक, infection chain wheel package से DLL या .SO dropper extract करती थी, फिर Windows पर Registry या Linux पर crontab के जरिए persistence बनाती थी, और उसके बाद ZiChatBot deploy करती थी।
इसलिए जांच का दायरा सिर्फ production servers तक सीमित नहीं रहना चाहिए। Developer workstations, virtual environments, build runners, CI jobs और container images भी महत्वपूर्ण हैं, क्योंकि ऐसे package अक्सर development और build pipeline में install होते हैं।
यह case एक और अहम सबक देता है: कोई package functional है, इसका मतलब यह नहीं कि वह भरोसेमंद भी है। Kaspersky ने कहा कि malicious wheels अपने PyPI pages पर बताए गए features सचमुच implement करते थे, जबकि साथ-साथ hidden malicious files भी deliver करते थे।
ZiChatBot की खास बात यह थी कि उसने एक legitimate collaboration platform को C2 layer की तरह abuse किया। Kaspersky findings पर आधारित रिपोर्टिंग के अनुसार, ZiChatBot किसी dedicated C2 server से communicate नहीं करता था; इसके बजाय उसने public team-chat application Zulip की REST APIs की series को command-and-control infrastructure के रूप में इस्तेमाल किया।
Zulip की documented APIs message भेजने, message पाने, files upload करने, messages edit/delete करने, message narrows बनाने और channel topics के साथ काम करने जैसी operations support करती हैं। Zulip की bot documentation यह भी बताती है कि bots users द्वारा भेजे गए messages को intercept, view और process कर सकते हैं, फिर replies के रूप में नए messages भेज सकते हैं।
High level पर इसका मतलब है कि operator instructions chat messages या topic-scoped messages के रूप में रखे जा सकते हैं, और malware relevant messages retrieve करके results उसी service के जरिए वापस post कर सकता है। यहां उपलब्ध public sources exact Zulip workspace, bot credentials, endpoint sequence या ZiChatBot command set disclose नहीं करते। इसलिए सुरक्षित और तथ्य-आधारित वर्णन यही है कि ZiChatBot ने attacker-owned C2 infrastructure पर निर्भर रहने के बजाय legitimate Zulip REST API functionality को C2 के लिए abuse किया।
Zulip का नाम आने का मतलब यह नहीं कि Zulip itself breach हुआ था। cited reporting normal REST API और bot-style messaging functionality के abuse की बात करती है, chat service के compromise की नहीं।
इसी तरह, यह भी नहीं कहा गया कि PyPI infrastructure compromise हुआ था। Kaspersky की report malicious wheel packages के PyPI पर upload होने की बात करती है और कहती है कि malware बाद में repository से हटा दिया गया।
Defenders के लिए practical takeaway यह है कि किसी legitimate collaboration service पर जाने वाला traffic भी suspicious हो सकता है, अगर वह ऐसे host, process, CI job या service account से आ रहा हो जिसका उस service से कोई सामान्य business reason नहीं है। केवल attacker-owned domains की blocklist पर निर्भर detection इस pattern को miss कर सकती है। इसलिए investigation में destination reputation के साथ-साथ process context और expected business use भी देखा जाना चाहिए।
सबसे पहले package inventory देखें। Developer machines, build runners, virtual environments, dependency lockfiles और container images में uuid32-utils, colorinal और termncolor खोजें।
जुलाई 2025 से आगे की installation timelines review करें, क्योंकि Kaspersky ने malicious wheel uploads की शुरुआत इसी period से बताई है। अगर इन named packages में से कोई logs या artifacts में दिखता है, तो सिर्फ package delete करके आगे न बढ़ें; environment को preserve कर investigation करें।
Windows systems पर unexpected Registry persistence और Linux systems पर suspicious crontab entries देखें। यह campaign की public infection-chain summary से मेल खाता है।
Network और process telemetry में ऐसे Zulip API activity की जांच करें जो Python interpreters, package-install processes, CI workers, servers या service accounts से आ रही हो, जबकि वे normally Zulip use नहीं करते। असली सवाल यह नहीं है कि Zulip legitimate है या नहीं; सवाल यह है कि उस particular host और process के पास Zulip APIs call करने की legitimate वजह है या नहीं।
अंत में, functional behavior को trust का प्रमाण न मानें। इस campaign में packages कथित तौर पर अपने advertised features deliver करते थे, लेकिन साथ ही malicious files के droppers की तरह भी काम करते थे।
OceanLotus-linked PyPI campaign में जुलाई 2025 से malicious wheel packages upload किए गए और public reporting ने uuid32-utils, colorinal और termncolor जैसे packages के नाम बताए। इन packages ने Windows और Linux systems पर ZiChatBot deliver किया, और ZiChatBot की defining operational choice यह थी कि उसने dedicated attacker-run C2 server के बजाय Zulip REST APIs को command-and-control के लिए इस्तेमाल किया।
Comments
0 comments