Den Angreifern ist es gelungen, unbemerkt schädlichen Code in das Plone-Repository einzufügen.

Die Entwickler des freien Content-Management-Systems Plone, das in Python und JavaScript/NodeJS geschrieben ist, haben einen Vorfall gemeldet, bei dem bösartiger Code in das Git-Repository des Projekts auf GitHub eingefügt wurde. Zunächst wurden im Repository drei Änderungen festgestellt, die am 7. Januar auftraten und bösartigen Code in die JavaScript-Dateien des Projekts einfügten. Eine Untersuchung des Vorfalls ergab, dass die Integration des bösartigen Codes durch die Kompromittierung des Kontos eines Entwicklers erfolgte, dessen Zugriffstoken von Angreifern nach dem Start von Malware in seinem System erbeutet wurde.

Am 14. Januar wurde das kompromittierte Konto gesperrt, und den Entwicklern des Projekts wurde geraten, die Commits vom 1. bis 14. Januar zu überprüfen. Am 27. Januar wurde festgestellt, dass die beobachteten Commits nicht die einzigen waren und die Attacke fünf Repositories des Projekts betroffen hatte (plone/volto, plone/mockup, plone/plone.app.mosaic, plone/critical-css-cli, plone/plonetheme.barceloneta), in die bösartiger Code unauffällig integriert wurde. Im Fall des Repositories plone.app.mosaic gelang es den Angreifern, den Master-Zweig zu manipulieren. Der Angriff fand zwei Monate nach dem Diebstahl des Zugangstokens des Entwicklers statt.

Für die Integration der Änderungen anstelle herkömmlicher Commits machten die Angreifer von der "force push"-Operation (git push mit der Option "--force") Gebrauch, die es ermöglicht, einen Zweig in einem externen Repository zwanghaft durch ihren Inhalt zu ersetzen und somit die Historie der Änderungen neu zu schreiben (nach der Ersetzung zeigt sich die Historie des vom Angreifer hochgeladenen Zweigs). Um in Zukunft ähnliche Zweiganpassungen zu verhindern, haben die Entwickler von Plone Regeln in GitHub eingeführt, die "force push"-Operationen für die Hauptzweige und Tags blockieren.

Im Repository plone.app.mosaic platzierten die Angreifer zur Erschwerung der Entdeckung der Kompromittierung einen bösartigen Commit in den Master-Zweig mit einem fiktiven Datum – dem 18. Dezember – in der Annahme, dass der Fokus bei der Suche nach bösartigem Code auf den Änderungen lag, die nach ihrem ersten Auftreten im Repository hinzugefügt wurden. Die bösartige Änderung wurde in dem gefälschten Commit als Beginn der Entwicklung einer neuen Testversion ausgegeben, doch neben der Änderung der Versionsnummer in den Metadaten (von 4.0.0a1 auf 4.0.0a2.dev0) wurde bösartiger Code in die während des Build-Vorgangs aufrufbare JavaScript-Datei prettier.config.js eingefügt. Um die Sichtbarkeit der Änderungen im Terminal zu verschleiern, wurde der Code in einer Zeile zusammen mit einer legitimen Operation eingefügt und durch Leerzeichen aus dem sichtbaren Bereich verschoben. Im GitHub-Interface wurde dieser Code ebenfalls standardmäßig nicht angezeigt und erforderte einen Klick auf die Schaltfläche "Load Diff".

Den Angreifern ist es gelungen, unbemerkt schädlichen Code in das Plone-Repository einzufügen.

Die Attacke richtete sich eher gegen die Entwickler des Projekts als gegen die Nutzer. Bösartige Änderungen gelangten nicht in die Veröffentlichung. Der bösartige Code wurde bei der Erstellung aktiviert, lud Exploits zur Privilegienerhöhung und richtete ein Autostart über den Aufruf eigener Prozesse aus Startskripten ein, wodurch eine Fernverwaltung ermöglicht wurde. Server. Außerdem führte das installierte bösartige Modul die Suche und den Versand vertraulicher Daten wie Zugangstokens, Browserprofile und Schlüssel für Krypto-Wallets durch.

Quelle: opennet.ru

Купить надежный хостинг для сайтов с защитой от DDoS, VPS VDS серверы 🔥 Купить надежный хостинг для сайтов с защитой от DDoS, VPS VDS серверы | ProHoster