Útočníci zveřejnili více než 600 škodlivých balíčků v repozitáři Node Package Manager (npm) jako součást nové kampaně Shai-Hulud zaměřené na dodavatelský řetězec.
Většina napadených balíčků pochází z ekosystému @antv, který zahrnuje knihovny pro tvorbu grafů, vizualizaci sítí, vytváření vývojových diagramů a mapování. Zasaženy však byly i oblíbené balíčky mimo tento jmenný prostor.
Útok trvající jednu hodinu
Stejně jako v předchozí kampani Shai-Hulud, která postihla balíčky TanStack a Mistral, shromažďuje škodlivý payload tajné údaje z vývojářských prostředí a prostředí CI/CD a exfiltruje je prostřednictvím sítě Session P2P, čímž ztěžuje detekci a snahu o odstavení.
Útočník využil GitHub jako záložní mechanismus pro exfiltraci a zveřejňoval ukradená data v repozitářích pod účty obětí, pokud se mu podařilo získat tokeny pro publikování.
Podle společnosti Socket zaměřené na bezpečnost aplikací útočníci během přibližně jedné hodiny – konkrétně 19. května v době od 01:56 do 02:56 UTC – zveřejnili 639 škodlivých verzí napříč 323 unikátními balíčky.
Útok začal kompromitací npm účtu atool, který spravuje balíčky v prostoru @antv. Mezi postiženými knihovnami se nachází:
- echarts-for-react
- @antv/g2
- @antv/g6
- @antv/x6
- @antv/l7
- @antv/g2plot
- @antv/graphin
- timeago.js
- size-sensor
- canvas-nest.js
Výzkumníci z Endor Labs upozorňují, že některé balíčky (například timeago.js, size-sensor a jest-canvas-mock) dlouho neobdržely legitimní aktualizaci a s menší pravděpodobností měly nakonfigurovanou bezpečnostní funkci důvěryhodného publikování přes OIDC.
Například balíček jest-canvas-mock stále dosahuje 10 milionů stažení měsíčně, přestože je již přibližně 3 roky bez aktualizace.
Výzkumníci ze Socket průběžně udržují seznam artefaktů postižených všemi kampaněmi Shai-Hulud, který již přesáhl 1 000 položek.
Kampaně Shai-Hulud odstartovaly loni v září a nadále zasahují různé softwarové ekosystémy, jako jsou npm, PyPI a v menší míře i Composer.
Publikování na GitHub
Malware kompromituje účty správců nebo tokeny pro publikování, aby do legitimních balíčků vložil škodlivý kód kradoucí vývojářské a CI/CD přihlašovací údaje. Tyto údaje pak může zneužít k dalšímu šíření do dalších projektů.
Nejnovější vlna zahrnuje injekci silně obfuskovaného souboru index.js, který se pokouší odcizit přihlašovací údaje k GitHubu, npm, cloudovým službám, Kubernetes, Vault, Dockeru, databázím a SSH.
Zaměřuje se zejména na vývojářské pracovní stanice a CI/CD prostředí, včetně GitHub Actions, GitLab CI, Jenkins, Azure DevOps, CircleCI, Vercel, Netlify a dalších sestavovacích platforem.
Odcizená data jsou serializována, komprimována pomocí Gzip, šifrována algoritmem AES-256-GCM a obalena pomocí RSA-OAEP, aby byl ztížen síťový monitoring.
Jsou-li k dispozici přihlašovací údaje k GitHubu, malware prostřednictvím GitHub API automaticky zakládá nové repozitáře pod účtem oběti a nahrává do nich ukradená data.
Repozitáře vzniklé v důsledku tohoto útoku obsahují soubor Readme s řetězcem niaga og ew ereh :duluh-iahs, což je pozpátku napsaná fráze Shai-Hulud: Here We Go Again – slovní spojení, které bylo součástí úniku kódu malwaru Shai-Hulud z minulého týdne.
Platforma pro bezpečnost softwaru Aikido hlásí více než 2 700 podvodných repozitářů na GitHubu odpovídajících charakteristickým znakům kampaně. Vyhledávání provedené před zveřejněním tohoto článku ukázalo, že aktuálně existuje nejméně 2 900 repozitářů na GitHubu vygenerovaných poslední kampaní Shai-Hulud.
Hlavním kanálem pro exfiltraci dat je adresa filev2.getsession[.]org/file/ prostřednictvím P2P sítě Session. Microsoft sdílel také endpoint t.m-kosche.com sloužící k přenosu odcizených přihlašovacích údajů.
„Na síťové vrstvě jde o end-to-end šifrovaný provoz na TCP/443, který je k nerozeznání od legitimního provozu aplikace Session. Neexistuje žádný tradiční endpoint C2, který by bylo možné blokovat pomocí hostname nebo IP adresy,“ uvádějí výzkumníci z Endor Labs.
Balíček, který vypadá legitimně
Klíčovou novinkou, kterou výzkumníci z Endor Labs odhalili v této variantě Shai-Hulud, je schopnost generovat platné atestace provenance Sigstore zneužitím tokenů OpenID Connect (OIDC) z kompromitovaných CI prostředí a jejich odesíláním do Fulcio a Reko.
Podobná schopnost byla pozorována v payloadu využitém při útoku na TanStack přisouzeném skupině TeamPCP, kdy útočníci publikovali škodlivé verze balíčků s ověřitelnými atestacemi provenance SLSA (Supply-chain Levels for Software Artifacts).
Škodlivé npm balíčky tak mohou vypadat jako legitimně podepsané a projít standardními kontrolami ověření provenance, přestože obsahují malware kradoucí přihlašovací údaje.
V tomto útoku je přítomna i schopnost samovolného šíření. Malware ověří odcizené npm tokeny, vypíše balíčky vlastněné obětí, stáhne jejich archivy, vloží do nich škodlivý payload a znovu je publikuje s navýšenými čísly verzí.
Vzhledem k tomu, že kód Shai-Hulud byl nedávno skupinou TeamPCP uvolněn na GitHubu a již byl využit při útocích, je přisuzování nové kampaně Shai-Hulud konkrétnímu aktérovi obtížnější.
Zdroj: bleepingcomputer.com
Zdroj: IT SECURITY NETWORK NEWS


