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漏洞利用工具包进行传播,采用多阶段投放策略:

  1. 初始下载器(简单未混淆)
  2. 下载包含所有恶意Python脚本的第二个安装程序
  3. 静默安装完整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.dll
    • injectee-x64.dll

3. 浏览器注入技术

  • 通过InjectorEntry函数开始执行
  • Hook关键浏览器函数:
    • Crypt32.dll(证书相关):
      • CertGetCertificateChain
      • CertVerifyCertificateChainPolicy
      • CertFreeCertificateChain
    • ws32_dll(网络通信):
      • closesocket
      • WSASend
      • recv
      • connect
      • send
      • WSARecv
      • WSAConnect*系列函数

八、防御与检测方案

1. 检测指标

  • 文件系统:
    • %APPDATA%下可疑Python脚本
    • ml.pyhttpfilter.py文件
  • 注册表:
    • 可疑Run键项
  • 网络:
    • 与未知IP的异常连接
    • "The Filter"颁发的证书

2. 防护措施

  • 禁用不必要的Python脚本执行
  • 监控浏览器进程的异常DLL注入
  • 检查证书链异常情况
  • 使用高级威胁检测工具监控API Hook行为

3. 清除步骤

  1. 终止相关Python进程
  2. 删除注册表Run键项
  3. 清除%APPDATA%下相关文件
  4. 重置浏览器设置和安全证书

九、总结

PBot广告软件虽然代码简单且未做复杂混淆,但其MITB功能极具威胁性。攻击者可完全控制浏览器内容显示,从广告注入到网络钓鱼均可实现。安全团队应特别关注其证书伪造和浏览器Hook技术,加强相关行为的监控和防御。

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. 目录结构 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.dll injectee-x64.dll 3. 浏览器注入技术 通过 InjectorEntry 函数开始执行 Hook关键浏览器函数: Crypt32.dll (证书相关): CertGetCertificateChain CertVerifyCertificateChainPolicy CertFreeCertificateChain ws32_ dll (网络通信): closesocket WSASend recv connect send WSARecv WSAConnect* 系列函数 八、防御与检测方案 1. 检测指标 文件系统: %APPDATA% 下可疑Python脚本 ml.py 和 httpfilter.py 文件 注册表: 可疑Run键项 网络: 与未知IP的异常连接 "The Filter"颁发的证书 2. 防护措施 禁用不必要的Python脚本执行 监控浏览器进程的异常DLL注入 检查证书链异常情况 使用高级威胁检测工具监控API Hook行为 3. 清除步骤 终止相关Python进程 删除注册表Run键项 清除 %APPDATA% 下相关文件 重置浏览器设置和安全证书 九、总结 PBot广告软件虽然代码简单且未做复杂混淆,但其MITB功能极具威胁性。攻击者可完全控制浏览器内容显示,从广告注入到网络钓鱼均可实现。安全团队应特别关注其证书伪造和浏览器Hook技术,加强相关行为的监控和防御。