Игра Counter-Strike была выпущена компанией Valve еще в 2000 году. Несмотря на возраст игры, она имеет большую фанатскую базу — количество игроков с официальными клиентами CS 1.6 в среднем достигает 20 000 человек онлайн, а общее число зарегистрированных в Steam игровых серверов превышает 5000. Продажа, аренда и раскрутка серверов стали настоящим бизнесом в виде услуг на различных сайтах. К примеру, поднятие сервера в рейтинге на неделю стоит примерно 200 рублей, но большое количество покупателей при сравнительно небольших расходах делают эту стратегию довольно успешной бизнес-моделью. Многие владельцы популярных игровых серверов тоже зарабатывают за счет игроков, продавая различные привилегии: защита от бана, доступ к оружию и многое другое. Если одни держатели серверов рекламируются самостоятельно, то некоторые платят за раскрутку сервера поставщикам. Покупая такую услугу, заказчики часто не знают, какие методы используются для продвижения их серверов. Как выяснилось, разработчик под ником Belonard прибегал к нелегальным средствам раскрутки: его сервер заражал устройства игроков троянцем и использовал их для продвижения других игровых серверов.
Держатель вредоносного сервера использует уязвимости клиента игры и созданного им троянца как техническое обеспечение для своего бизнеса. Задача троянца заключается в том, чтобы проникнуть на устройство игрока и скачать вредоносное ПО, которое обеспечит автозапуск троянца в системе и его распространение на устройства других игроков. Для этого используются уязвимости Remote Code Execution (RCE): две такие уязвимости найдены в официальном клиенте игры и четыре в пиратском. Установившись в системе, Trojan.Belonard меняет список доступных игровых серверов в клиенте игры, а также создает на зараженном компьютере игровые прокси-серверы для распространения троянца. Как правило, на прокси-серверах — невысокий пинг, поэтому другие игроки видят их вверху списка серверов. Выбрав один из них, игрок попадает на вредоносный сервер и заражается Trojan.Belonard. Благодаря такой схеме разработчику троянца удалось создать ботнет, занимающий значительную часть игровых серверов CS 1.6. По данным наших аналитиков, из порядка 5000 серверов, доступных из официального клиента Steam, 1951 оказались созданными троянцем Belonard. Это составляет 39% процентов игровых серверов. Сеть такого размера позволила разработчику троянца продвигать другие серверы за деньги, добавляя их в списки доступных серверов зараженных игровых клиентов.
Ранее мы уже описывали похожий случай атаки через CS 1.6, где троянец попадал на устройство игрока через вредоносный сервер. Но если в том случае пользователь должен был подтвердить загрузку вредоносных файлов, то на этот раз троянец попадает на устройство незаметно для жертвы. «Доктор Веб» уведомил об этих и других уязвимостях разработчика игры — компанию Valve. Ее представители сообщили о том, что они работают над этой проблемой, но на данный момент нет информации о сроках, в которые уязвимости будут устранены. Тrojan.Belonard состоит из 11 компонентов и действует по разным сценариям в зависимости от клиента игры. Если клиент игры лицензионный, троянец попадает на устройство пользователя через RCE-уязвимость, эксплуатируемую вредоносным сервером, после чего обеспечивает себе установку в системе. По такому же сценарию происходит заражение чистого пиратского клиента. Если пользователь скачивает зараженный клиент с сайта владельца вредоносного сервера, установка троянца в системе происходит после первого запуска игры. Рассмотрим подробнее процесс заражения клиента. Игрок запускает официальный клиент Steam и выбирает сервер для игры. При подключении к вредоносному серверу задействуется одна из RCE-уязвимостей, в результате чего на компьютер игрока будет загружена, а затем выполнена троянская библиотека client.dll (Trojan.Belonard.1) или файл Mssv24.asi (Trojan.Belonard.5).
Попав на устройство, Trojan.Belonard.1 первым делом удаляет любые .dat файлы, находящиеся в одном каталоге с файлом процесса библиотеки. 28445 и отправляет ему шифрованный запрос на скачивание файла Mp3enc.asi (Trojan.Belonard.2). Сервер передает запрошенный файл в зашифрованном формате. Автозапуск на официальном или пиратском клиенте происходит за счет особенности клиента Counter-Strike. При запуске игра автоматически загружает любые файлы с расширением .asi из корня игры. Клиент, скачанный с сайта разработчика троянца, уже заражен Trojan.Belonard.10 (имя файла — Mssv36.asi), но обеспечение автозапуска в клиенте у него происходит иначе, чем на чистом. После установки зараженного клиента, Trojan.Belonard.10 проверяет наличие одного из своих компонентов в ОС пользователя. Если их нет, распаковывает из своего тела и загружает в память своего процесса Trojan.Belonard.5 (имя файла — Mssv24.asi). Как и многие другие модули троянца, Trojan.Belonard.10 подменяет дату и время создания, модификации, а также доступа к файлу. Это делается для того, чтобы нельзя было найти файлы троянца, отсортировав содержимое папки по дате создания.