PBot:一款基于Python的广告软件
字数 1711 2025-08-20 18:17:07
PBot广告软件深度分析与防御指南
一、PBot广告软件概述
PBot(又称PythonBot)是一款基于Python的恶意广告软件,最初伪装成"MinerBlocker"反挖矿工具进行传播。该软件具备中间人浏览器攻击(MITB)能力,能够注入各种脚本到合法网站中,功能远超普通广告软件。
二、样本信息
主要样本哈希值
- 下载器:5ffefc13a49c138ac1d454176d5a19fd(通过漏洞利用工具包投递)
- 恶意安装程序:b508908cc44a54a841ede7214d34aff3(伪装为MinerBlocker)
- 主DLL:e5ba5f821da68331b875671b4b946b56(注入Python.exe)
- 浏览器注入DLL:
- 64位:596dc36cd6eabd8861a6362b6b55011a
- 32位:645176c6d02bdb8a18d2a6a445dd1ac3
三、传播方式
通过RIG漏洞利用工具包进行传播,采用多阶段投放策略:
- 初始下载器(简单未混淆)
- 下载包含所有恶意Python脚本的第二个安装程序
- 静默安装完整Python环境
四、安装与持久性机制
安装过程
- 独立运行时显示虚假EULA和安装向导界面
- 通过下载器运行时完全静默安装
- 安装路径:
%APPDATA%
持久性技术
- 注册表Run键实现自启动
- 生成并执行
ml.py脚本 - 部署
httpfilter.py组件
五、组件分析
1. 目录结构
├── js/
│ └── i.js # 注入脚本
├── configs/
│ ├── rules.ini # 注入规则配置
│ └── settings.ini # 全局设置
└── uninstall.exe # 卸载程序
2. 关键配置文件
rules.ini:
- 指定JavaScript注入路径和位置
- 定义注入规则和目标网站
settings.ini:
- 服务端口和伪造证书颁发者信息
- 目标浏览器进程列表(攻击目标)
- Base64编码的白名单(主要为俄罗斯银行网站)
六、恶意功能分析
1. 脚本注入
- 向所有访问网站注入
i.js脚本 - 从远程服务器加载第二阶段恶意代码
- 伪造Google相关域名增加可信度
2. MITB攻击
- 替换HTTPS网站的合法证书
- 伪造证书颁发机构:"The Filter"
- 完全控制浏览器通信内容
3. 代理功能
- 浏览器与Python进程间建立通信
- 监控和修改所有网络流量
- 可注入广告、钓鱼内容等任意恶意代码
七、技术实现细节
1. Python加载器
- 初始执行
ml.py(混淆处理) - 解密并加载
httpfilter.bin中的DLL - 将DLL注入到Python可执行文件中
2. 主DLL功能
- 解析配置文件和规则
- 设置恶意代理系统
- 包含两个硬编码DLL(32位和64位)
injectee-x86.dllinjectee-x64.dll
3. 浏览器注入技术
- 通过
InjectorEntry函数开始执行 - Hook关键浏览器函数:
- Crypt32.dll(证书相关):
CertGetCertificateChainCertVerifyCertificateChainPolicyCertFreeCertificateChain
- ws32_dll(网络通信):
closesocketWSASendrecvconnectsendWSARecvWSAConnect*系列函数
- Crypt32.dll(证书相关):
八、防御与检测方案
1. 检测指标
- 文件系统:
%APPDATA%下可疑Python脚本ml.py和httpfilter.py文件
- 注册表:
- 可疑Run键项
- 网络:
- 与未知IP的异常连接
- "The Filter"颁发的证书
2. 防护措施
- 禁用不必要的Python脚本执行
- 监控浏览器进程的异常DLL注入
- 检查证书链异常情况
- 使用高级威胁检测工具监控API Hook行为
3. 清除步骤
- 终止相关Python进程
- 删除注册表Run键项
- 清除
%APPDATA%下相关文件 - 重置浏览器设置和安全证书
九、总结
PBot广告软件虽然代码简单且未做复杂混淆,但其MITB功能极具威胁性。攻击者可完全控制浏览器内容显示,从广告注入到网络钓鱼均可实现。安全团队应特别关注其证书伪造和浏览器Hook技术,加强相关行为的监控和防御。