PointBlank: PyPI RAT Huficha C2 katika Huduma ya JSON-Bin

PointBlank: Python RAT yenye vipengele kamili ambayo iliendesha njia yake ya amri kupitia huduma ya kuhifadhi madokezo bila malipo

TL; DR

Kifurushi cha PyPI kilichopewa jina udhibiti wa gcli ilituma zana kamili ya ufikiaji wa mbali ya Windows: kumbukumbu ya vitufe, upigaji picha wa kamera ya wavuti na maikrofoni, ufuatiliaji wa ubao wa kunakili, ufikiaji wa vitambulisho vya kivinjari, udhibiti wa skrini, uvumilivu, uinuzi wa upendeleo, na "amri 140+" zinazojitangaza. Haikuficha ilikuwa nini: muhtasari wa PyPI wa kifurushi ulielezea kama "zana ya ufikiaji wa mbali kupitia npoint.io".

Maelezo yanayofaa kuahirishwa ni msemo huo "kupitia npoint.io." Badala ya kuiita seva maalum, kifaa cha kupandikiza kilitumia npoint[.]io (huduma halali na isiyolipishwa ya kuhifadhi hati ndogo za JSON) kama kielelezo chake cha amri na udhibiti. Mhudumu huandika amri kwenye pipa la JSON; kura za vipandikizi zinazoweka, kutekeleza, na kuandika matokeo. Hakuna kikoa kinachomilikiwa na mshambuliaji cha kuzuia, hakuna IP mpya ya kuashiria: trafiki huenda kwa watengenezaji wa huduma wanaotumia kila siku.

Matoleo sita yalichapishwa katika takriban saa kumi na tatu na nusu, kila moja ikiwa na uwezo zaidi kuliko ya mwisho. Kila moja lilipata alama ml_iliyotabiriwa_salama na kiainishaji otomatiki kabla ya ukaguzi wa mikono, waliiainisha upya familia hiyo kama yenye nia mbaya.

Anatomia ya mashambulizi

udhibiti wa gcli husakinisha kifurushi cha kuingiza gcli, msimbo wa Python wa moduli 35. Hakuna muda wa kusakinisha hooks — hakuna kinachoendelea wakati ufungaji wa bombaUwezo huishi katika moduli zenyewe, unaotumika mara tu kifaa kinapoanza kufanya kazi, na mpangilio wa moduli unasomeka kama karatasi ya vipimo vya bidhaa:

Eneo la uwezomodules
Ufuatiliaji wa mwenyejikeylog, webcam, audio, clipboard, desktop, monitoring
Uthibitishaji na ufikiaji wa databrowser, forensics, fileops, transfer, users
Kushikilia na kupandapersistence, elevator, registry, security
Urekebishaji upya wa seva mwenyeji na mtandaosystem, processes, network_config, wifi, bluetooth, netutils
Amri na udhibiticlient, host, session, protocol, npoint, crypto, encrypt

Njia ya amri ndiyo sehemu ya kuvutia. Vifaa vingi vya ufikiaji wa mbali hufikia seva ambayo opereta hudhibiti — IP, kikoa, mtoa huduma mwenyeji ambaye anaweza kuripotiwa na kuondolewa nje ya mtandao. udhibiti wa gcli badala yake hutendea huduma ya bure ya JSON-bin kama kikwazo cha kuzima. The npoint moduli husoma na kuandika hati ndogo za JSON kwenye npoint[.]io zaidi ya HTTPS ya kawaida; crypto/encrypt moduli hufunga mizigo iliyobadilishwa ili yaliyomo kwenye pipa yasiwe amri za maandishi wazi. Athari ni uwasilishaji uliosimbwa kwa njia fiche ulioingiliana:

  • Mhudumu hutupa maagizo (yaliyosimbwa kwa njia fiche) kwenye pipa la JSON.
  • Kipandikizi, kinachoendeshwa kwenye seva mwenyeji mwathiriwa, hupiga kura ambazo huondoa, huondoa usimbaji fiche, hutekeleza mmoja wa wasimamizi wake wa amri, na huandika matokeo (yaliyosimbwa kwa njia fiche).
  • Kwa mfuatiliaji wa mtandao, mwathiriwa anazungumza tu na npoint[.]io — huduma yenye sababu halali ya kuonekana katika trafiki ya wasanidi programu.

Hakuna upakuaji wa hatua ya pili na hakuna kipakiaji kisichoeleweka hapa: uwezo husafirishwa mzima, katika Python inayosomeka, na "kujificha" pekee ni chaguo la relay na usimbaji fiche wa payloads zinazorejeshwa.

Kwa nini JSON-bin dead-drop inavutia kiutendaji inafaa kuelezwa, kwa sababu inaelezea kwa nini tunatarajia kuona muundo tena:

  • Hakuna sehemu ya mwisho inayomilikiwa na mwendeshaji. Hakuna kikoa cha C2 cha kusajili, hakuna VPS ya kukodisha, na hakuna chochote cha mtetezi au msajili cha kunyakua. mfuko haigusi chaneli; kuondolewa kwa channel inamaanisha kuomba SaaS ya jumla ili kudhibiti hati moja miongoni mwa mamilioni.
  • Ufuaji wa sifa. HTTPS inayotoka kwenda kwa huduma inayojulikana ya msanidi programu haibebi adhabu yoyote ya sifa ambayo kikoa kipya au IP ghafi ingefanya. Mipangilio mingi ya kuchuja kutoka inaruhusu bila kutaja.
  • Ukosefu wa usawazishaji na kukataliwa. Mfano wa upigaji kura — kipandikizi huleta hati kwa muda badala ya kushikilia soketi iliyo wazi — hutoa trafiki inayoonekana kama upigaji kura wa API wa mara kwa mara, si kipindi shirikishi. Kusimba maudhui ya hati kwa njia fiche kunamaanisha hata mchambuzi anayepata pipa la taka huona maandishi ya siri, si orodha ya amri.
  • Mzunguko mdogoKuhamia kwenye pipa tofauti, au huduma tofauti ya kuandika/kubandika kabisa, ni mabadiliko ya usanidi wa mstari mmoja kwa opereta. Orodha yoyote ya vizuizi iliyo na ufunguo wa relay maalum huisha muda wake unaposafirishwa.

Makubaliano ambayo mwendeshaji anakubali ni upitishaji na ucheleweshaji: kipokezi cha dead-drop ni cha polepole na cha chini kuliko muunganisho wa moja kwa moja. Kwa kifaa cha ufuatiliaji na udhibiti ambacho hutoa amri fupi na kukusanya matokeo baada ya muda, ni rahisi kutengeneza biashara hiyo.

Timeline

Familia iliongezeka haraka. Muhuri wa muda wa kutengeneza tiketi kwa matoleo yaliyotiwa alama huweka safu nzima iliyoonekana ndani ya kama saa kumi na tatu na nusu, na hesabu ya ushahidi wa kichanganuzi yenyewe iliongezeka sambamba na msimbo — kutoka tovuti kadhaa zilizotiwa alama katika toleo la kwanza hadi kumi na nne katika toleo la hivi karibuni.

versionKuonekana kwa mara ya kwanza (UTC)Kumbuka
0.1.02026-07-21 12:59Upakiaji wa awali; sehemu ndogo iliyotiwa bendera
0.5.02026-07-21 18:01Uwezo hupanuka
0.2.02026-07-21 18:03(nambari za toleo si za monotoniki na mpangilio wa kupakia)
0.6.02026-07-22 00:44Seti pana ya moduli
0.7.02026-07-22 01:58Zana ya vifaa vya kielektroniki iliyo karibu kukamilika
0.7.12026-07-22 02:28Ya hivi karibuni; Moduli 35, uwezo kamili

Nambari za matoleo hazikuchapishwa kwa mpangilio mkali, lakini mwelekeo uko wazi: mkato mdogo wa kwanza, kisha urudiaji wa haraka kuelekea 0.7.1 iliyoangaziwa kikamilifu. Huu ni umbo la mradi unaoendelea kuendelezwa unaosukumwa kwenye sajili ya umma unapokua, si tone moja tu.

Viashiria vya Maelewano

Viashiria vyote vilivyo hapa chini vilithibitishwa dhidi ya yaliyomo kwenye kifurushi cha diski na uchanganuzi wa kiashiria cha toleo la 0.7.1; hakuna kinachoweza kukisia.

ainaKiashiria
Kifurushi (PyPI)gcli-control, matoleo 0.1.0, 0.2.0, 0.5.0, 0.6.0, 0.7.0, 0.7.1
Ingiza kifurushigcli
Reli ya C2npoint[.]io (JSON-bin imeshuka; mizigo iliyosimbwa kwa njia fiche)
Hifadhi iliyotajwagithub[.]com/gcli-control/gcli
Kidole cha alama za vidole cha kitabiaModuli za ufuatiliaji zilizoko pamoja: keylog, webcam, audio, clipboard, browser, pamoja na uvumilivu, lifti, na safu ya amri ya mteja/mwenyeji/itifaki katika kifurushi kimoja
Kufunga hooksHakuna: uwezo unafanya kazi wakati wa utekelezaji wa kifaa, si wakati wa usakinishaji

Dokezo la mlinzi: ishara imara zaidi si kikoa (mwenyeji wa relay huzunguka kidogo) bali sura: kifurushi kimoja kinachojumuisha vitu vitatu au zaidi tofauti vya ufuatiliaji wa mwenyeji na huelekeza mzunguko wa amri/majibu kupitia huduma ya upangishaji maudhui ya umma. npoint[.]io Haiwezekani kabisa kwa maduka mengi; kutoa taarifa kuhusu mchakato usiotarajiwa ambao unanasa vifaa vya kuingiza data na kuzungumza na huduma ya JSON-bin ni imara zaidi.

Tabia na uundaji uliozingatiwa

Mambo mawili hufanya sampuli hii kuwa isiyo ya kawaida, na yote mawili ni ukweli unaoonekana badala ya hitimisho kuhusu nia.

Ilijitangaza yenyewe. Muhtasari wa kifurushi kilichosambazwa kwenye PyPI uliorodhesha uwezo katika lugha rahisi — ufikiaji wa mbali, udhibiti wa eneo-kazi, usimamizi wa watumiaji, kamera ya wavuti, sauti, kibodi cha ufunguo, uvumilivu, data ya kivinjari, WiFi, usajili, "amri 140+." Hakukuwa na jaribio la kupitisha msimbo kama msaidizi wa ujenzi, kifungashio cha CLI, au huduma ya wakala wa AI, ambayo ndiyo siri ya kawaida tunayoiona kwenye sajili za umma. Ikiwa uwazi huo unaonyesha zana ya timu nyekundu iliyochapishwa bila vidhibiti vya ufikiaji au kitu kingine ni swali ambalo yaliyomo kwenye kifurushi pekee hayatatulii; jambo la uhakika ni kwamba zana ya ufikiaji wa mbali na ufuatiliaji inayofanya kazi, kwa madhumuni ya jumla, inaweza kusakinishwa na mtu yeyote aliye na pip.

Ilitegemea uaminifu katika huduma isiyo na madhara. Kutumia npoint[.]io kwani relay ndiyo mbinu inayofafanua. Ni mfano wa muundo mpana zaidi — kuelekeza C2 kupitia SaaS halali (tovuti za kubandika, mapipa ya JSON, wavuti ya gumzohooks, hati za wingu) ili trafiki hasidi ichanganyike na shughuli ya kawaida ya msanidi programu na hakuna sehemu ya mwisho inayomilikiwa na mwendeshaji ya kukamata. Mizigo kwenye relay ilisimbwa kwa njia fiche, kwa hivyo yaliyomo kwenye pipa la taka hayangesomwa kama amri kwa mwangalizi wa kawaida.

Ishara za mchapishaji ni nyembamba na za kawaida. Kifurushi hicho kilitangaza mwandishi ya "wachangiaji wa gcli" na leseni ya MIT, na kuelekeza ukurasa wake wa nyumbani na sehemu za hifadhi kwenye github[.]com/gcli-control/gcliHakuna hata moja kati ya hayo ni uthibitisho: kamba ya mwandishi ni maandishi huru, kichwa cha leseni ya MIT hakigharimu chochote, na URL ya hifadhi katika metadata ya kifurushi ni dai, si uthibitisho wa asili. Muundo — jina jipya kabisa, mwandishi wa pamoja wa jumla, na shirika/repo ya kujirejelea iliyoundwa kuzunguka kifurushi — ndivyo mradi unavyoonekana unaposimama mahsusi kubeba msimbo, badala ya zana iliyoanzishwa ambayo imekua kipengele cha udhibiti wa mbali. Tunabainisha haya kama uchunguzi; yanaendana na, lakini yenyewe hayaanzishi, usambazaji uliojengwa kwa kusudi.

Tunaeleza ulaji huo kama hatari kwa msingi wa uwezo na uwasilishaji: kifaa kamili cha ufikiaji wa mbali na ufuatiliaji kinachoweza kuendeshwa, kilichosambazwa kwenye faharasa ya kifurushi cha umma chenye kipokezi cha siri. Hatuhusishi shabaha au nia.

Athari, mitindo na kile ambacho watetezi wanaweza kufanya

Sehemu isiyoonekana kwa ajili ya triage inayolenga kujificha. Funguo za triage za kiotomatiki nyingi kwenye kifurushi kujificha ishara za programu hasidi ya kawaida ya usajili — matone yaliyofichwa, muda wa kusakinisha hooks, uvunaji wa hati miliki moja. Kifurushi ambacho ni rahisi waziwazi PAT, ikiwa na msimbo safi unaosomeka na bila ndoano ya usakinishaji, haionyeshi hata moja ya taarifa hizo na inaweza kupita heuristics zinazotarajia kufichwa. Ishara zinazoshika darasa hili kwa uaminifu ni za kimuundo badala ya kuficha: sensa ya uwezo (ni ngapi tofauti za primitives za ufuatiliaji wa mwenyeji zipo pamoja katika kifurushi kimoja) na uchanganuzi wa umbo la C2 (mzunguko wa amri/majibu unaopitia huduma ya upangishaji maudhui wa madhumuni ya jumla). Hizo huangalia moto bila kujali jinsi zilivyo za uaminifu au za imefungwa kifungashio ni.

Mwelekeo wa SaaS-as-C2. Kutumia vibaya huduma halali ya upangishaji kama njia ya kuzuia si jambo jipya, lakini linaendelea kufanya kazi kwa sababu gharama ya ulinzi ya kuzuia huduma ni kubwa na gharama ya kukera ya kubadilisha huduma ni karibu sifuri. Tarajia zaidi. Ulinzi wa mtandao unaozingatia vikoa maalum vibaya huisha mara moja; sheria za kitabia ("mchakato huu unasoma ubao wa kunakili na kamera ya wavuti kisha unazungumza na API ya upangishaji wa madokezo") haifanyi hivyo.

Mchoro wa kugundua zege. Sheria ya kudumu haitoi jina npoint[.]io kabisa. Inachanganya uchunguzi mbili ambao ni wa kawaida lakini kwa pamoja ni nadra kwa msanidi programu wa kawaida au mwenyeji wa CI:

tahadhari wakati mchakato mmoja, ndani ya kipindi kimoja, zote mbili:
(A) hufikia kifaa cha awali cha ufuatiliaji wa mwenyeji — kifaa cha kuingiza data (kibodi/kipanya), kamera, maikrofoni, kunasa skrini, usomaji wa ubao wa kunakili, au duka la vitambulisho vya kivinjari ("Login Data" / "Jimbo la Mitaa" / DPAPI); NA
(B) hutoa maombi ya kutoka kwa huduma ya umma ya kupangisha maudhui/kubandika/JSON-bin/chat-webhook kisha kuomba ukaguzi, bila kujali huduma mahususi katika (B).

Hakuna nusu inayotiliwa shaka peke yake: picha nyingi halali za zana, na nyingi huchapisha JSON kwenye API ya mwenyeji. Muunganisho ndani ya mchakato mmoja wa muda mfupi ni ishara, na hustahimili mzunguko wowote wa relay.

Hatua za vitendo kwa timu:

  • Chukulia usakinishaji wa vifurushi vya umma kwenye wasanidi programu na seva za CI kama mpaka wa utekelezaji, si urahisi — RAT kwenye wakala wa ujenzi ni RAT yenye siri zako.
  • Pendelea vioo vya ndani vilivyoorodheshwa vilivyoruhusiwa; kifurushi kilichopewa jina la udhibiti wa mbali na kinachoelezea kibodi cha ufunguo hakipaswi kamwe kuainishwa kwenye faharasa ya kampuni.
  • Tahadhari kwenye mchanganyiko — kifaa cha kuingiza au kunasa skrini pamoja na trafiki inayotoka kwenda kwenye huduma ya maudhui/kubandika/JSON-bin — badala ya kwenye kifaa chochote cha zamani, ambacho kina matumizi yasiyo na madhara katika kutengwa.
  • Usitegemee alama ya "salama" kiotomatiki kama uamuzi wa mwisho kwa vifurushi vyenye uwezo mpana wa kufikia seva mwenyeji; vielekeze kwenye ukaguzi wa kibinadamu.

Familia ya kifurushi imeainishwa kuwa hasidi na imeelekezwa kuondolewa kwa sajili. Kwa sababu C2 inayotegemea relay haiachi seva mwenyeji inayomilikiwa na opereta kwenye shimo la shimo, thamani ya ulinzi ya kudumu iko kwenye alama ya kidole cha kitabia hapo juu, si katika ingizo lolote la orodha ya vizuizi.

zana-za-sca-za-uchambuzi-wa-muundo-wa-programu
Weka kipaumbele, rekebisha, na ulinde hatari za programu yako
Pata Akaunti yako ya Bure.
Hakuna kadi ya mkopo inayotakiwa.

Linda Uundaji na Uwasilishaji wa Programu yako

na Xygeni Product Suite