Свое название рекламное ПО PBot (PythonBot) получило из-за того, что его основные модули написаны на Python. Впервые мы обнаружили представителя этого семейства более года назад. За время своего существования программа встречалась нам в нескольких модификациях, одна из которых даже выходила за рамки рекламного ПО, устанавливая и скрытно запуская майнер на компьютерах пользователей:
Другие две обнаруженные нами вариации PBot имели одну цель – дополнять нежелательной рекламой веб-страницы, посещаемые жертвой. В обоих вариантах данная рекламная программа первоначально пытается внедрить в браузеры вредоносную DLL-библиотеку. В первом варианте она используется для запуска на страницах JS-скриптов, отображающих на них рекламу, а во втором – для установки в браузер рекламных расширений. Последний случай является наиболее интересным: разработчики постоянно выпускают новые версии этой модификации, в каждой из которых усложняют обфускацию скриптов. Также отличительной особенностью данной вариации Pbot является наличие в ней модуля, который обновляет скрипты и скачивает свежие расширения для браузеров.
В течение апреля мы зафиксировали более 50 тысяч попыток установки PBot на компьютеры пользователей продуктов «Лаборатории Касперского». В следующем месяце это значение увеличилось, что говорит о «подъеме» этой рекламной программы. Основной аудиторией PBot являются Россия, Украина и Казахстан.
Способы распространения
Как правило PBot распространяется через сайты-партнеры, которые внедряют в свои страницы скрипты, перенаправляющие пользователя на рекламные ссылки.
Типичная схема распространения PBot:
- Пользователь заходит на сайт-партнер;
- При нажатии на любую точку страницы всплывает новое окно браузера, открывающее промежуточную ссылку;
- Промежуточная ссылка перенаправляет пользователя на страницу загрузки PBot, задача которой — обманным путем добиться его скачивания и запуска на компьютере жертвы. Вот часть кода одной из таких страниц:
- Начинается скачивание hta-файла, который при запуске скачивает установщик PBot.
Схема работы
PBot состоит из нескольких python-скриптов, выполняющихся последовательно. В новых версиях программы они обфусцированы с помощью Pyminifier.
В свежих версиях PBot модули выполняются по следующей схеме:
- Исходный файл *.hta скачивает в %AppData% исполняемый файл, который является NSIS-инсталлятором PBot.
- Инсталлятор «дропает» в %AppData% папку с интерпретатором Python 3, python-скрипты и расширение для браузеров.
- Скрипт ml.py с помощью библиотеки subprocess добавляет в планировщик заданий Windows две задачи. Первая нацелена на выполнение ml.py при входе пользователя в систему, вторая – ежедневно в 5:00 запускает app.py. Также при помощи библиотеки winreg скрипт app.py прописывается в автозагрузку.
- Скрипт launchall.py запускает app.py, который отвечает за обновление скриптов PBot и скачивание новых расширений для браузеров.
- Далее launchall.py проверяет, активны ли следующие процессы:
- browser.exe
- chrome.exe
- opera.exe
- Если процессы найдены, запускается скрипт brplugin.py, который формирует DLL-библиотеку. Последняя инжектится в запущенный браузер и устанавливает рекламное расширение.
Расширение для браузера, устанавливаемое 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: развивающееся рекламное ПО