PyStoreRAT: KI-gesteuerte Supply-Chain-Malware, die IT- und OSINT-Profis ins Visier nimmt
Detection stack
- AIDR
- Alert
- ETL
- Query
Zusammenfassung
Morphisec hat eine koordinierte Malware-Operation aufgedeckt, die ruhende GitHub-Konten missbraucht, um von KI-generierte Repositories zu hosten, die letztendlich eine JavaScript/HTA-Hintertür namens PyStoreRAT bereitstellen. Der Loader profiliert den Host, lädt mehrere Nutzlasten, einschließlich des Rhadamanthys-Stealers, und passt sein Verhalten dynamisch an, wenn bestimmte AV-Lösungen erkannt werden. Er kann sich über Wechseldatenträger verbreiten und verlässt sich auf eine rotierende C2-Infrastruktur, um seine Module zu aktualisieren. Die Kampagne richtet sich weltweit an IT-Administratoren, Sicherheitsanalysten und OSINT-Experten.
Untersuchung
Forscher untersuchten die bösartigen GitHub-Projekte, isolierten die Backdoor-Komponenten und dokumentierten die gesamte Ausführungskette, einschließlich Systemprofiling, gestaffelter Nutzlastbereitstellung, AV-Umgehung, Verbreitung über Wechseldatenträger und bedarfsbasierte Modulnutzung. Der Bericht beschreibt außerdem die kreisförmige C2-Knotenarchitektur, die die Resilienz erhöht, sowie die Verwendung russischsprachiger Zeichenfolgen, um das Zielgebiet zu validieren. Die Analyse verbindet den Loader mit dem Rhadamanthys-Stealer und hebt seine Fähigkeit hervor, Startpfade zu ändern.
Abhilfemaßnahmen
Morphisec empfiehlt die Verwendung von Automated Moving Target Defense, um die Laufzeitumgebung des Loaders zu destabilisieren, unzuverlässige Ausführungsrouten zu blockieren und die Bereitstellung von Nutzlasten zu verhindern. Da traditionelle signaturbasierte Kontrollen unwirksam sind, sollten Verteidiger auf verhaltensgesteuerte und virtualisierungsbasierte Schutzmaßnahmen zurückgreifen. Auch die Einschränkung der Ausführung von Skripten aus unzuverlässigen Quellen sowie die genaue Überwachung der Wechseldatenträgeraktivität wird empfohlen.
Reaktion
Wenn PyStoreRAT-Aktivität identifiziert wird, isolieren Sie sofort den betroffenen Endpunkt, beenden Sie den Backdoor-Prozess und entfernen Sie alle persistenten Module. Führen Sie eine forensische Analyse durch, um IOCs zu sammeln, einschließlich C2-Domains, Datei-Hashes und geplante Aufgaben. Patchen Sie anfällige Software, erzwingen Sie strenge Ausführungspolitiken mit minimalen Privilegien und überwachen Sie kontinuierlich GitHub auf bösartige oder verdächtige Repository-Aktivitäten.
„graph TB %% Class Definitions classDef technique fill:#99ccff %% Node definitions technique_supply_chain[„<b>Technik</b> – <b>T1195.002 Lieferkettenkompromittierung</b><br /><b>Beschreibung</b>: Kompromittieren Sie ein öffentliches GitHub-Repository, um bösartigen Code in Projekte zu injizieren, die Opfer klonen.<br /><b>Subu2011technik</b>: Bösartige GitHub-Repos“] class technique_supply_chain technique technique_user_exec[„<b>Technik</b> – <b>T1204 Benutzerausführung</b><br /><b>Beschreibung</b>: Das Opfer führt das von der KIu2011generierte Projekt aus, das die bösartige Nutzlast enthält“] class technique_user_exec technique technique_obfuscation[„<b>Technik</b> – <b>T1027 Verschleierte Dateien oder Informationen</b><br /><b>Subu2011technik</b>: T1027.009 Eingebettete Nutzlasten<br /><b>Beschreibung</b>: Nutzlast ist in legitimen Dateien versteckt, um der Erkennung zu entgehen“] class technique_obfuscation technique technique_system_info[„<b>Technik</b> – <b>T1082 Systeminformationsentdeckung</b><br /><b>Beschreibung</b>: Sammeln von Betriebssystemversion, Hardwaredetails und anderen Hostinformationen“] class technique_system_info technique technique_software_disc[„<b>Technik</b> – <b>T1518 Softwareerkennung</b><br /><b>Beschreibung</b>: Aufzählung der installierten Anwendungen und Softwareversionen“] class technique_software_disc technique technique_c2_https[„<b>Technik</b> – <b>T1071.001 Webprotokolle</b><br /><b>Beschreibung</b>: Aufbau von Commandu2011andu2011Control-Kommunikation über HTTPS“] class technique_c2_https technique technique_removable_media[„<b>Technik</b> – <b>T1092 Kommunikation über Wechseldatenträger</b><br /><b>Beschreibung</b>: Verbreitung der bösartigen Nutzlast auf weitere Systeme über USB-Laufwerke“] class technique_removable_media technique %% Connections technique_supply_chain u002du002d>|führt zu| technique_user_exec technique_user_exec u002du002d>|führt zu| technique_obfuscation technique_obfuscation u002du002d>|führt zu| technique_system_info technique_system_info u002du002d>|führt zu| technique_software_disc technique_software_disc u002du002d>|führt zu| technique_c2_https technique_c2_https u002du002d>|führt zu| technique_removable_media „
Angriffsablauf
Erkennungen
Verdächtiges LOLBAS MSHTA Defense Evasion Verhalten durch Erkennung der zugehörigen Befehle (via process_creation)
Anzeigen
Verdächtige geplante Aufgabe (via Audit)
Anzeigen
Verdächtige Command-and-Control durch ungewöhnliche Top-Level-Domain (TLD) DNS-Anfrage (via DNS)
Anzeigen
Python-Ausführung aus verdächtigen Ordnern (via cmdline)
Anzeigen
Verdächtige Mshta-Ausführung ohne HTA-Datei (via cmdline)
Anzeigen
Erkennung von PyStoreRAT mit zirkulärer, rotierender C2-Infrastruktur und dynamischem Modul-Download [Windows-Netzwerkverbindung]
Anzeigen
Erkennung der Reaktivierung ruhender GitHub-Konten für bösartige Projekte [GitHub – Webserver]
Anzeigen
Simulation Ausführung
Voraussetzung: Der Telemetrie- und Basislinien-Vorflug-Check muss bestanden sein.
-
Angriffsnarrativ & Befehle:
- Reaktivieren Sie ein ruhendes Konto – der Angreifer verwendet die GitHub-Benutzeroberfläche oder API, um den Kontostatus von „ruhend“ auf „aktiv“ zu ändern.
- Veröffentlichen Sie ein von der KI‑generiertes bösartiges Repository – unmittelbar nach der Reaktivierung wird ein neues Repository namens
ai‑osint‑toolkiterstellt, das in einer README „AI‑generierte Projekte“ bewirbt. - Fügen Sie einen „Wartungs“-Commit hinzu , der die PyStoreRAT-Backdoor einbettet; die Commit-Nachricht enthält absichtlich das Wort „Wartung“, um die Erkennungsregel zu erfüllen.
- Drücken Sie den bösartigen Code – der Push generiert ein
PushAudit-Ereignis, aber die Regel, die wir testen, beobachtet nur dasKonto_ReaktivierungAudit-Eintrag, sodass der primäre Auslöser der Reaktivierungsprotokolleintrag mit der markierten Beschreibung ist.
-
Regressionstest-Skript: (Bash mit GitHub CLI
gh– setzt voraus, dass der angreifende Akteur ein persönliches Zugriffstoken mitadmin:orgBerechtigung hat)# simulate_attack.sh # Voraussetzungen: gh CLI installiert und authentifiziert als Angreifer # 1. Reaktivieren des ruhenden Kontos (simuliert durch Aktualisieren eines Benutzerfelds) gh api -X PATCH /admin/users/attacker_user -f state=active -f note="reactivation: AI-generated projects; maintenance commits scheduled" # 2. Bösartiges Repository erstellen gh repo create attacker_user/ai-osint-toolkit --public --description "AI‑generated OSINT tools" # 3. Bösartige Datei hinzufügen (PyStoreRAT) und commit cd ai-osint-toolkit echo "# PyStoreRAT backdoor" > pystorerat.py git add pystorerat.py git commit -m "Initial commit - maintenance commits: embed backdoor" git push origin main # 4. Optional: Erstellen Sie einen zweiten Wartungs-Commit, um die reale Aktivität nachzuahmen echo "# Update README" >> README.md git add README.md git commit -m "maintenance commit: update documentation" git push origin main -
Befehle zur Bereinigung:
# cleanup_attack.sh # Löschen Sie das bösartige Repository gh repo delete attacker_user/ai-osint-toolkit -y # Optional: Setzen Sie das Angreifer-Konto auf „ruhend“ zurück (falls API es zulässt) gh api -X PATCH /admin/users/attacker_user -f state=dormant