TL; DR
Pakkett PyPI bl-isem kontroll tal-gcli bagħtet għodda kompluta ta' aċċess remot għall-Windows: reġistrazzjoni tat-tasti, qbid tal-webcam u l-mikrofonu, monitoraġġ tal-clipboard, aċċess għall-kredenzjali tal-browser, kontroll tal-iskrin, persistenza, elevazzjoni tal-privileġġi, u "140+ kmand" irreklamati minnha nnifisha. Ma ħbietx x'kienet: is-sommarju PyPI tal-pakkett stess iddeskrivieha bħala "Għodda ta' aċċess remot permezz ta' npoint.io".
Id-dettall li ta’ min jieqaf fuqu huwa dik il-frażi "permezz ta' npoint.io." Minflok ma jċempel server dedikat, l-impjant użat npoint[.]io (servizz leġittimu u bla ħlas għall-hosting ta' dokumenti JSON żgħar) bħala r-relay tal-kmand u l-kontroll tiegħu. L-operatur jikteb kmandi f'bin JSON; l-impjant jivverifika dak il-bin, jesegwixxi, u jikteb ir-riżultati lura. L-ebda dominju proprjetà ta' attakkant biex jimblokka, l-ebda IP ġdid biex jimmarka: it-traffiku jmur lejn servizz li l-iżviluppaturi jużaw kuljum.
Sitt verżjonijiet ġew ippubblikati f'madwar tlettax-il siegħa u nofs, kull waħda aktar kapaċi mill-aħħar. Kull waħda minnhom ġiet ikklassifikata ml_predicted_safe minn klassifikatur awtomatizzat qabel ma reviżjoni manwali kklassifikat mill-ġdid il-familja bħala malizzjuża.
Anatomija tal-attakk
kontroll tal-gcli jinstalla l-pakkett tal-importazzjoni gcli, kodiċi Python ta' 35 modulu. M'hemm l-ebda ħin ta' installazzjoni hooks — xejn ma jaħdem waqt installa pipIl-kapaċità tinsab fil-moduli nfushom, tiġi invokata ladarba l-għodda taħdem, u t-tqassim tal-modulu jinqara bħal folja tal-ispeċifikazzjonijiet tal-prodott:
| Żona ta' kapaċità | Moduli |
|---|---|
| Sorveljanza tal-ospitanti | keylog, webcam, audio, clipboard, desktop, monitoring |
| Aċċess għall-kredenzjali u d-dejta | browser, forensics, fileops, transfer, users |
| Pożizzjoni u eskalazzjoni | persistence, elevator, registry, security |
| Rikonoxximent tal-ospitanti u tan-netwerk | system, processes, network_config, wifi, bluetooth, netutils |
| Kmand u kontroll | client, host, session, protocol, npoint, crypto, encrypt |
Il-kanal tal-kmand huwa l-parti interessanti. Il-biċċa l-kbira tal-għodod ta' aċċess remot jilħqu server li l-operatur jikkontrolla — IP, dominju, fornitur ta' hosting li jista' jiġi rrappurtat u jitneħħa offline. kontroll tal-gcli minflok jittratta a servizz JSON-bin b'xejn bħala dead-drop. il punt n il-modulu jaqra u jikteb dokumenti JSON żgħar fuq npoint[.]io fuq HTTPS ordinarju; l- Kripto/kriptaġġ il-moduli jdawru l-payloads skambjati sabiex il-kontenut tal-bin ma jkunx kmandi plaintext. L-effett huwa relay medjat u kriptat:
- L-operatur idaħħal istruzzjoni (kriptata) f'kontenitur JSON.
- L-impjant, li jaħdem fuq il-host tal-vittma, jivverifika dak il-bin, jiddeċifra, jesegwixxi wieħed mill-maniġers tal-kmandi tiegħu, u jikteb ir-riżultat (kriptat) lura.
- Għal monitor tan-netwerk, il-vittma sempliċement qed titkellem ma' npoint[.]io — servizz b'raġuni leġittima biex jidher fit-traffiku tal-iżviluppaturi.
Hawnhekk m'hemm l-ebda download tat-tieni stadju u l-ebda loader offuscat: il-kapaċità tiġi sħiħa, f'Python li jinqara, u l-unika "moħbija" hija l-għażla tar-relay u l-kriptaġġ tal-payloads relayed.
Ta' min jispjega għaliex JSON-bin dead-drop huwa operattivament attraenti, għax jispjega għaliex nistennew li nerġgħu naraw il-mudell:
- L-ebda endpoint li jkun tal-operatur. M'hemm l-ebda dominju C2 x'jirreġistra, l-ebda VPS x'jikkiri, u xejn x'jiddefendi jew reġistratur x'jaqbad. Tneħħija tad- pakkett ma jmissx il-kanal; tneħħija tal- kanal ifisser li titlob lil SaaS għal skop ġenerali biex tissorvelja dokument wieħed fost miljuni.
- Ħasil tar-reputazzjoni. HTTPS 'il barra lejn servizz ta' żviluppatur magħruf sew ma jġorr l-ebda penalità ta' reputazzjoni li jkollha dominju ġdid jew IP mhux ipproċessat. Ħafna setups ta' filtrazzjoni tal-ħruġ jippermettu dan impliċitament.
- Asinkronija u ċaħda. Mudell ta' polling — l-impjant iġib dokument f'intervall minflok ma jżomm sokit miftuħ — jipproduċi traffiku li jidher qisu polling perjodiku tal-API, mhux sessjoni interattiva. Il-kriptaġġ tal-kontenut tad-dokument ifisser li anke analista li jsib il-bin jara ċifra, mhux lista ta' kmandi.
- Rotazzjoni trivialiIl-bidla għal bin differenti, jew servizz ta' noti/pejst differenti għalkollox, hija bidla fil-konfigurazzjoni ta' linja waħda għall-operatur. Kwalunkwe blocklist marbuta mar-relay speċifiku ma tibqax valida fil-mument li tintbagħat.
Il-kompromess li jaċċetta l-operatur huwa t-throughput u l-latency: relay dead-drop huwa aktar bil-mod u b'bandwidth aktar baxx minn konnessjoni diretta. Għal impjant ta' sorveljanza u kontroll li l-aktar joħroġ kmandi qosra u jiġbor riżultati maż-żmien, dak il-kompromess huwa faċli biex isir.
Kronoloġija
Il-familja eskalat malajr. It-timestamps tal-ħolqien tat-tickets għall-verżjonijiet immarkati jqiegħdu l-ark kollu osservat f'madwar tlettax-il siegħa u nofs, u l-għadd ta' evidenza tal-iskaner stess kiber flimkien mal-kodiċi — minn ftit siti mmarkati fl-ewwel verżjoni għal erbatax fl-aħħar waħda.
| verżjoni | L-ewwel darba li deher (UTC) | Nota |
|---|---|---|
0.1.0 | 2026-07-21 12:59 | Tlugħ inizjali; wiċċ minimu b'bandiera |
0.5.0 | 2026-07-21 18:01 | Il-kapaċità tespandi |
0.2.0 | 2026-07-21 18:03 | (in-numerazzjoni tal-verżjonijiet mhux monotonika bl-ordni tat-tlugħ) |
0.6.0 | 2026-07-22 00:44 | Sett ta' moduli usa' |
0.7.0 | 2026-07-22 01:58 | Sett ta' għodda kważi komplut |
0.7.1 | 2026-07-22 02:28 | L-aħħar; 35 modulu, kapaċità sħiħa |
In-numri tal-verżjonijiet ma ġewx ippubblikati f'ordni stretta, iżda d-direzzjoni hija ċara: l-ewwel qatgħa żgħira, imbagħad iterazzjoni rapida lejn il-verżjoni 0.7.1 b'karatteristiċi sħaħ. Din hija l-għamla ta' proġett taħt żvilupp attiv li qed jiġi mbuttat lejn reġistru pubbliku hekk kif jikber, mhux tnaqqis f'daqqa.
Indikaturi ta' Kompromess
L-indikaturi kollha hawn taħt ġew ikkonfermati kontra l-kontenut tal-pakkett fuq id-diska u skenn deterministiku tal-indikaturi tal-verżjoni 0.7.1; l-ebda wieħed mhu spekulattiv.
| tip | Indikatur |
|---|---|
| Pakkett (PyPI) | gcli-control, verżjonijiet 0.1.0, 0.2.0, 0.5.0, 0.6.0, 0.7.0, 0.7.1 |
| Pakkett ta' importazzjoni | gcli |
| Relay C2 | npoint[.]io (JSON-bin dead-drop; payloads kriptati) |
| Repożitorju ddikjarat | github[.]com/gcli-control/gcli |
| Marka tas-swaba' fl-imġiba | Moduli ta' sorveljanza ko-lokati: keylog, webcam, audio, clipboard, browser, flimkien mal-persistenza, il-lift, u saff ta' kmand tal-klijent/host/protokoll f'pakkett wieħed |
| Installa hooks | Xejn: il-kapaċità taħdem waqt l-eżekuzzjoni tal-għodda, mhux waqt l-installazzjoni |
Nota tad-difensur: L-aktar sinjal qawwi u durabbli mhuwiex id-dominju (relay host idur b'mod trivijali) iżda l- formapakkett wieħed li jiġbor flimkien tliet primittivi distinti ta' sorveljanza tal-ospitanti u, jgħaddi linja ta' kmand/rispons permezz ta' servizz pubbliku ta' hosting ta' kontenut. Imblukkar npoint[.]io Li tkun diretta mhix prattika għal ħafna ħwienet; li twissi dwar proċess mhux mistenni li kemm jaqbad apparati ta' input kif ukoll jikkomunika ma' servizz JSON-bin hija ħafna aktar robusta.
Imġieba osservata u tfassil
Żewġ affarijiet jagħmlu dan il-kampjun mhux tas-soltu, u t-tnejn huma fatti osservabbli aktar milli inferenzi dwar il-motiv.
Irreklamat lilha nnifisha. Is-sommarju tal-pakkett imqassam fuq PyPI enumera l-kapaċitajiet f'lingwaġġ sempliċi — aċċess remot, kontroll tad-desktop, ġestjoni tal-utenti, webcam, awdjo, keylogger, persistenza, dejta tal-browser, WiFi, reġistru, "140+ kmandi." Ma kien hemm l-ebda tentattiv biex il-kodiċi jingħata bħala helper tal-bini, wrapper tas-CLI, jew utilità tal-aġent tal-AI, li huwa l-aktar moħba komuni li naraw fuq ir-reġistri pubbliċi. Jekk dik il-ftuħ tirriflettix għodda tat-tim aħmar ippubblikata mingħajr kontrolli tal-aċċess jew xi ħaġa oħra hija kwistjoni li l-kontenut tal-pakkett waħdu ma jsolvix; dak li hu ċert huwa li toolkit ta' aċċess remot u sorveljanza għal skop ġenerali li jaħdem seta' jiġi installat minn kulħadd b'... pip.
Kien ibbaża ruħu fuq il-fiduċja f'servizz beninn. Bl-użu npoint[.]io billi r-relay hija t-teknika li tiddefinixxi. Huwa eżempju ta' mudell usa' — ir-rottaġġ ta' C2 permezz ta' SaaS leġittimu (siti tal-pejst, bins JSON, chat webhooks, dokumenti tal-cloud) sabiex it-traffiku malizzjuż jitħallat mal-attività normali tal-iżviluppatur u ma jkun hemm l-ebda endpoint tal-operatur li jista' jinħataf. Il-payloads fuq ir-relay kienu kriptati, għalhekk il-kontenut tal-bin ma kienx jinqara bħala kmandi għal osservatur każwali.
Is-sinjali tal-pubblikatur huma rqaq u ġeneriċi. Il-pakkett iddikjara awtur ta’ “kontributuri tal-gcli” u liċenzja tal-MIT, u pponta l-homepage u l-oqsma tar-repożitorju tiegħu lejn github[.]com/gcli-control/gcliXejn minn dan mhu verifika: string tal-awtur huwa test liberu, header tal-liċenzja MIT ma jiswa xejn, u URL ta' repożitorju fil-metadata tal-pakkett huwa talba, mhux prova tal-provenjenza. Il-mudell — isem ġdid fjamant, awtur kollettiv ġeneriku, u org/repo awtoreferenzjali maħluq madwar il-pakkett — huwa kif jidher proġett meta jitwaqqaf speċifikament biex iġorr il-kodiċi, aktar milli għodda stabbilita li ġara li żviluppat karatteristika ta' kontroll remot. Ninnotaw dawn bħala osservazzjonijiet; huma konsistenti ma', iżda ma jistabbilixxux waħedhom, distribuzzjoni mibnija apposta.
Aħna niddeskrivu d-dispożizzjoni bħala malizzjuża abbażi tal-kapaċità u l-kunsinna: impjant komplut u li jista' jitħaddem b'aċċess remot u sorveljanza, imqassam fuq indiċi ta' pakketti pubbliku b'relay sigriet. Ma nattribwixxux mira jew motiv.
Impatt, xejriet u x'jistgħu jagħmlu d-difensuri
Punt għama għal triage orjentat lejn it-travestiment. Ħafna ċwievet awtomatizzati tat-triage tal-pakketti fuq il- jaħbi sinjali ta' malware tipiku tar-reġistru — blobs mgħottija, ħin tal-installazzjoni hooks, kliem qasir dwar il-ġbir tal-kredenzjali. Pakkett li huwa sempliċiment apertament RAT, b'kodiċi nadif u leġġibbli u mingħajr ganċ ta' installazzjoni, ma jippreżenta l-ebda minn dawk it-twissijiet u jista' jgħaddi mill-ewristiċi li jistennew ħabi. Is-sinjali li jaqbdu din il-klassi b'mod affidabbli huma strutturali aktar milli bbażati fuq it-travestiment: ċensiment tal-kapaċità (kemm primitivi distinti ta' sorveljanza tal-host jeżistu flimkien f'pakkett wieħed) u analiżi tal-forma C2 (linja ta' kmand/rispons imdaħħla permezz ta' servizz ta' hosting ta' kontenut għal skop ġenerali). Dawk il-verifiki jattivaw irrispettivament minn kemm huma onesti jew imfixkel l-imballaġġ huwa.
Ix-xejra tas-SaaS bħala C2. L-abbuż ta' servizz ta' hosting leġittimu bħala mezz biex wieħed jevita l-aċċess mhux ġdid, iżda jibqa' jaħdem għaliex l-ispiża difensiva tal-imblukkar tas-servizz hija għolja u l-ispiża offensiva tal-bdil tas-servizzi hija qrib iż-żero. Stenna aktar minn hekk. Id-difiżi tan-netwerk iffukati fuq dominji ħżiena speċifiċi jiskadu immedjatament; ir-regoli tal-imġiba ("dan il-proċess jaqra l-clipboard u l-webcam u mbagħad jikkomunika ma' API li tospita n-noti") le.
Skeċċ ta' skoperta tal-konkrit. Ir-regola durabbli ma ssemmix npoint[.]io xejn. Dan jikkombina żewġ osservazzjonijiet li huma individwalment komuni iżda flimkien rari fuq żviluppatur normali jew host tas-CI:
twissija meta proċess wieħed, f'sessjoni waħda, it-tnejn li huma:
(A) jaċċessa primitive ta' sorveljanza tal-host — apparat ta' input (ganċ tat-tastiera/maws), kamera, mikrofonu, screen capture, clipboard read-loop, jew maħżen tal-kredenzjali tal-browser ("Login "Data" / "Stat Lokali" / DPAPI); U
(B) tagħmel talbiet 'il barra lil servizz pubbliku ta' content-hosting / paste / JSON-bin / chat-webhook imbagħad tqajjem għal reviżjoni, irrispettivament mis-servizz speċifiku f'(B).
L-ebda nofs mhu suspettuż waħdu: ħafna screenshots ta' għodod leġittimi, u ħafna posts JSON għal API ta' hosting. Il-konġunzjoni ġewwa proċess wieħed ta' żmien qasir hija s-sinjal, u tibqa' ħajja wara kwalunkwe rotazzjoni tar-relay.
Passi prattiċi għat-timijiet:
- Ittratta l-installazzjonijiet ta' pakketti pubbliċi fuq hosts tal-iżviluppaturi u tas-CI bħala limitu ta' eżekuzzjoni, mhux konvenjenza — RAT fuq aġent tal-bini huwa RAT bis-sigrieti tiegħek.
- Ippreferi mirja interni fuq il-lista permessa; pakkett li litteralment jismu għal kontroll remot u li jiddeskrivi keylogger qatt m'għandu jirriżolvi fuq indiċi korporattiv.
- Twissija dwar kombinazzjoni — apparat ta' input jew qbid tal-iskrin flimkien mat-traffiku 'l barra lejn servizz ta' kontenut/pejst/JSON-bin — aktar milli fuq kwalunkwe primittiv wieħed, li għandu użi beninni f'iżolament.
- Tiddependix fuq punteġġ awtomatizzat ta' "sigurtà" bħala verdett tat-terminal għal pakketti b'kapaċità wiesgħa ta' aċċess għall-host; ibgħathom għal reviżjoni umana.
Il-familja tal-pakketti ġiet ikklassifikata bħala malizzjuża u riferuta għat-tneħħija tar-reġistru. Minħabba li C2 ibbażat fuq relay ma jħalli l-ebda host proprjetà tal-operatur f'sinkhole, il-valur difensiv dejjiemi jinsab fil-marka tas-swaba' komportamentali ta' hawn fuq, mhux f'xi entrata waħda fil-blocklist.







