Исследование

Pbot: развивающееся рекламное ПО

Свое название рекламное ПО PBot (PythonBot) получило из-за того, что его основные модули написаны на Python. Впервые мы обнаружили представителя этого семейства более года назад. За время своего существования программа встречалась нам в нескольких модификациях, одна из которых даже выходила за рамки рекламного ПО, устанавливая и скрытно запуская майнер на компьютерах пользователей:

Код майнера, устанавливаемого из-под PBot

Другие две обнаруженные нами вариации PBot имели одну цель – дополнять нежелательной рекламой веб-страницы, посещаемые жертвой. В обоих вариантах данная рекламная программа первоначально пытается внедрить в браузеры вредоносную DLL-библиотеку. В первом варианте она используется для запуска на страницах JS-скриптов, отображающих на них рекламу, а во втором – для установки в браузер рекламных расширений. Последний случай является наиболее интересным: разработчики постоянно выпускают новые версии этой модификации, в каждой из которых усложняют обфускацию скриптов. Также отличительной особенностью данной вариации Pbot является наличие в ней модуля, который обновляет скрипты и скачивает свежие расширения для браузеров.

В течение апреля мы зафиксировали более 50 тысяч попыток установки PBot на компьютеры пользователей продуктов «Лаборатории Касперского». В следующем месяце это значение увеличилось, что говорит о «подъеме» этой рекламной программы. Основной аудиторией PBot являются Россия, Украина и Казахстан.

Способы распространения

Как правило PBot распространяется через сайты-партнеры, которые внедряют в свои страницы скрипты, перенаправляющие пользователя на рекламные ссылки.
Типичная схема распространения PBot:

  1. Пользователь заходит на сайт-партнер;
  2. При нажатии на любую точку страницы всплывает новое окно браузера, открывающее промежуточную ссылку;
  3. Промежуточная ссылка перенаправляет пользователя на страницу загрузки PBot, задача которой — обманным путем добиться его скачивания и запуска на компьютере жертвы. Вот часть кода одной из таких страниц:

    Код страницы, распространяющей PBot

  4. Начинается скачивание hta-файла, который при запуске скачивает установщик PBot.

    Цепочка распространения PBot

Схема работы

PBot состоит из нескольких python-скриптов, выполняющихся последовательно. В новых версиях программы они обфусцированы с помощью Pyminifier.

Обфусцированный код скриптов

В свежих версиях PBot модули выполняются по следующей схеме:

Установка PBot

  1. Исходный файл *.hta скачивает в %AppData% исполняемый файл, который является NSIS-инсталлятором PBot.
  2. Инсталлятор «дропает» в %AppData% папку с интерпретатором Python 3, python-скрипты и расширение для браузеров.
  3. Скрипт ml.py с помощью библиотеки subprocess добавляет в планировщик заданий Windows две задачи. Первая нацелена на выполнение ml.py при входе пользователя в систему, вторая – ежедневно в 5:00 запускает app.py. Также при помощи библиотеки winreg скрипт app.py прописывается в автозагрузку.
  4. Скрипт launchall.py запускает app.py, который отвечает за обновление скриптов PBot и скачивание новых расширений для браузеров.
  5. Далее launchall.py проверяет, активны ли следующие процессы:
    • browser.exe
    • chrome.exe
    • opera.exe
  6. Если процессы найдены, запускается скрипт brplugin.py, который формирует DLL-библиотеку. Последняя инжектится в запущенный браузер и устанавливает рекламное расширение.

    Запись DLL в память процесса браузера и выполнение библиотеки

Расширение для браузера, устанавливаемое PBot, как правило, дополняет страницы различными баннерами, а также перенаправляет пользователя на рекламные сайты.

Всплывающее окно с рекламным роликом на сайте www.kaspersky.com – результат работы PBot

Заключение

В погоне за прибылью владельцы рекламного ПО часто прибегают к скрытой установке своих продуктов и разработчики PBot — не исключение: они выпускают новые версии программ (а также обновляют их на компьютерах пользователей), усложняя обфускацию, чтобы обойти защитные системы.
Решения «Лаборатории Касперского» детектируют PBot со следующими вердиктами:
AdWare.Win32.PBot
AdWare.NSIS.PBot
AdWare.HTML.PBot
AdWare.Python.PBot

IoCs:
3cd47c91d8d8ce44e50a1785455c8f7c
1aaedcf1f1ea274c7ca5f517145cb9b5
bb2fbb72ef683e648d5b2ceca0d08a93
23e7cd8ca8226fa17e72df2ce8c43586
ad03c82b952cc352b5e6d4b20075d7e1
0cb5a3d428c5db610a4565c17e3dc05e
3a6ad75eb3b8fe07c6aca8ae724a9416
184e16789caf0822cd4d63f9879a6c81

Pbot: развивающееся рекламное ПО

Ваш e-mail не будет опубликован. Обязательные поля помечены *

 

Отчеты

StripedFly: двуликий и незаметный

Разбираем фреймворк StripedFly для целевых атак, использовавший собственную версию эксплойта EternalBlue и успешно прикрывавшийся майнером.

Азиатские APT-группировки: тактики, техники и процедуры

Делимся с сообществом подходами, которые используют азиатские APT-группировки при взломе инфраструктуры, и подробной информацией о тактиках, техниках и процедурах (TTPs) злоумышленников, основанной на методологии MITRE ATT&CK.

Как поймать «Триангуляцию»

Эксперты «Лаборатории Касперского» смогли получить все этапы «Операции Триангуляция»: эксплойты нулевого дня для iOS, валидаторы, имплант TriangleDB и дополнительные модули.

Подпишитесь на еженедельную рассылку

Самая актуальная аналитика – в вашем почтовом ящике