![](https://habrastorage.org/webt/89/jx/be/89jxbebbwzkohpwgjla7n34kzi0.png)
Случалось такое: надо срочно найти утилиту под специфическую задачу, например, «конвертер видео», но точного названия не знаешь и надо гуглить? Другие пытаются сэкономить и сразу используют установщик для пиратского софта. Перейдя по первой же ссылке в поисковой выдаче и обнаружив заветную кнопку Download, пользователь без особых раздумий запускает скачанный софт, даже не подозревая, какую опасность может скрывать обычный, на первый взгляд, файл. Илья Померанцев, руководитель группы исследований и разработки CERT-GIB, рассматривает три кейса, жертва которых могла стать «входными воротами» для вредоносной программы и даже случайным соучастником хакерской атаки. Помните: 23% пиратских ресурсов представляют опасность — содержат вредоносные программы либо присутствуют в «черных списках» антивирусных вендоров.
![](https://habrastorage.org/webt/yj/ll/px/yjllpxvqa3pznzxqdqhaodg0gum.png)
Кейс 1
В начале ноября 2020 года отдел мониторинга и реагирования на компьютерные инциденты CERT-GIB зафиксировал подозрительную активность на одном из наших зарубежных сенсоров. Внимание привлек User-Agent в http-коммуникации при скачивании исполняемого файла, а также отсутствие поля Referer: это говорит о том, что загрузка была инициирована не пользователем.
![](https://habrastorage.org/webt/jw/vn/th/jwvnthm5nnrnnuw2vfil_o67glm.png)
Мы передали файл на анализ вирусному аналитику.
Анализ файла
Сигнатурное сканирование в утилите Detect Is Easy не дало результата, после чего файл был открыт в hex-редакторе и причина стала ясна.
![](https://habrastorage.org/webt/np/6i/nr/np6inrlmxcmiut9lmxlehmyej8m.png)
В начале файла был записан байт
0x0A
. Это подтвердило наше предположение, что файл предназначен для запуска не пользователем. Сам сэмпл представляет собой установщик Inno Installer. Анализ сценария установки показал, что после распаковки должен запускаться извлеченный исполняемый файл.![](https://habrastorage.org/webt/2j/0e/ow/2j0eowg1ualnepfianqxu0krytm.png)
Установочная директория C:\Program Files\Ound Recorder\ будет содержать следующие файлы:
![](https://habrastorage.org/webt/bc/pl/le/bcplledpphujgbdnneuri1nlino.png)
Файл mp3recorder.exe содержит большой фрагмент сжатых данных.
![](https://habrastorage.org/webt/9x/zz/ib/9xzzibzokimri4zmjz_w1jagvy8.png)
ВПО закрепляется в системе как системный сервис. Для этого либо создается новый с названием TranslateService, либо заменяется оригинальный файл GoogleUpdate.exe.
![](https://habrastorage.org/webt/0e/ns/4y/0ens4yj7nrynkyewuvylnoov5uw.png)
После распаковки получаем динамическую библиотеку, которая и представляет собой полезную нагрузку. При старте первым делом осуществляется проверка имени файла. Интересный факт: ВПО продолжит работу, игнорируя это условие, если оно запущено в подсистеме SysWOW64.
![](https://habrastorage.org/webt/mc/_b/1d/mc_b1dvfag785enj3v95c0fqrls.png)
Далее формируется HID, который в дальнейшем будет использоваться в качестве пароля для получения нового командного центра.
Для взаимодействия с CnC используется алгоритм генерации доменных имен. Для их разрешения поочередно используются 5 DNS-серверов, зашитые в ВПО:
- 163.172.91[.]242
- 217.23.6[.]51
- 151.80.38[.]159
- 217.23.9[.]168
- 37.187.122[.]227
Если же ни один из них не отвечает — сгенерированный домен используется в качестве логина для сервиса bddns[.]cc. Пароль, как мы писали, — HID.
![](https://habrastorage.org/webt/8k/uu/9j/8kuu9j7kmbuddffw4j7nybzn-_i.png)
Интервал обращения к серверу — 15 секунд.
При достижении лимита в 1500 запросов ВПО обращается по URL /global.php к IP-адресу, с которым была последняя удачная коммуникация. В ответ оно ждет полезную нагрузку в виде зашифрованного исполняемого файла, который будет запущен без сохранения на диск.
Если удалось успешно получить адрес командного центра — выполняется http-запрос вида:
/single.php?c={Зашифрованные данные}
Для шифрования используется RC4 с ключом heyfg645fdhwi.
Исходные данные имеют вид:
client_id=[HID]&connected=[Флаг установленного соединения]&server_port=[Порт Proxy-сервера]&debug=[Захардкоженное значение 35]&os=[Версия операционной системы]&dgt=[]&dti=[]
Последние два значения — контрольная сумма системного времени и даты.
Для взаимодействия используется User-Agent Mozilla/5.0 (Windows; U; MSIE 9.0; Windows NT 9.0; en-US).
Ответ сервера зашифрован RC4 с тем же ключом.
После расшифровки можно получить строку вида:
c=[Команда]&[Некоторая последовательность аргументов, зависящая от переданной команды]
ВПО может принимать следующие команды:
- disconnect — разорвать соединение
- idle — удерживать соединение
- updips — обновить список auth_ip на указанные в команде
- connect — установить соединение с указанным хостом
Команда должна содержать следующие параметры:
- ip — IP-адрес хоста
- auth_swith — использовать авторизацию
Если установлено значение «1» — ВПО получает параметры auth_login, auth_pass. Если установлено значение «0» — троянцу передается параметр auth_ip, в противном случае соединение не установится. - auth_ip — аутентификация по IP
- auth_login — логин для авторизации
- auth_pass — пароль для авторизации
- block — список портов, по которым будет запрещено взаимодействие
c=connect&ip=51.15.3.4&auth_swith=0&auth_ip=178.132.0.31:500;217.23.5.14:500;185.158.249.250:300;193.242.211.170:300;151.0.6.74:300;185.87.194.13:300;35.192.146.152:300;176.31.126.122:300&auth_login=&auth_pass=&block=25;465;995
Далее на машине жертвы поднимается TCP-сервер и используется в качестве Proxy-сервера при проведении дальнейших атак.
Такая вот на первый взгляд безобидная страничка для скачивания софта может привести к тому, что вы станете звеном в цепочке атаки на государственное предприятие или банк, и именно ваш IP может стать входной точкой при расследовании дела правоохранительными органами.
Кейс 2
Этот пример относится к схеме мошенничества, которая активно используется уже более 10 лет, однако до сих пор не потеряла своей актуальности.
Пользователь в поисках нелицензионного софта переходит по ссылке из поисковой системы, например, Google:
![](https://habrastorage.org/webt/vv/kw/zz/vvkwzzmkvuaoaruot5p8vbj2poy.png)
Первичная страница служит исключительно для привлечения внимания поисковых роботов и содержит бессвязный текст с разными вариациями ключевых слов в соответствии с тематикой запроса, на который она должна выдаваться:
![](https://habrastorage.org/webt/qk/8v/43/qk8v43uyglodcjarckzib0m8gvw.png)
После открытия подгружается и исполняется скрипт, который перенаправляет пользователя на целевую страницу с заветной кнопкой «Скачать»:
![](https://habrastorage.org/webt/il/b1/_f/ilb1_f6ugoksegg68eru0sc4_7m.png)
Возможные сомнения пользователя, по задумке злоумышленников, должны быть развеяны поддельными комментариями из сети ВКонтакте и присутствием иконки антивируса Касперского рядом с надписью «Вирусов нет».
При попытке скачивания вас попросят ввести номер телефона, на который должен быть отправлен «код активации»:
![](https://habrastorage.org/webt/bb/c9/sg/bbc9sgtxb5raglvc2vovljeswys.png)
А затем придется еще и отправить СМС на короткий номер.
![](https://habrastorage.org/webt/fv/j6/5d/fvj65dhhz_nbfjjulx5wy52bp6c.png)
По итогу вы оформите подписку, за которую с вас будут ежедневно списываться 30 рублей, а ресурс сообщит вам, что файл был удален и скачать его нельзя:
![](https://habrastorage.org/webt/j_/ns/k2/j_nsk2brgi0ocpvpq09gjfwhaok.png)
Кейс 3
Рассмотрим еще один сценарий. На этот раз будем искать популярный активатор для Windows 10 — KMSAuto. Нас снова встречает страница с большой зеленой кнопкой «Скачать»:
![](https://habrastorage.org/webt/u-/mi/xp/u-mixp8afiqn_p_juj_2ko9ynps.png)
В архиве лежат файлы активатора, однако сам активатор подозрительно большого размера:
![](https://habrastorage.org/webt/jh/rm/iq/jhrmiqt4lxjfqftjwykyzf-yk_8.png)
Сигнатурный анализ показывает, что это NSIS-установщик, который распаковывается обычным архиватором 7z:
![](https://habrastorage.org/webt/-1/bn/ei/-1bneiszkf6ufeowfbu8beebive.png)
Внутри оригинальный исполняемый файл KMSAuto и приложение с многообещающим названием start3.exe, которое представляет собой откомпилированный AutoIt-скрипт:
![](https://habrastorage.org/webt/gu/wo/ni/guwoniksphakkkb9fa8n9gnhljo.png)
![](https://habrastorage.org/webt/w0/ru/kw/w0rukwiqk2m4rp_vtocys_1x_v0.png)
Скрипт извлечет на диск и распакует архив CR_Debug_Log.7z, который содержит два исполняемых файла под 32-хбитную и 64-хбитную архитектуру соответственно. Оба файла — также откомпилированные AutoIt-скрипты.
В рамках этой статьи мы отметим лишь основные действия, которые они выполняют.
ВПО сохраняет на диск архив с файлами Tor и исполняемый файл 7z для его распаковки. С помощью Tor скачивается исполняемый файл по одной из следующих ссылок:
- ist4tvsv5polou6uu5isu6dbn7jirdkcgo3ybjghclpcre5hzonybhad[.]onion/public/32/32.txt
- bobsslp6f4w23r2g375l6ndbbz7i5uwg7i7j5idieeoqksuwm4wy57yd[.]onion/public/32/32.txt
- shmauhvdvfcpkz7gl23kmkep5xtajau3ghxtswur6q5bznnpmfam3iqd[.]onion/public/32/32.txt
- nt4flrgftahnjzrazdstn2uwykuxuclosht46fnbwlcsjj4zaulomlad[.]onion/public/32/32.txt
![](https://habrastorage.org/webt/-o/tz/xg/-otzxg8ir63vgwarsawnz62vhva.png)
Файл представляет собой закодированный 7z-архив, внутри которого содержится исполняемый файл майнера XMRig.
Управляющий сервер расположен по адресу 185.186.142[.]17 на порту 3333.
Заключение
Скачивая программы через поисковые системы, важно помнить о правилах цифровой гигиены. А что касается пиратского софта, тут все очевидно — бесплатный сыр бывает сами знаете где.
mistergrim
Со скриншотов прямо возрыдал, такая ностальгия.