TL, डॉ
एक PyPI पैकेज जिसका नाम है जीक्ली-नियंत्रण एक संपूर्ण विंडोज रिमोट-एक्सेस टूल भेजा गया: कीस्ट्रोक लॉगिंग, वेबकैम और माइक्रोफोन कैप्चर, क्लिपबोर्ड मॉनिटरिंग, ब्राउज़र क्रेडेंशियल एक्सेस, स्क्रीन कंट्रोल, परसिस्टेंस, प्रिविलेज एलिवेशन और खुद से विज्ञापित "140+ कमांड"। इसने अपने उद्देश्य को छिपाया नहीं: पैकेज के PyPI सारांश में इसे "रिमोट एक्सेस टूल" के रूप में वर्णित किया गया था। npoint.io".
जिस बात पर ध्यान देना ज़रूरी है, वह यह वाक्यांश है। "npoint.io के माध्यम से।" किसी समर्पित सर्वर से सीधे संपर्क करने के बजाय, इम्प्लांट ने npoint[.]io (छोटे JSON दस्तावेज़ों को होस्ट करने के लिए एक निःशुल्क, वैध सेवा) को इसके कमांड-एंड-कंट्रोल रिले के रूप में उपयोग किया जाता है। ऑपरेटर JSON बिन में कमांड लिखता है; इम्प्लांट उस बिन से कमांड लेता है, उन्हें निष्पादित करता है और परिणाम वापस लिख देता है। हमलावर के स्वामित्व वाले किसी डोमेन को ब्लॉक करने की आवश्यकता नहीं है, न ही किसी नए IP पते को चिह्नित करने की आवश्यकता है: ट्रैफ़िक उस सेवा पर जाता है जिसका उपयोग डेवलपर हर दिन करते हैं।
लगभग साढ़े तेरह घंटे में छह संस्करण प्रकाशित किए गए, जिनमें से प्रत्येक पिछले वाले से बेहतर था। प्रत्येक संस्करण का मूल्यांकन किया गया। एमएल_पूर्वानुमानित_सुरक्षित मैन्युअल समीक्षा से पहले एक स्वचालित क्लासिफायर द्वारा परिवार को दुर्भावनापूर्ण के रूप में पुनः वर्गीकृत किया गया था।
आक्रमण शरीर रचना
जीक्ली-नियंत्रण आयात पैकेज स्थापित करता है जीसीएलआईयह 35 मॉड्यूल वाला पायथन कोडबेस है। इसमें इंस्टॉलेशन के समय कोई समस्या नहीं आती। hooks — इस दौरान कुछ भी नहीं चलता पाइप स्थापित करेंयह क्षमता मॉड्यूल में ही निहित होती है, टूल चलने पर इसे लागू किया जाता है, और मॉड्यूल का लेआउट किसी उत्पाद विनिर्देश पत्रक की तरह दिखता है:
| क्षमता क्षेत्र | मॉड्यूल |
|---|---|
| होस्ट निगरानी | keylog, webcam, audio, clipboard, desktop, monitoring |
| क्रेडेंशियल और डेटा एक्सेस | browser, forensics, fileops, transfer, users |
| आधार और वृद्धि | persistence, elevator, registry, security |
| होस्ट और नेटवर्क रिकॉन | system, processes, network_config, wifi, bluetooth, netutils |
| कमान और नियंत्रण | client, host, session, protocol, npoint, crypto, encrypt |
कमांड चैनल सबसे दिलचस्प हिस्सा है। अधिकांश रिमोट-एक्सेस टूलिंग ऑपरेटर द्वारा नियंत्रित सर्वर तक पहुँचते हैं - एक आईपी, एक डोमेन, एक होस्टिंग प्रदाता जिसे रिपोर्ट किया जा सकता है और ऑफ़लाइन किया जा सकता है। जीक्ली-नियंत्रण इसके बजाय एक का इलाज करता है डेड-ड्रॉप के रूप में निःशुल्क JSON-bin सेवा। एनपॉइंट यह मॉड्यूल छोटे JSON दस्तावेज़ों को पढ़ता और लिखता है। npoint[.]io सामान्य HTTPS पर; क्रिप्टो/एन्क्रिप्ट मॉड्यूल आदान-प्रदान किए गए पेलोड को इस तरह से लपेटते हैं कि बिन की सामग्री सादे पाठ कमांड न हो। इसका परिणाम एक मध्यस्थ, एन्क्रिप्टेड रिले होता है:
- ऑपरेटर एक (एन्क्रिप्टेड) निर्देश को JSON बिन में डाल देता है।
- पीड़ित होस्ट पर चल रहा इम्प्लांट, उस बिन की जांच करता है, उसे डिक्रिप्ट करता है, अपने कमांड हैंडलर में से एक को निष्पादित करता है, और (एन्क्रिप्टेड) परिणाम वापस लिखता है।
- नेटवर्क मॉनिटर के लिए, पीड़ित व्यक्ति बस बात कर रहा है npoint[.]io — एक ऐसी सेवा जिसके डेवलपर ट्रैफिक में दिखाई देने का वैध कारण हो।
यहां न तो दूसरे चरण का डाउनलोड है और न ही कोई अस्पष्ट लोडर: यह क्षमता पूरी तरह से पठनीय पायथन में उपलब्ध है, और एकमात्र "छिपाव" रिले का चयन और रिले किए गए पेलोड का एन्क्रिप्शन है।
JSON-बिन डेड-ड्रॉप का संचालन की दृष्टि से आकर्षक होना क्यों आवश्यक है, इसे स्पष्ट रूप से समझाना महत्वपूर्ण है, क्योंकि यह बताता है कि हम इस पैटर्न को फिर से देखने की उम्मीद क्यों करते हैं:
- ऑपरेटर के स्वामित्व वाला कोई एंडपॉइंट नहीं है। पंजीकरण के लिए कोई C2 डोमेन नहीं है, किराए पर लेने के लिए कोई VPS नहीं है, और किसी रक्षक या रजिस्ट्रार के पास जब्त करने के लिए कुछ भी नहीं है। पैकेज चैनल को नहीं छूता; इसे हटा दिया गया चैनल इसका मतलब है कि एक सामान्य-उद्देश्यीय SaaS से लाखों दस्तावेजों में से एक दस्तावेज की निगरानी करने के लिए कहना।
- प्रतिष्ठा का शुद्धिकरण। किसी जाने-माने डेवलपर सेवा के लिए HTTPS का उपयोग करने से प्रतिष्ठा पर कोई नकारात्मक प्रभाव नहीं पड़ता, जबकि नए डोमेन या कच्चे IP पते से ऐसा हो सकता है। कई निकास फ़िल्टरिंग सेटअप इसे स्वतः ही अनुमति देते हैं।
- अतुल्यकालिकता और अस्वीकार्यता। एक पोलिंग मॉडल — जिसमें इम्प्लांट एक ओपन सॉकेट रखने के बजाय एक निश्चित अंतराल पर दस्तावेज़ प्राप्त करता है — ऐसा ट्रैफ़िक उत्पन्न करता है जो आवधिक एपीआई पोलिंग जैसा दिखता है, न कि किसी इंटरैक्टिव सेशन जैसा। दस्तावेज़ की सामग्री को एन्क्रिप्ट करने का मतलब है कि बिन में मौजूद डेटा को खोजने वाले विश्लेषक को भी सिफरटेक्स्ट दिखाई देगा, न कि कमांड सूची।
- तुच्छ घूर्णनकिसी दूसरे बिन में जाना, या पूरी तरह से किसी दूसरी नोट/पेस्ट सेवा का उपयोग करना, ऑपरेटर के लिए केवल एक लाइन का कॉन्फ़िगरेशन परिवर्तन है। किसी विशिष्ट रिले से जुड़ी कोई भी ब्लॉकलिस्ट शिपिंग के समय ही अप्रचलित हो जाती है।
ऑपरेटर को थ्रूपुट और लेटेंसी के बीच समझौता करना पड़ता है: डेड-ड्रॉप रिले डायरेक्ट कनेक्शन की तुलना में धीमा और कम बैंडविड्थ वाला होता है। निगरानी और नियंत्रण उपकरण के लिए, जो मुख्य रूप से छोटे कमांड जारी करता है और समय के साथ परिणाम एकत्र करता है, यह समझौता आसानी से स्वीकार्य है।
समयरेखा
मामले में तेजी से वृद्धि हुई। चिह्नित संस्करणों के लिए टिकट-निर्माण समय-सीमा से पता चलता है कि पूरी देखी गई घटना लगभग साढ़े तेरह घंटे के भीतर घटित हुई, और स्कैनर द्वारा जुटाए गए साक्ष्यों की संख्या कोड के साथ-साथ बढ़ती गई - पहले संस्करण में कुछ चिह्नित स्थलों से बढ़कर नवीनतम संस्करण में चौदह हो गई।
| संस्करण | पहली बार देखा गया (UTC) | नोट |
|---|---|---|
0.1.0 | 2026-07-21 12:59 | प्रारंभिक अपलोड; न्यूनतम चिह्नित सतह |
0.5.0 | 2026-07-21 18:01 | क्षमता का विस्तार होता है |
0.2.0 | 2026-07-21 18:03 | (संस्करण क्रमांकन अपलोड क्रम के साथ एकसमान नहीं है) |
0.6.0 | 2026-07-22 00:44 | व्यापक मॉड्यूल सेट |
0.7.0 | 2026-07-22 01:58 | लगभग संपूर्ण टूलकिट |
0.7.1 | 2026-07-22 02:28 | नवीनतम; 35 मॉड्यूल, पूर्ण क्षमता |
संस्करण संख्याएँ किसी निश्चित क्रम में प्रकाशित नहीं की गईं, लेकिन दिशा स्पष्ट है: एक छोटा प्रारंभिक संस्करण, फिर पूर्ण विशेषताओं से युक्त 0.7.1 की ओर तीव्र प्रगति। यह एक सक्रिय रूप से विकसित हो रही परियोजना का स्वरूप है जिसे समय-समय पर सार्वजनिक रजिस्ट्री में प्रकाशित किया जा रहा है, न कि एकमुश्त प्रकाशन।
समझौता के संकेतक
नीचे दिए गए सभी संकेतकों की पुष्टि ऑन-डिस्क पैकेज सामग्री और संस्करण 0.7.1 के एक नियतात्मक संकेतक स्कैन के आधार पर की गई थी; इनमें से कोई भी अनुमानित नहीं है।
| प्रकार | सूचक |
|---|---|
| पैकेज (PyPI) | gcli-controlसंस्करण 0.1.0, 0.2.0, 0.5.0, 0.6.0, 0.7.0, 0.7.1 |
| पैकेज आयात करें | gcli |
| C2 रिले | npoint[.]io (JSON-बिन डेड-ड्रॉप; एन्क्रिप्टेड पेलोड) |
| वर्णित भंडार | github[.]com/gcli-control/gcli |
| व्यवहारिक छाप | सहस्थित निगरानी मॉड्यूल: keylog, webcam, audio, clipboard, browserसाथ ही, एक ही पैकेज में निरंतरता, एलिवेटर और क्लाइंट/होस्ट/प्रोटोकॉल कमांड लेयर भी शामिल हैं। |
| स्थापित करें hooks | कोई नहीं: क्षमता टूल रनटाइम पर चलती है, इंस्टॉलेशन के दौरान नहीं। |
बचावकर्ता का नोट: सबसे मजबूत टिकाऊ संकेत डोमेन नहीं है (एक रिले होस्ट आसानी से घूमता है) बल्कि यह है आकारएक एकल पैकेज जो तीन या दो से अधिक विशिष्ट होस्ट-निगरानी मूल तत्वों को एक साथ बांधता है और कमांड/रिस्पॉन्स लूप को सार्वजनिक कंटेंट होस्टिंग सेवा के माध्यम से रूट करता है। अवरुद्ध npoint[.]io अधिकांश दुकानों के लिए सीधे तौर पर चेतावनी देना अव्यावहारिक है; एक अप्रत्याशित प्रक्रिया पर अलर्ट करना जो इनपुट डिवाइस को कैप्चर करती है और JSON-बिन सेवा से बात करती है, कहीं अधिक मजबूत है।
देखा गया व्यवहार और रूपरेखा
इस नमूने को दो चीजें असामान्य बनाती हैं, और दोनों ही अवलोकन योग्य तथ्य हैं न कि मकसद के बारे में अनुमान।
इसने खुद का प्रचार किया। PyPI पर वितरित पैकेज सारांश में क्षमताओं को सरल भाषा में सूचीबद्ध किया गया था - रिमोट एक्सेस, डेस्कटॉप नियंत्रण, उपयोगकर्ता प्रबंधन, वेबकैम, ऑडियो, कीलॉगर, परसिस्टेंस, ब्राउज़र डेटा, वाईफाई, रजिस्ट्री, "140+ कमांड"। कोड को बिल्ड हेल्पर, CLI रैपर या AI-एजेंट यूटिलिटी के रूप में प्रस्तुत करने का कोई प्रयास नहीं किया गया था, जो कि सार्वजनिक रजिस्ट्रियों पर आमतौर पर देखने को मिलता है। क्या यह खुलापन बिना एक्सेस नियंत्रण के प्रकाशित एक गुप्त टीम टूल को दर्शाता है या कुछ और, यह एक ऐसा प्रश्न है जिसका उत्तर केवल पैकेज की सामग्री से नहीं मिलता; निश्चित रूप से यह है कि एक कार्यशील, सामान्य-उद्देश्य वाला रिमोट एक्सेस और निगरानी टूलकिट किसी भी व्यक्ति द्वारा स्थापित किया जा सकता था। रंज.
यह एक सौम्य सेवा में विश्वास पर आधारित था। का प्रयोग npoint[.]io रिले ही निर्णायक तकनीक है। यह एक व्यापक पैटर्न का उदाहरण है — वैध SaaS (पेस्ट साइट्स, JSON बिन्स, चैट वेब) के माध्यम से C2 को रूट करना।hooks(क्लाउड डॉक्स) ताकि दुर्भावनापूर्ण ट्रैफ़िक सामान्य डेवलपर गतिविधि में घुलमिल जाए और कब्ज़ा करने के लिए कोई ऑपरेटर-स्वामित्व वाला एंडपॉइंट न हो। रिले पर पेलोड एन्क्रिप्टेड थे, इसलिए बिन की सामग्री किसी सामान्य पर्यवेक्षक के लिए कमांड के रूप में नहीं पढ़ी जा सकती थी।
प्रकाशक के संकेत कमजोर और सामान्य हैं। पैकेज ने घोषणा की Author “gcli contributors” और एक MIT लाइसेंस का उपयोग करते हुए, इसने अपने होमपेज और रिपॉजिटरी फ़ील्ड को इंगित किया। github[.]com/gcli-control/gcliइनमें से कोई भी सत्यापन नहीं है: लेखक का नाम स्वतंत्र पाठ है, एमआईटी लाइसेंस का शीर्षक निःशुल्क है, और पैकेज मेटाडेटा में रिपॉजिटरी यूआरएल एक दावा है, न कि स्रोत का प्रमाण। यह पैटर्न—एक बिल्कुल नया नाम, एक सामान्य सामूहिक लेखक, और पैकेज के इर्द-गिर्द बनाया गया एक स्व-संदर्भित संगठन/रिपॉजिटरी—एक प्रोजेक्ट का स्वरूप दर्शाता है जब उसे विशेष रूप से कोड को ले जाने के लिए स्थापित किया जाता है, न कि किसी स्थापित टूल का जिसमें संयोगवश रिमोट-कंट्रोल सुविधा जुड़ गई हो। हम इन्हें अवलोकन के रूप में नोट करते हैं; ये उद्देश्य-निर्मित वितरण के अनुरूप हैं, लेकिन स्वयं इसे स्थापित नहीं करते।
हम इसकी क्षमता और वितरण के आधार पर इसे दुर्भावनापूर्ण मानते हैं: एक पूर्ण, चलाने योग्य रिमोट-एक्सेस और निगरानी तंत्र, जिसे एक गुप्त रिले के साथ सार्वजनिक पैकेज इंडेक्स पर वितरित किया गया है। हम किसी लक्ष्य या उद्देश्य का उल्लेख नहीं करते हैं।
प्रभाव, रुझान और रक्षक क्या कर सकते हैं
भेष बदलने पर आधारित प्राथमिक उपचार में एक खामी। स्वचालित पैकेज ट्राइएज कुंजी का अधिकांश भाग भेस के संकेत सामान्य रजिस्ट्री मैलवेयर — अस्पष्ट ब्लब्स, इंस्टॉलेशन के समय hooksक्रेडेंशियल-हार्वेस्टिंग वन-लाइनर्स। एक पैकेज जो बस इतना ही है खुलेआम एक चूहासाफ़-सुथरे, पठनीय कोड और बिना किसी इंस्टॉल हुक के, यह उन संकेतों में से कोई भी नहीं दिखाता और उन अनुमानों से बच सकता है जो छिपाव की उम्मीद करते हैं। इस श्रेणी को विश्वसनीय रूप से पकड़ने वाले संकेत संरचनात्मक होते हैं, न कि भेस-आधारित: एक क्षमता जनगणना (एक पैकेज में कितने अलग-अलग होस्ट-निगरानी प्रिमिटिव सह-अस्तित्व में हैं) और C2-आकार विश्लेषण (एक सामान्य-उद्देश्य सामग्री-होस्टिंग सेवा के माध्यम से रूट किया गया कमांड/प्रतिक्रिया लूप)। ये जाँचें इस बात की परवाह किए बिना सक्रिय हो जाती हैं कि कितना ईमानदार या समझ से परे पैकेजिंग है।
SaaS को C2 के रूप में उपयोग करने का चलन। वैध होस्टिंग सेवा का दुरुपयोग करके उसे डेड-ड्रॉप के रूप में इस्तेमाल करना कोई नई बात नहीं है, लेकिन यह अभी भी कारगर है क्योंकि सेवा को ब्लॉक करने की सुरक्षात्मक लागत बहुत अधिक है और सेवा बदलने की आक्रामक लागत लगभग शून्य है। भविष्य में भी ऐसा होने की संभावना है। विशिष्ट संदिग्ध डोमेन पर केंद्रित नेटवर्क सुरक्षा तंत्र समय के साथ अप्रचलित हो जाते हैं; व्यवहार संबंधी नियम ("यह प्रक्रिया क्लिपबोर्ड और वेबकैम को पढ़ती है और फिर नोट-होस्टिंग एपीआई से बात करती है") अप्रचलित नहीं होते।
कंक्रीट की पहचान के लिए एक रेखाचित्र। टिकाऊ नियम में नाम नहीं दिया गया है npoint[.]io बिल्कुल भी नहीं। यह दो ऐसे अवलोकनों को जोड़ता है जो व्यक्तिगत रूप से तो सामान्य हैं लेकिन एक सामान्य डेवलपर या सीआई होस्ट पर संयुक्त रूप से दुर्लभ हैं:
एक ही सत्र के भीतर, एक ही प्रक्रिया द्वारा निम्नलिखित दोनों कार्य किए जाने पर अलर्ट जारी करें:
(ए) होस्ट-निगरानी आदिम उपकरण तक पहुँचता है — इनपुट डिवाइस (कीबोर्ड/माउस हुक), कैमरा, माइक्रोफ़ोन, स्क्रीन कैप्चर, क्लिपबोर्ड रीड-लूप, या ब्राउज़र क्रेडेंशियल स्टोर ("Login डेटा" / "स्थानीय राज्य" / डीपीएपीआई); और
(B) सार्वजनिक सामग्री-होस्टिंग / पेस्ट / JSON-बिन / चैट-वेबहुक सेवा के लिए आउटबाउंड अनुरोध करता है और फिर समीक्षा के लिए उठाता है, (B) में विशिष्ट सेवा की परवाह किए बिना।
दोनों में से कोई भी हिस्सा अकेले संदिग्ध नहीं है: कई वैध उपकरण स्क्रीनशॉट लेते हैं, और कई होस्टिंग एपीआई पर JSON डेटा पोस्ट करते हैं। एक अल्पकालिक प्रक्रिया के भीतर का संयोजन ही संकेत है, और यह किसी भी रिले रोटेशन से बचा रहता है।
टीमों के लिए व्यावहारिक कदम:
- डेवलपर और सीआई होस्ट पर सार्वजनिक पैकेज इंस्टॉलेशन को एक निष्पादन सीमा के रूप में मानें, न कि सुविधा के रूप में - बिल्ड एजेंट पर एक आरएटी आपके रहस्यों के साथ एक आरएटी है।
- अनुमति प्राप्त आंतरिक मिरर को प्राथमिकता दें; रिमोट कंट्रोल के लिए शाब्दिक रूप से नामित और कीलॉगर का वर्णन करने वाला पैकेज कभी भी कॉर्पोरेट इंडेक्स पर हल नहीं होना चाहिए।
- अलर्ट संयोजन — इनपुट-डिवाइस या स्क्रीन कैप्चर के साथ-साथ कंटेंट/पेस्ट/जेसन-बिन सेवा के लिए आउटबाउंड ट्रैफ़िक — न कि किसी एक प्रिमिटिव पर, जिसका अलग-थलग उपयोग हानिरहित होता है।
- व्यापक होस्ट-एक्सेस क्षमता वाले पैकेजों के लिए स्वचालित "सुरक्षित" स्कोर को अंतिम निर्णय के रूप में न मानें; उन्हें मानवीय समीक्षा के लिए भेजें।
इस पैकेज परिवार को दुर्भावनापूर्ण घोषित कर रजिस्ट्री से हटाने के लिए संदर्भित किया गया है। चूंकि रिले-आधारित C2 किसी भी ऑपरेटर-स्वामित्व वाले होस्ट को सिंकहोल होने से बचाता है, इसलिए इसका स्थायी सुरक्षात्मक मूल्य ऊपर दिए गए व्यवहार संबंधी फिंगरप्रिंट में निहित है, न कि किसी एक ब्लॉकलिस्ट प्रविष्टि में।





