A támadóknak sikerült észrevétlenül kártékony kódot hozzáadniuk a Plone tárolójához

A Plone, a Python és JavaScript/NodeJS alapú nyílt forráskódú tartalomkezelő rendszer fejlesztői bejelentették, hogy egy incidens következtében egy rosszindulatú kód került a projekt git-repozitóriumába a GitHub-on. A repóban eredetileg három, január 7-én keletkezett módosítást azonosítottak (1, 2, 3), amelyek rosszindulatú kódot adtak hozzá a projekt JavaScript fájljaihoz (1, 2, 3). Az incidens vizsgálata megállapította, hogy a rosszindulatú kód integrálására azért került sor, mert az egyik fejlesztő fiókját kompromittálták, és a hozzáférési tokenjét a támadók megszerezték, miután rosszindulatú szoftvert indítottak el a rendszerében.

Január 14-én a kompromittált fiókot letiltották, és a projekt fejlesztőinek azt javasolták, hogy elemezzék a január 1. és 14. közötti commiteket. Január 27-én kiderült, hogy a megfigyelt commitok nem korlátozódtak, és a támadás öt repozitóriumot érintett (plone/volto, plone/mockup, plone/plone.app.mosaic, plone/critical-css-cli, plone/plonetheme.barceloneta), amelyekbe rosszindulatú kódot integráltak észrevétlenül. A plone.app.mosaic repozitórium esetében a támadóknak sikerült a master ágat átkonfigurálniuk. A támadást két hónappal a fejlesztő hozzáférési tokenjének megszerzése után hajtották végre.

A változtatások integrálásához az elkövetők a szokásos commitok helyett „force push” műveletet használtak (git push —force opcióval), amely lehetővé teszi, hogy kényszerítve helyettesítsék az ágat a külső repozitóriumban saját tartalmukkal, és ennek megfelelően felülírják a változások történetét (a csere után a történelem az elkövető által feltöltött ágból jelenik meg). A jövőbeli ilyen ágcsere megakadályozása érdekében a Plone fejlesztői a GitHub-on szabályokat alkalmaztak, amelyek blokkolják a „force push” műveleteket a fő ágak és címkék esetében.

A plone.app.mosaic repository, to complicate the identification of compromise, attackers inserted a malicious commit into the master branch, with a fictitious date—December 18—believing that the search area for malicious code would focus on changes made after their initial activity in the repository. The malicious change was presented in the substituted commit as the beginning of the development of a new test release, but apart from changing the version number in the metadata (from 4.0.0a1 to 4.0.0a2.dev0), malicious code was added to the JavaScript file prettier.config.js, called during the build phase. To conceal it while reviewing changes in the terminal, the code was added in one line with a legitimate operation and moved out of the visible area using spaces. In the GitHub interface, this code was also not displayed by default and required pressing the 'Load Diff' button.

A támadóknak sikerült észrevétlenül kártékony kódot hozzáadniuk a Plone tárolójához

The attack targeted developers of the project more than users. The malicious changes were not included in the release. The malicious code was activated during the build, downloaded exploits for privilege escalation, configured auto-start by calling its processes from startup scripts, and allowed for remote management. szerverrelIn addition, the installed malicious component sought and sent confidential data such as access tokens, browser profiles, and cryptocurrency wallet keys.

Forrás: opennet.ru

Megbízható hosting vásárlása weboldalak számára, DDoS védelemmel, VPS VDS szerverek. 🔥 Megbízható webtárhely vásárlása DDoS védelemmel, VPS VDS szerverek | ProHoster