PointBlank: PyPI RAT Jaħbi C2 f'Servizz JSON-Bin

PointBlank: Python RAT b'karatteristiċi sħaħ li mexxa l-kanal tal-kmand tiegħu permezz ta' servizz ta' hosting ta' noti b'xejn

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-ospitantikeylog, webcam, audio, clipboard, desktop, monitoring
Aċċess għall-kredenzjali u d-dejtabrowser, forensics, fileops, transfer, users
Pożizzjoni u eskalazzjonipersistence, elevator, registry, security
Rikonoxximent tal-ospitanti u tan-netwerksystem, processes, network_config, wifi, bluetooth, netutils
Kmand u kontrollclient, 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żjoniL-ewwel darba li deher (UTC)Nota
0.1.02026-07-21 12:59Tlugħ inizjali; wiċċ minimu b'bandiera
0.5.02026-07-21 18:01Il-kapaċità tespandi
0.2.02026-07-21 18:03(in-numerazzjoni tal-verżjonijiet mhux monotonika bl-ordni tat-tlugħ)
0.6.02026-07-22 00:44Sett ta' moduli usa'
0.7.02026-07-22 01:58Sett ta' għodda kważi komplut
0.7.12026-07-22 02:28L-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.

tipIndikatur
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' importazzjonigcli
Relay C2npoint[.]io (JSON-bin dead-drop; payloads kriptati)
Repożitorju ddikjaratgithub[.]com/gcli-control/gcli
Marka tas-swaba' fl-imġibaModuli 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 hooksXejn: 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.

sca-tools-software-composition-analysis-tools
Prijoritizza, irranġa, u assigura r-riskji tas-softwer tiegħek
Ikseb il-Kont B'Xejn tiegħek.
Mhix meħtieġa karta ta 'kreditu.

Assigura l-Iżvilupp u l-Kunsinna tas-Softwer tiegħek

bis-Suite tal-Prodotti Xygeni