paolo-lamoratta/wa-reaction-sidechannel-poc

GitHub: paolo-lamoratta/wa-reaction-sidechannel-poc

通过测量WhatsApp表情回应的送达时间差,推断目标设备状态和后台活动模式的侧信道攻击概念验证工具。

Stars: 0 | Forks: 0

# WhatsApp Reaction Side-Channel PoC (wa-reaction-sidechannel-poc) ## 概述 本仓库包含一个针对 WhatsApp 表情回应机制的侧信道攻击概念验证。通过测量消息的服务器确认(单灰勾)与目标设备送达(双灰勾)之间的精确时间差,可以推断出有关目标设备状态的信息。 ### 理论基础 此侧信道的核心在于**送达时间差**($\Delta T$): $$\Delta T = T_{delivered} - T_{sent\_to\_server}$$ 1. **单灰勾($T_{sent\_to\_server}$):** WhatsApp 服务器确认收到你回应表情的那一刻。 2. **双灰勾($T_{delivered}$):** 目标设备接收到回应表情并发送送达回执的那一刻。 #### 为什么这是一个漏洞? 移动操作系统会根据设备状态以不同的方式处理后台进程: - **活跃/前台:** 应用处于打开状态;$\Delta T$ 最小(主要是网络延迟)。 - **后台(近期):** 应用处于后台但尚未被挂起;$\Delta T$ 稍高。 - **挂起/Doze 模式:** 操作系统为了省电限制了后台活动。回应表情的送达可能会被推迟,直到出现“维护窗口”或高优先级的推送通知唤醒应用。 通过发送一系列表情回应并分析 $\Delta T$ 的分布,观察者可能区分出活跃用户、闲置设备,甚至识别出操作系统类型和电池优化模式。 ## 功能特性 - **多目标分析:** 通过轮询发送表情回应,并发跟踪多个目标。 - **精确计时:** 高分辨率测量送达时间差。 - **自动绘图:** 用于分析分布和时序模式的可视化工具。 - **双重实现:** 包含 Go 引擎(使用 `whatsmeow`)和 Python 版本(使用 `neonize`)。 ## 项目结构 - `main.go`:用于数据收集的主要 Go 引擎。支持多目标和高并发。 - `main.py`:用于快速测试和集成绘图的 Python 实现。 - `plot_results.py`:用于处理 Go 引擎生成的 CSV 数据的高级绘图脚本。 - `requirements.txt`:Python 依赖项。 - `go.mod`:Go 模块定义。 ## 入门指南 ### 前置条件 - **Go**(推荐 1.25+) - **Python 3.10+** - 一个用于“发送方”设备的 WhatsApp 账户(需要二维码配对)。 ### 安装 1. 克隆仓库: git clone https://github.com/yourusername/wa-reaction-sidechannel-poc.git cd wa-reaction-sidechannel-poc 2. 安装 Go 依赖项: go mod tidy 3. 安装 Python 依赖项: pip install -r requirements.txt ### 用法 #### 1. 数据收集 运行 Go 引擎以启动测量过程: ``` go run main.go ``` 按照交互式提示进行操作: - 通过二维码配对你的设备。 - 输入目标手机号码(包含国家代码)。 - 配置表情回应的数量和延迟。 结果将保存为 `.csv` 文件。 #### 2. 分析与可视化 使用 Python 脚本根据收集到的数据生成图表: ``` python plot_results.py results_*.csv ``` 这将生成一个 `results_multi_target_plot.png`,其中显示: - **分布直方图:** 帮助识别响应时间的“聚集簇”。 - **时序图:** 显示响应能力随时间的变化(例如,随着设备进入睡眠模式)。
标签:EVTX分析, Go语言, neonize, PoC, Python, WhatsApp, whatsmeow, 主机安全, 侧信道攻击, 后台活动分析, 操作系统识别, 无后门, 日志审计, 时序攻击, 暴力破解, 活动监控, 目录枚举, 移动安全, 程序破解, 网络安全, 设备指纹, 逆向工具, 隐私保护, 隐私泄露