Статья Выявление RAT на основе API Telegram

Как вы знаете Телеграм является популярным не только у рядовых пользователей, но и у злоумышленников. Теневые практики использования Телеграма довольно хорошо описаны . Но, меня интересует несколько иная сторона вопроса использования данного мессенджера - применение Telegram API для удалённого управления ПК. Проще говоря - использование Телеграма в качестве Remote Access Toolkit. Как и большинство других RAT, Телеграм может быть использован как во благо, так и не очень. И во втором случае у него возникают как минимум 2 преимущества:
  • абсолютная легальность с точки зрения различного антивирусного (and sort of) ПО
  • относительная простота конструирования агента, использующего Telegram API. На ютьюбе куча готовых мануалов на данную тему - создать легальный RAT-агент может кто угодно
Кстати, на том же Github поделок на эту тему не меньше:

llv8w07f0_0iuawyvopk0mnsaum.jpeg

В качестве примера возьмём проект mvrozanti/RAT-via-Telegram и скомпилируем его, получив готовый исполняемый файл.
Судя по мануалу, эта штука умеет выполнять довольно обширный список команд:

Код:
arp - display arp table
capture_pc - screenshot PC
cmd_exec - execute shell command
cp - copy files
cd - change current directory
delete - delete a file/folder
download - download file from target
decode_all - decode ALL encoded local files
dns - display DNS Cache
encode_all - encode ALL local files
freeze_keyboard - enable keyboard freeze
unfreeze_keyboard - disable keyboard freeze
get_chrome - Get Google Chrome's login/passwords
hear - record microphone
ip_info - via ipinfo.io
keylogs - get keylogs
ls - list contents of current or specified directory
msg_box - display message box with text
mv - move files
pc_info - PC information
ping - makes sure target is up
play - plays a youtube video
proxy - opens a proxy server
pwd - show current directory
python_exec - interpret python
reboot - reboot computer
run - run a file
schedule - schedule a command to run at specific time
self_destruct - destroy all traces
shutdown - shutdown computer
tasklist - display services and processes running
to - select targets by it's name
update - update executable
wallpaper - change wallpaper

Кроме широкого функционала, эта штуковина ещё и автоматически закрепляется в автозагрузке жертвы, при этом работая в качестве сервиса. То есть после запуска исполняемого файла потенциальная жертва имеет на своём ПК постоянно работающий агент удалённого управления, который умеет "косить" под различные сервисы/процессы, перезапускается после перезагрузки и не выявляется антивирусным ПО.

Правда, есть пара ограничений:
  • агент взаимодействует с серверами Телеграм (api.telegram.org), что может быть заблокировано на уровне файрвола (РКН, слава Аллаху, не так давно открыл доступ)
  • агент работает в контексте пользователя, в сеансе которого он был запущен. Так что при низком уровне прав доступа функционал агента ограничен
Так, но мы здесь за форензику, поэтому теперь поговорим о том, как его выявлять.
  1. Смотрим в Autoruns на предмет нестандартных приложений с автоматическим запуском. Искажённые названия, отсутствие цифровой подписи, странное размещение файлов - примеры триггеров, которые мы ищем. Здесь же, в Autoruns, мы можем сразу проверить обнаруженный артефакт на Virustotal.

    llv8w07f0_0iuawyvopk0mnsaum.jpeg

  2. Смотрим в различные мониторы активности процессов (Process Explorer, Process Hacker etc). Поскольку мы говорим про Телеграм RAT, то в первую очередь ищем процессы с активными сетевыми подключениями к пулу адресов api.telegram.org

    llv8w07f0_0iuawyvopk0mnsaum.jpeg llv8w07f0_0iuawyvopk0mnsaum.jpeg

  3. Проект, который мы взяли в качестве примера, написан на питоне. При запуске распаковываются библиотеки и модули, необходимые для работы агента. В последствии агент обращается к ним и данная активность так же может быть обнаружена в мониторе процессов Process Monitor.

    llv8w07f0_0iuawyvopk0mnsaum.jpeg

  4. К данному моменту, с учётом использованных инструментов, вы уже можете знать точное размещение файлов агента. Это поможет вам в определении даты и времени первого запуска агента. Можно использовать программы для анализа данных prefetch.

    llv8w07f0_0iuawyvopk0mnsaum.jpeg

  5. Если покопаться в "живой" ОЗУ или в её дампе, то можно найти отсылки к api.telegram.org и core.telegram.org Но нужно учитывать факт наличия реального клиента Телеграм-мессенджера. Кстати, когда используют Telegram API для создания подобных агентов, используют питоновский , поэтому в слепке памяти будут встречаться соответствующие строки.

    llv8w07f0_0iuawyvopk0mnsaum.jpeg llv8w07f0_0iuawyvopk0mnsaum.jpeg

  6. Ну и трафик, конечно же, очень показательные следы содержит.

    llv8w07f0_0iuawyvopk0mnsaum.jpeg

    Вот такие дела. Понятное дело, что следы плюс-минус будут отличаться в зависимости от используемых модулей Python (если агент создан на нём), либо - если был использован другой язык разработки - следы будут соответствующие. В основном нужно ориентироваться на следы, завязанные на IP- и DNS-адреса серверов Telegram.
 

Shadow User

Green Team
10.07.2017
138
29
BIT
0
Мда, я думал, что уже все видел. Только один вопрос: "Нафига?"
 

Shadow User

Green Team
10.07.2017
138
29
BIT
0
Нафига использовать легетимное ПО для удалённого управления компом?
Это ёще больший изврат, чем termux!

Нафига использовать легетимное ПО для удалённого управления компом?
Вспомнилась одна публикация: https://habr.com/ru/company/vdsina/blog/512824/
 

tannenbaum

One Level
21.07.2020
8
26
BIT
0
Это ёще больший изврат, чем termux!
Я исхожу из того, что злоумышленники стараются минимально "шуметь" при внедрении в инфраструктуру. Если есть возможность использовать для профайлинга рабочих станций легетимное ПО, которое не вызывает "подозрений" у разных IDS/IPS, то оно может быть использовано. К тому же, факты использования телеги для подобных атак
 
07.08.2020
10
2
BIT
0
Баян, темболее способ с динамическим анализом, даже не динамическим анализом, а уже запущенным RAT, что влечён утечку данных. Очень непрофессионально.

Боже... Чел... Вместо того что бы палить через отладку, ты просто открываешь монитор, и следишь как твои файлы уже отправляются злоумышленнику... Это всё можно сделать намнооого легче, без последствий, ещё и вдабавок своруешь API от бота, где можешь им управлять, написать изи софт для спамма по chat_id злоумышленнику и слить ему бота.
 
  • Нравится
Реакции: Shadow User

tannenbaum

One Level
21.07.2020
8
26
BIT
0
Баян, темболее способ с динамическим анализом, даже не динамическим анализом, а уже запущенным RAT, что влечён утечку данных. Очень непрофессионально.

Боже... Чел... Вместо того что бы палить через отладку, ты просто открываешь монитор, и следишь как твои файлы уже отправляются злоумышленнику... Это всё можно сделать намнооого легче, без последствий, ещё и вдабавок своруешь API от бота, где можешь им управлять, написать изи софт для спамма по chat_id злоумышленнику и слить ему бота.

Похер на твоё мнение вообще )))
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!