TechNews.bg
АктуалноНовиниСигурностТоп новини

Мощна кибератака краде данни от GitHub за достъп до облачни хранилища и различни AI услуги

След проникването зловредният скрипт заличава следите, но същевременно оставя „задни врати”

(илюстрация: TechNews.bg, AI)

Популярното хранилище на софтуерни проекти GitHub беше използвано в кампания за мащабна кражба на данни, използвани за достъп до различни облачни услуги. Хакерите се насочиха към 8000 хранилища (репозитори), за да откраднат ключове за OpenAI, Anthropic и различни клауд услуги.

В периода между 10 и 12 ноември нападателите вмъкнаха зловредни промени (commits) в 8093 хранилища, като за целта използваха 4833 компрометирани акаунта, съобщи SafeDep. 

Обхватът на атаката надхвърли изходния код на продуктите – извършителите се прицелиха конкретно в секретни данни в GitHub Actions, идентификационни данни за облачни услуги и API ключове за популярни AI услуги, включително OpenAI, Anthropic и Hugging Face.

Според компанията Aikido Security, нападателите първо са тествали възможностите на откраднатите GitHub токени. Те са инициирали заявки за сливане (pull requests, предложения за обединяване на промени в дадено хранилище) с етикет „docs: dependency audit notes”. 

Заявките са идвали от клон (branch), наречен „wfx-docs”, и са съдържали малък файл с бележки. Това е послужило като тест, за да се установи дали компрометираният акаунт разполага с права за внасяне на промени в целевия проект.

Общо са били идентифицирани 61 879 такива заявки в 61 734 хранилища, като всички те са произлезли от въпросните 4833 компрометирани акаунта.

Към момента на анализа около 91% от тези заявки са останали отворени. В 1343 от засегнатите хранилища зловредните промени са били представени от името на лица, различни от собствениците на проекта – включително сътрудници и автоматизирани ботове.

След като получили достъп, нападателите внедрили зловреден код чрез един от три метода: добавяне на нов файл за работен процес (workflow file) в GitHub Actions към празно хранилище; промяна на съществуващи скриптове за автоматизирано изграждане (build scripts); или вмъкване на скрипт в куката „postinstall” на npm пакет, който се изпълнява при инсталация.

От 8093-те засегнати хранилища, в 7309 са били променени съществуващите CI (continuous integration) скриптове, в 16 са добавени нови файлове за работни процеси, а в 771 е бил внедрен зловреден инсталационен скрипт.

Последният метод е особено опасен, тъй като кодът може да се изпълни не само на сървър, но и на локалната машина на разработчика в момента на инсталиране на компрометирания пакет.

Основният инструмент, използван в атаката, е shell скрипт с дължина приблизително 1500 реда. Той събира поверителни данни от хранилища, променливи от GitHub Actions, токени за достъп, API ключове, конфигурации за облачни услуги, SSH ключове, история на командите в терминала, файлове с променливи на средата, както и конфигурации за инструменти, базирани на изкуствен интелект. 

Скриптът също така проверява паметта на процесите и променливите на средата, търсейки идентификационни данни, свързани с GitHub, AWS и други платформи. След това събраните данни се изнасят към отдалечени сървъри или се изпращат чрез Telegram.

Възможностите на зловредния софтуер надхвърлят кражбата на съществуващи пароли; той също така се опитва да получи достъп до облачна инфраструктура чрез OpenID Connect (OIDC) – протокол, който позволява на услугите да потвърждават самоличността, без да предават традиционна парола.

В AWS скриптът създава нови ключове за достъп и променя политиките за доверие на ролите (role trust policies). В Azure той добавя идентификационни данни към регистрациите на приложения в Microsoft Entra ID, което позволява на работните процеси (workflows) в GitHub да се автентифицират от името на тези приложения, дори след като клиентските тайни (client secrets) са били променени. Кодът включва също процедури за достъп до Google Cloud, HashiCorp Vault и Kubernetes.

Характерна особеност на тази кампания е старанието, с което се заличават всякакви следи от проникването. След изпълнение на зловредния скрипт, нападателите връщат хранилището в първоначалното му състояние, като премахват компрометираните промени. 

В един документиран случай зловреден файл се появява в 14:01 ч. UTC и изчезва до 14:05 ч. В проектите „redock” компрометираните комити (commits) са били отменени (rolled back) след около 50 секунди. Следователно, проверката на текущото състояние на едно хранилище не дава гаранция, че то не е било обект на атака.

Кампанията засяга и разпространението на софтуер извън GitHub. Зловреден код е открит във версия v3.14.3 на PHP пакета „neuronai-studio” в платформата Packagist, както и във версии v1.0.278, v1.0.280 и v1.0.282 на Go модула „redock”. 

Друг Go модул, „gocurl”, е получил злонамерен комит, който към момента е кеширан от прокси сървъра на Go. Освен това са открити злонамерени промени в 28 хранилища на WebdriverIO, публикувани от името на бот, наречен „wdio-bot”.

Прави впечатление, че не всички компрометирани версии автоматично изпълняват злонамерения код по време на стандартна инсталация. Например, при „gocurl” за изпълнението е било необходимо създаване на специфичен етикет (tag) на версията, докато злонамереният скрипт „redock” се е задействал само при внасяне на промени в клона „beta”.

Според разследващите, кампанията продължава и към момента на извършване на анализа. Нещо повече – посочените данни се отнасят единствено за публични хранилища и техните основни клонове; търсачката на GitHub не обхваща частни проекти или други клонове. Това означава, че реалният брой на засегнатите проекти може да е по-голям.

още от категорията

ФБР: има „несекваща киберзаплаха“ за индустриалните хладилни системи

TechNews.bg

Хакери откраднаха данни на граждани за 50-годишен период

TechNews.bg

AI агенти извършили „почти автономна кибератака“ срещу правителство

TechNews.bg

Необичайните кибератаки по страничните канали

TechNews.bg

Рансъмуер атака парализира работата на подразделение на Coca-Cola

TechNews.bg

Уязвимост в GitHub позволява достъп до милиони частни хранилища

TechNews.bg

Коментари