TL; DR
Pecyn PyPI o'r enw gcli-rheolaeth anfonodd offeryn mynediad o bell Windows cyflawn: cofnodi trawiadau allweddi, dal gwe-gamera a meicroffon, monitro clipfwrdd, mynediad at gredydau porwr, rheoli sgrin, dyfalbarhad, dyrchafu breintiau, a "140+ o orchmynion" hunan-hysbysebu. Ni chuddiodd yr hyn ydoedd: disgrifiodd crynodeb PyPI y pecyn ei hun ef fel "Offeryn mynediad o bell trwy npoint.io".
Y manylyn sy'n werth oedi arno yw'r ymadrodd hwnnw "trwy npoint.io." Yn hytrach na ffonio adref i weinydd pwrpasol, defnyddiwyd yr impiad pwynt[.]io (gwasanaeth dilys, rhad ac am ddim ar gyfer cynnal dogfennau JSON bach) fel ei gyfnewidydd gorchymyn a rheoli. Mae'r gweithredwr yn ysgrifennu gorchmynion i fin JSON; mae'r mewnblaniad yn holi'r bin hwnnw, yn ei weithredu, ac yn ysgrifennu canlyniadau yn ôl. Dim parth sy'n eiddo i'r ymosodwr i'w rwystro, dim IP newydd i'w fflagio: mae'r traffig yn mynd i wasanaeth y mae datblygwyr yn ei ddefnyddio bob dydd.
Cyhoeddwyd chwe fersiwn mewn tua tair awr ar ddeg a hanner, pob un yn fwy galluog na'r un olaf. Cafodd pob un ohonynt ei sgorio ml_rhagweledig_diogel gan ddosbarthwr awtomataidd cyn i adolygiad â llaw ailddosbarthu'r teulu fel un maleisus.
Anatomeg ymosod
gcli-rheolaeth yn gosod y pecyn mewnforio gcli, cod Python 35-modiwl. Nid oes unrhyw amser gosod hooks — does dim byd yn rhedeg yn ystod gosod pipMae'r gallu yn byw yn y modiwlau eu hunain, yn cael ei alw ar ôl i'r offeryn redeg, ac mae cynllun y modiwl yn darllen fel taflen manyleb cynnyrch:
| Ardal gallu | modiwlau |
|---|---|
| Gwyliadwriaeth gwesteiwr | keylog, webcam, audio, clipboard, desktop, monitoring |
| Mynediad at ddata a manylion mewngofnodi | browser, forensics, fileops, transfer, users |
| Troedle a dwysáu | persistence, elevator, registry, security |
| Adfer gwesteiwr a rhwydwaith | system, processes, network_config, wifi, bluetooth, netutils |
| Gorchymyn a rheolaeth | client, host, session, protocol, npoint, crypto, encrypt |
Y sianel orchymyn yw'r rhan ddiddorol. Mae'r rhan fwyaf o offer mynediad o bell yn cyrraedd gweinydd y mae'r gweithredwr yn ei reoli — IP, parth, darparwr cynnal y gellir ei adrodd a'i dynnu all-lein. gcli-rheolaeth yn hytrach yn trin a gwasanaeth JSON-bin am ddim fel gollwng-marw. Mae pwynt mae'r modiwl yn darllen ac yn ysgrifennu dogfennau JSON bach ar pwynt[.]io dros HTTPS cyffredin; y crypto/amgryptio Mae modiwlau'n lapio'r llwythi a gyfnewidir fel nad yw cynnwys y bin yn orchmynion testun plaen. Yr effaith yw ras gyfryngol, wedi'i amgryptio:
- Mae'r gweithredwr yn gollwng cyfarwyddyd (wedi'i amgryptio) i mewn i fin JSON.
- Mae'r mewnblaniad, sy'n rhedeg ar westeiwr y dioddefwr, yn pleidleisio'r hyn sy'n cael ei binio, yn dadgryptio, yn gweithredu un o'i drinwyr gorchymyn, ac yn ysgrifennu'r canlyniad (wedi'i amgryptio) yn ôl.
- I fonitor rhwydwaith, mae'r dioddefwr yn syml yn siarad â pwynt[.]io — gwasanaeth sydd â rheswm dilys i ymddangos mewn traffig datblygwyr.
Nid oes lawrlwythiad ail gam na llwythwr wedi'i gymylu yma: mae'r gallu'n cael ei gludo'n gyfan, mewn Python darllenadwy, a'r unig "guddio" yw'r dewis o gyfnewid ac amgryptio'r llwythi a gyfnewidir.
Mae'n werth egluro pam mae gollwng dead-bin JSON yn ddeniadol yn weithredol, oherwydd ei fod yn egluro pam rydym yn disgwyl gweld y patrwm eto:
- Dim pwynt terfyn sy'n eiddo i'r gweithredwr. Nid oes parth C2 i'w gofrestru, dim VPS i'w rentu, a dim byd i amddiffynwr na chofrestrydd ei atafaelu. Tynnu i lawr y pecyn nid yw'n cyffwrdd â'r sianel; tynnu i lawr y sianel yn golygu gofyn i SaaS cyffredinol blismona un ddogfen ymhlith miliynau.
- Gwyngalchu enw da. Nid yw HTTPS sy'n mynd allan i wasanaeth datblygwr adnabyddus yn cario unrhyw un o'r cosbau enw da y byddai parth newydd neu IP crai yn eu cosbi. Mae llawer o osodiadau hidlo all-lif yn ei ganiatáu'n ymhlyg.
- Asynchroniaeth a gwadu. Mae model pleidleisio — mae'r mewnblaniad yn nôl dogfen ar gyfnod yn hytrach na dal soced agored — yn cynhyrchu traffig sy'n edrych fel pleidleisio API cyfnodol, nid sesiwn ryngweithiol. Mae amgryptio cynnwys y ddogfen yn golygu bod hyd yn oed dadansoddwr sy'n dod o hyd i'r bin yn gweld testun amgryptio, nid rhestr orchmynion.
- Cylchdroi dibwysMae symud i fin gwahanol, neu wasanaeth nodiadau/gludo gwahanol yn gyfan gwbl, yn newid ffurfweddiad un llinell i'r gweithredwr. Mae unrhyw restr flocio sydd wedi'i allweddi i'r ras gyfnewid benodol yn hen y funud y mae'n cael ei hanfon.
Y cyfaddawd y mae'r gweithredwr yn ei dderbyn yw trwybwn a latency: mae ras gyfnewid gollwng-marw yn arafach ac yn llai o led band na chysylltiad uniongyrchol. Ar gyfer mewnblaniad gwyliadwriaeth-a-rheoli sy'n cyhoeddi gorchmynion byr yn bennaf ac yn casglu canlyniadau dros amser, mae'r cyfaddawd hwnnw'n hawdd i'w wneud.
Llinell Amser
Esgynnodd y teulu'n gyflym. Mae stampiau amser creu tocynnau ar gyfer y fersiynau â baner yn gosod y bwa cyfan a arsylwyd o fewn tua tair awr ar ddeg a hanner, a thyfodd cyfrif tystiolaeth y sganiwr ei hun ochr yn ochr â'r cod - o gwpl o safleoedd â baner yn y fersiwn gyntaf i bedair ar ddeg yn y fersiwn ddiweddaraf.
| fersiwn | Gwelwyd gyntaf (UTC) | Nodyn |
|---|---|---|
0.1.0 | 2026-07-21 12:59 | Llwythiad cychwynnol; arwyneb â fflag lleiaf |
0.5.0 | 2026-07-21 18:01 | Mae gallu yn ehangu |
0.2.0 | 2026-07-21 18:03 | (nid yw rhifo fersiynau yn fonotonig gyda threfn uwchlwytho) |
0.6.0 | 2026-07-22 00:44 | Set modiwlau ehangach |
0.7.0 | 2026-07-22 01:58 | Pecyn cymorth bron yn gyflawn |
0.7.1 | 2026-07-22 02:28 | Diweddaraf; 35 modiwl, gallu llawn |
Ni chyhoeddwyd rhifau'r fersiynau mewn trefn fanwl, ond mae'r cyfeiriad yn glir: toriad bach cyntaf, yna iteriad cyflym tuag at y 0.7.1 llawn nodweddion. Dyma siâp prosiect sy'n cael ei ddatblygu'n weithredol ac yn cael ei wthio i gofrestrfa gyhoeddus wrth iddo dyfu, nid gostyngiad untro.
Dangosyddion Cyfaddawd
Cadarnhawyd yr holl ddangosyddion isod yn erbyn cynnwys y pecyn ar y ddisg a sgan dangosyddion penderfynol o fersiwn 0.7.1; nid oes yr un ohonynt yn ddamcaniaethol.
| math | Dangosydd |
|---|---|
| Pecyn (PyPI) | gcli-control, fersiynau 0.1.0, 0.2.0, 0.5.0, 0.6.0, 0.7.0, 0.7.1 |
| Mewnforio pecyn | gcli |
| Relay C2 | npoint[.]io (JSON-bin dead-drop; llwythi wedi'u hamgryptio) |
| Storfa ddatganedig | github[.]com/gcli-control/gcli |
| Olion bysedd ymddygiadol | Modiwlau gwyliadwriaeth wedi'u cydleoli: keylog, webcam, audio, clipboard, browser, ynghyd â dyfalbarhad, elevator, a haen gorchymyn cleient/gwesteiwr/protocol mewn un pecyn |
| Gosod hooks | Dim: mae'r gallu yn rhedeg yn ystod amser rhedeg yr offeryn, nid yn ystod y gosodiad |
Nodyn yr amddiffynwr: nid y parth yw'r signal cryfaf a pharhaol (mae gwesteiwr ras gyfnewid yn cylchdroi'n ddibwys) ond y lunio: pecyn sengl sy'n bwndelu tri neu fwy o gyntefigion gwyliadwriaeth-gwesteiwr gwahanol ac yn llwybro dolen gorchymyn/ymateb trwy wasanaeth cynnal cynnwys cyhoeddus. Blocio pwynt[.]io mae'n gwbl anymarferol i'r rhan fwyaf o siopau; mae rhybuddio am broses annisgwyl sy'n cipio dyfeisiau mewnbwn ac yn siarad â gwasanaeth JSON-bin yn llawer mwy cadarn.
Ymddygiad a fframio a arsylwyd
Mae dau beth yn gwneud y sampl hon yn anarferol, ac mae'r ddau yn ffeithiau arsylladwy yn hytrach na chasgliadau am gymhelliad.
Fe wnaeth hysbysebu ei hun. Roedd crynodeb y pecyn a ddosbarthwyd ar PyPI yn rhestru'r galluoedd mewn iaith glir - mynediad o bell, rheoli bwrdd gwaith, rheoli defnyddwyr, gwe-gamera, sain, cofnodwr allweddi, dyfalbarhad, data porwr, WiFi, cofrestrfa, "140+ o orchmynion." Ni wnaed unrhyw ymgais i drosglwyddo'r cod fel cynorthwyydd adeiladu, lapio CLI, na chyfleustodau AI-asiant, sef y cuddwisg fwyaf cyffredin a welwn ar gofrestrfeydd cyhoeddus. P'un a yw'r agoredrwydd hwnnw'n adlewyrchu offeryn tîm coch a gyhoeddwyd heb reolaethau mynediad neu rywbeth arall yw cwestiwn nad yw cynnwys y pecyn yn ei ben ei hun yn ei ddatrys; yr hyn sy'n sicr yw bod pecyn cymorth mynediad o bell a gwyliadwriaeth cyffredinol, gweithredol, yn gallu cael ei osod gan unrhyw un â pip.
Roedd yn pwyso ar ymddiriedaeth mewn gwasanaeth diniwed. Defnyddio pwynt[.]io gan mai'r cyfnewidydd yw'r dechneg ddiffiniol. Mae'n enghraifft o batrwm ehangach — llwybro C2 trwy SaaS cyfreithlon (safleoedd gludo, biniau JSON, sgwrsio gwehooks, dogfennau cwmwl) fel bod y traffig maleisus yn cymysgu â gweithgaredd arferol y datblygwr ac nad oes pwynt terfyn sy'n eiddo i'r gweithredwr i'w atafaelu. Roedd y llwythi tâl ar y ras gyfnewid wedi'u hamgryptio, felly ni fyddai cynnwys y bin yn darllen fel gorchmynion i arsylwr achlysurol.
Mae signalau'r cyhoeddwr yn denau ac yn generig. Datganodd y pecyn Awdur o “gyfranwyr gcli” a thrwydded MIT, a chyfeiriodd ei dudalen gartref a meysydd ystorfa at github[.]com/gcli-control/gcliNid yw dim o hynny'n wirio: mae llinyn awdur yn destun rhydd, nid yw pennawd trwydded MIT yn costio dim, ac mae URL storfa mewn metadata pecyn yn hawliad, nid yn brawf o darddiad. Y patrwm - enw newydd sbon, awdur torfol generig, a sefydliad/repo hunangyfeiriol a grëwyd o amgylch y pecyn - yw sut olwg sydd ar brosiect pan gaiff ei sefydlu'n benodol i gario'r cod, yn hytrach nag offeryn sefydledig sy'n digwydd bod wedi tyfu nodwedd rheoli o bell. Nodwn y rhain fel arsylwadau; maent yn gyson â, ond nid ydynt ynddynt eu hunain yn sefydlu, dosbarthiad pwrpasol.
Rydym yn disgrifio'r gwarediad fel un maleisus ar sail gallu a chyflenwi: mewnblaniad mynediad o bell a gwyliadwriaeth cyflawn, y gellir ei redeg, wedi'i ddosbarthu ar fynegai pecyn cyhoeddus gyda chyfleuster cudd. Nid ydym yn priodoli targed na chymhelliad.
Effaith, tueddiadau a'r hyn y gall amddiffynwyr ei wneud
Man dall ar gyfer brysbennu sy'n canolbwyntio ar guddwisgoedd. Allweddi dosbarthu pecynnau awtomataidd llawer ar y cuddio signalau o meddalwedd faleisus cofrestrfa nodweddiadol — blobiau wedi'u cymylu, amser gosod hooks, geiriau un llinell sy'n casglu cymwysterau. Pecyn sydd yn syml yn agored yn RAT, gyda chod glân darllenadwy a dim bachyn gosod, nid yw'n cyflwyno unrhyw un o'r arwyddion hynny a gall lithro heibio i hewristigau sy'n disgwyl cuddio. Mae'r signalau sy'n dal y dosbarth hwn yn ddibynadwy yn strwythurol yn hytrach nag yn seiliedig ar guddwisg: cyfrifiad gallu (faint o gyntefigion gwyliadwriaeth gwesteiwr gwahanol sy'n cydfodoli mewn un pecyn) a dadansoddiad siâp C2 (dolen gorchymyn/ymateb a lwybrir trwy wasanaeth cynnal cynnwys cyffredinol). Mae'r gwiriadau hynny'n tanio waeth pa mor onest neu wedi ei ysgogi y pecynnu yw.
Y duedd SaaS-fel-C2. Nid yw camddefnyddio gwasanaeth cynnal cyfreithlon fel gwasanaeth 'dead-gost' yn beth newydd, ond mae'n parhau i weithio oherwydd bod cost amddiffynnol blocio'r gwasanaeth yn uchel a bod cost ymosodol newid gwasanaethau bron yn sero. Disgwyliwch fwy ohono. Mae amddiffynfeydd rhwydwaith sy'n gysylltiedig â pharthau drwg penodol yn heneiddio ar unwaith; nid yw rheolau ymddygiad (“mae'r broses hon yn darllen y clipfwrdd a'r we-gamera ac yna'n siarad ag API cynnal nodiadau”) yn gwneud hynny.
Braslun canfod concrit. Nid yw'r rheol barhaol yn enwi pwynt[.]io o gwbl. Mae'n cyfuno dau arsylwad sy'n gyffredin ar eu pen eu hunain ond yn brin ar y cyd ar ddatblygwr arferol neu westeiwr CI:
rhybudd pan fydd proses sengl, o fewn un sesiwn, y ddau:
(A) yn cyrchu dyfais fewnbwn cyntefig gwyliadwriaeth-gwesteiwr (bachyn bysellfwrdd/llygoden), camera, meicroffon, cipio sgrin, dolen ddarllen clipfwrdd, neu storfa gymwysterau porwr ("Login Data" / "Cyflwr Lleol" / DPAPI); A
(B) yn gwneud ceisiadau allanol i wasanaeth cynnal cynnwys / gludo / JSON-bin / chat-webhook cyhoeddus ac yna'n eu codi i'w hadolygu, waeth beth fo'r gwasanaeth penodol yn (B).
Nid yw'r naill hanner na'r llall yn amheus ar ei ben ei hun: digon o sgrinluniau o offer cyfreithlon, a digon o bostio JSON i API cynnal. Y cyfuniad o fewn un broses fyrhoedlog yw'r signal, ac mae'n goroesi unrhyw gylchdro ras gyfnewid.
Camau ymarferol ar gyfer timau:
- Trin gosodiadau pecynnau cyhoeddus ar westeiwyr datblygwyr a CI fel ffin gweithredu, nid cyfleustra — mae RAT ar asiant adeiladu yn RAT gyda'ch cyfrinachau.
- Ffafrio drychau mewnol rhestr ganiataedig; ni ddylai pecyn sydd wedi'i enwi'n llythrennol ar gyfer rheolaeth o bell ac yn disgrifio cofnodwr allweddi byth ddatrys ar fynegai corfforaethol.
- Rhybudd ar y cyfuniad — dyfais mewnbwn neu gipio sgrin ynghyd â thraffig allblyg i wasanaeth cynnwys/gludo/bin JSON — yn hytrach nag ar unrhyw un cyntefig, sydd â defnyddiau diniwed ar ei ben ei hun.
- Peidiwch â dibynnu ar sgôr "diogel" awtomataidd fel dyfarniad terfynol ar gyfer pecynnau sydd â gallu mynediad gwesteiwr eang; cyfeiriwch nhw at adolygiad dynol.
Mae'r teulu pecynnau wedi'i ddosbarthu'n faleisus ac wedi'i gyfeirio i'w ddileu o'r gofrestrfa. Gan nad yw C2 sy'n seiliedig ar gyfnewidydd yn gadael unrhyw westeiwr sy'n eiddo i weithredwr mewn twll suddo, mae'r gwerth amddiffynnol parhaol yn yr ôl bysedd ymddygiadol uchod, nid mewn unrhyw gofnod rhestr flocio sengl.





