导语:卡巴斯基安全研究人员新发现了基于python的广告软件变体,这些变体不仅用于注入广告,还在受害者的计算机中安装恶意浏览器插件和隐密的挖矿程序。

广告软件PBot(PythonBot)因其核心模块是用Python编写而得名。一年多前,我们发现了这个家族的第一个成员。从那以后,我们陆续见到了该程序的一些修改版,其中一个在受害者计算机上安装并运行隐密的挖矿软件(超出了广告软件的界限):

PBot安装的挖矿程序

我们检测到另外两个版本的PBot仅限于在受害者访问的网页上放置不需要的广告。在这两个版本中,广告软件最初都会尝试将恶意DLL注入浏览器。第一个版本使用它来运行JS脚本在网页上显示广告,第二个版本是在浏览器中安装广告插件。因为后者更有价值,所以开发人员不断发布此修改的新版本,每个版本都会使脚本混淆变得复杂。这种Pbot变体的另一显著特征是存在一个更新脚本并下载新浏览器扩展的模块。

四月份,我们在卡巴斯基实验室产品用户的计算机上发现了超过50,000次安装PBot的尝试。接下来的一个月,这个数字增加了,表明该广告软件正在增加。PBot的目标受众主要集中在俄罗斯,乌克兰和哈萨克斯坦。

感染分布图

传播方式

PBot通常通过合作伙伴网站传播,其页面上的脚本将用户重定向到赞助链接。下面是标准的PBot传播方案:

1.用户访问合作伙伴网站。

2.点击页面上的任意点时,弹出一个新的浏览器窗口,打开一个中间链接。

3.中间链接将用户重定向到PBot下载页面,该页面负责通过钩子或欺骗受害者在计算机上下载并运行广告软件。下面是来自一个这样的页面的一段代码:

传播PBot的页面的代码

4.下载HTA文件。启动时此文件下载PBot安装程序。

PBot传播链

运行逻辑

PBot由若干按顺序执行的Python脚本组成。在最新版本的程序中,使用Pyminifier进行混淆。

混淆后的脚本

在新版本的PBot中,模块按照如下方案执行:

PBot安装

1.源文件* .hta将可执行文件(PBot的NSIS安装程序)下载到%AppData%。

2.安装程序将包含Python 3解释器、Python脚本和浏览器插件的文件夹放入%AppData%中。

3.使用子进程库,ml.py脚本将两个任务添加到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.如果找到进程,则启动DLL生成脚本brplugin.py。将生成的DLL注入到启动的浏览器并安装广告插件。

将DLL写入浏览器进程内存并执行

PBot安装的浏览器插件通常会在页面上添加各种横幅,并将用户重定向到广告网站。

PBot结果:弹出窗口上带有www.kaspersky.com广告

总结

为了追求利润,广告软件所有者经常大量安装其产品,PBot开发者也不例外。他们发布新版本(并在用户计算机上更新它们),使其混淆复杂化,并绕过保护系统。卡巴斯基实验室解决方案基于以下判断检测PBot:
· AdWare.Win32.PBot
· AdWare.NSIS.PBot
· AdWare.HTML.PBot
· AdWare.Python.PBot

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

源链接

Hacking more

...