Нападачи су успели да додају неоткривени злонамерни код у Plone репозиторијум

Програмери Плонеа, система за управљање садржајем отвореног кода написаног у Пајтону и Јаваскрипту/НодеЏС-у, објавили су инцидент у којем је злонамерни код додат у ГитХаб репозиторијум пројекта. У почетку су 7. јануара у репозиторијуму откривене три измене (1, 2, 3), које су додавале злонамерни код у Јаваскрипт датотеке пројекта (1, 2, 3). Истрага инцидента открила је да је злонамерни код убачен преко компромитованог налога једног од програмера, чији је приступни токен заробљен од стране нападача након што је злонамерни софтвер покренут на њиховом систему.

Дана 14. јануара, компромитовани налог је блокиран, а програмерима пројеката је саветовано да анализирају commit-ове од 1. до 14. јануара. Дана 27. јануара, откривено је да напад није био ограничен на посматране commit-ове и да је у пет репозиторијума пројеката (plone/volto, plone/mockup, plone/plone.app.mosaic, plone/critical-css-cli, plone/plonetheme.barceloneta) тајно убризган злонамерни код. У случају репозиторијума plone.app.mosaic, нападачи су успели да замене главну грану. Напад се догодио два месеца након што је програмеров приступни токен отет.

Да би интегрисали измене, уместо регуларних коммита, нападачи су користили операцију „force push“ (git push са опцијом „--force“), која им омогућава да присилно замене грану у екстерном репозиторијуму својим садржајем и, последично, препишу историју промена (након замене, приказује се историја из гране коју је учитао нападач). Да би спречили такву замену грана у будућности, програмери Plone-а су у GitHub-у укључили правила која блокирају операције „force push“ за главне гране и ознаке.

Да би спречили откривање компромита у репозиторијуму plone.app.mosaic, нападачи су убацили злонамерни commit у главну грану са фиктивним датумом 18. децембра, верујући да ће се претрага злонамерног кода фокусирати на измене додате након њихове почетне активности у репозиторијуму. Злонамерна промена је представљена у уметнутом commit-у као почетак новог тест издања, али поред промене броја верзије у метаподацима (са 4.0.0a1 на 4.0.0a2.dev0), злонамерни код је додат у JavaScript датотеку prettier.config.js која се позива током процеса изградње. Да би се сакрила промена приликом прегледа у терминалу, код је додат у исту линију као и легитимна операција и помакнут је од видљивог подручја помоћу размака. У GitHub интерфејсу, овај код такође није био приказан подразумевано и захтевао је клик на дугме „Load Diff“.

Нападачи су успели да додају неоткривени злонамерни код у Plone репозиторијум

Напад је више циљао програмере пројекта него његове кориснике. Злонамерне измене нису биле укључене у издање. Злонамерни код је активиран током изградње, учитавао је експлоите за ескалацију привилегија, конфигурисао аутоматско покретање позивањем својих процеса из скрипти за покретање и омогућавао даљинско управљање. серверПоред тога, инсталирана злонамерна компонента је тражила и слала поверљиве податке, као што су приступни токени, профили прегледача и кључеви крипто новчаника.

Извор: опеннет.ру

Купите поуздан хостинг за сајтове са ДДоС заштитом, ВПС ВДС сервере 🔥 Купите поуздан веб хостинг са DDoS заштитом, VPS VDS сервере | ProHoster