Ein schädliches Modul in Go, das von golang.org passiert / x / crypto stiehlt Passwörter und entfaltet eine Hintertür in Linux

Veröffentlicht 4 min de lectura 125 Lesen

In den letzten Wochen hat die Sicherheitsgemeinschaft Alarm für eine Kampagne gegeben, die das Vertrauen in die Go-Ökosystem-Versorgungskette ausschöpft. Forscher haben ein in GitHub gehostetes schädliches Modul identifiziert, das die offizielle Buchhandlung imitiertgolang.org / x / cryptound der Code einführt, um Passwörter zu erfassen, den dauerhaften Zugriff durch SSH zu öffnen und schließlich eine Backdoor auf Linux-Systemen zu implementieren.

Das erkannte Repository, in github.com / xinfeisoft / Krypto und noch sichtbar in pkg.go.dev, nutzen Sie die Verwirrung zwischen Raumnamen und der üblichen Praxis der Behandlung von GitHub als Spiegel von Go's Subrepositories. Laut dem Socket-Team, nutzt der bösartige Schauspieler genau diese Mehrdeutigkeit, so dass die Abhängigkeit scheint legitim in den Einheitsgraphen und geht unbemerkt in Oberflächenbewertungen; Sie können die komplette Analyse auf dem Socket-Blog lesen Hier..

Ein schädliches Modul in Go, das von golang.org passiert / x / crypto stiehlt Passwörter und entfaltet eine Hintertür in Linux
Bild generiert mit IA.

Was macht den schädlichen Code ist einfach und besonders gefährlich: es ändert die Datei, die der Terminal-Implementierung für die Funktion entspricht, die Passwörter im versteckten Modus liest. Jedes Mal, wenn eine Anwendung diese Routine anruft, um sensible Eingaben anzufordern, nimmt das Modul es vom Benutzer ab und sendet es an einen vom Angreifer gesteuerten Server. Diese Information bleibt nicht im Repository übrig: Das Modul erhält dann von einer externen Ressource ein Shell-Skript, das als erste Intrusionsstufe fungiert.

Das heruntergeladene Skript funktioniert als Manager typisch: Fügen Sie die SSH-Taste des Angreifers in die Berechtigungsdatei des Benutzers (z.B. / home / ubuntu / .ssh / autorisiert _ key) hinzu, versuchen Sie, Firewall-Richtlinien zu entspannen, um eingehende Kommunikation zu erleichtern und zusätzliche Gebühren mit der .mp5extension verschleiert herunterladen. Eine solche Ladung scheint ein kleines Assistenzprogramm zu sein, das die Konnektivität überprüft und versucht, mit einem Remoteserver in Richtung 154.84.63.184 über den TCP 443 Port zu sprechen; sein Verhalten passt zu dem einer Erkennungskomponente oder Ladegerät, die den Boden für spätere Phasen vorbereitet.

Die zweite Last ist besonders beunruhigend: es ist Rekoobe, ein Trojaner für Linux, der seit Jahren bekannt ist. Es gibt öffentliche Aufzeichnungen und Analysen, die die Anwesenheit von Rekoobe seit mindestens 2015 dokumentieren, und technische Publikationen haben detailliert, wie diese Backdoor Ihnen erlaubt, Remote-Befehle auszuführen, neue Binaries herunterladen, Dateien stehlen und Reverse Shells setzen. Mehrere Berichte haben ihre Varianten an Gruppen im Zusammenhang mit Spionageoperationen, einschließlich staatlich motivierter Akteure, verwandt; Sie können die Forschung zu Rekoobe in Quellen wie Dr. Web, Smart Technische Analyse Technische Daten.

Dieser Fall zeigt zwei gefährliche Vektoren kombiniert: einerseits die Supplantierung eines hochwertigen Moduls - einer, die an einem kritischen Punkt wie das Lesen von Passwörtern in der Konsole liegt - und andererseits die Verwendung von dynamischen Hosting (raw.githubusercontent.com und externen Ressourcen) als Rotationsmechanismus für schädliche Infrastruktur. Laut den Forschern ist dieses Muster billig, um für die Angreifer und mit hoher Wirkung umzusetzen, so dass wir wahrscheinlich Imitationen sehen, die auf andere Bibliotheken, die für den Umgang mit Anmeldeinformationen verantwortlich sind: SSH-Hilfsstoffe, CLI-Anforderungen zur Authentifizierung oder Datenbank-Anschlüsse, unter anderem.

Ein schädliches Modul in Go, das von golang.org passiert / x / crypto stiehlt Passwörter und entfaltet eine Hintertür in Linux
Bild generiert mit IA.

Die Gemeinschaft und die Nutzer des Go-Ökosystems haben durch Blockierung des schädlichen Pakets an bekannten Checkpoints reagiert, aber der Vorfall dient als Erinnerung: die bloße Präsenz eines Moduls in einem öffentlichen Index garantiert seine Integrität nicht. Übergangseinheiten können kritische Lücken öffnen, und Teams müssen annehmen, dass jede Schnittstelle, die Geheimnisse berührt, zusätzlichen Schutz verdient.

Für Entwickler und Sicherheitsbeamte umfasst dies unter anderem die Validierung und Einstellung von Einheitsversionen, die sorgfältige Überprüfung von Änderungen in Drittmodulen, die mit Anmeldeinformationen interagieren, unter Verwendung von Proxies und Summenkontrollmechanismen (go.sum) und die Überwachung von Sicherheitsalarmen auf impersonierten Paketen. Es ist auch wichtig, externe Versorgungskanäle zu prüfen (scripts heruntergeladen von curl) 124; sh, enthalten in ro.githubusercontent.com, etc.) und das Vertrauen in unbeschriebene und unkontrollierte Downloads zu reduzieren.

Kurz gesagt, die Folge ist ein Aufruf, die Hygienepraktiken in der Software-Versorgungskette zu stärken: Wenn eine Buchhandlung den Rand berührt, wo Geheimnisse behandelt werden, kann eine kleine schädliche Modifikation schnell zu einem vollständigen Eindringen werden. Die Veröffentlichungen der Forschungsteams und der Repositories, die diese Kampagnen dokumentieren, sind wertvolle Ressourcen zum Verständnis der Technik und zur besseren Vorbereitung; konsultieren Sie den Bericht Socket für technische Details und Beispiele, wie die Kampagne durchgeführt wurde Hier., und die Analyse auf Rekoobe, wenn Sie die Fähigkeiten der Hintertür im Feld in den vorherigen Links vertiefen möchten.

Deckung

Verwandte Artikel

Weitere Neuigkeiten zum selben Thema.