AjayAntoIsDev/WaSonar
GitHub: AjayAntoIsDev/WaSonar
一款基于 WhatsApp 协议的安全研究 CLI 工具,专注于设备追踪、静默探测与协议压力测试。
Stars: 47 | Forks: 5




**WaSonar** 是一个用于教育研究、设备追踪和 WhatsApp 协议压力测试的强大 CLI 工具。基于 [Baileys](https://github.com/WhiskeySockets/Baileys)。
[功能](#features) • [安装](#installation) • [用法](#usage)
## 功能
- **实时设备追踪**:检测所有关联设备(手机、网页、桌面)的在线/离线状态。
- **设备发现**:列出与目标号码关联的所有设备(主手机 + 伴生设备)。
- **资料提取**:获取头像、状态/简介信息和 JID。
- **资源耗尽**:通过超大的反应载荷使设备过载(激进/慢速模式)。
## 安装
### 通过 NPM(推荐)
```
npm install -g wasonar-cli
```
### 通过 NPX(无需安装)
```
npx wasonar-cli
```
### 从源码安装
```
git clone https://github.com/AjayAntoIsDev/wasonar.git
cd wasonar
npm install
```
## 用法
### 1. 登录
首先,你需要使用 WhatsApp 账户进行身份验证。
```
wasonar-cli login
```
扫描终端中出现的二维码。
### 2. 设备发现
列出与目标号码连接的所有设备。
```
wasonar-cli devices
# Example:
wasonar-cli devices 919876543210
```
### 3. 在线状态与 RTT
这是核心功能。发送静默探测以检测设备是否在线并测量延迟。
```
# Probe infinite times (default)
wasonar-cli online 919876543210
# Send specific number of probes
wasonar-cli online 919876543210 --probes 5
# Save results to file
wasonar-cli online 919876543210 --output ./logs
```
*注意:PENDING/OFFLINE 表示服务器已收到消息,但目标设备未确认接收。*
### 4. 资料提取
获取用户的头像和状态。
```
# Display info and download profile picture
wasonar-cli profile 919876543210 --output ./profiles
```
### 5. 资源耗尽
**⚠️ 仅限教育用途。** 发送高频率的超大载荷。
```
# Aggressive mode (Default: 250 req/s, 1KB payload)
wasonar-cli exhaust 919876543210
# Slow mode (10 req/s, 500B payload)
wasonar-cli exhaust 919876543210 --aggression slow
# Set duration
wasonar-cli exhaust 919876543210 --duration 30
```
## 方法论
### 静默探测
WaSonar 使用“静默删除探测”来在不提醒目标的情况下检测在线状态。
1. 发送一个针对不存在消息 ID 的 `revoked`(删除)消息。
2. 目标设备接收此“删除”请求。
3. 如果在线,设备会为协议消息发送 `delivery_receipt`(状态 3)。
4. WaSonar 捕获该回执以确认在线状态并计算 RTT。
### 耗尽攻击
基于“Careless Whisper”研究,此攻击利用了 WhatsApp 反应处理中的验证间隙。
#### 技术细节
尽管无效的反应不会在目标手机上显示,但它们仍会被接收和处理。
- **载荷限制**:WhatsApp 服务器允许反应载荷最大为 **1 MB**。
- **处理**:客户端会尝试在丢弃前处理这些消息(有效显示限制约为 30 字节),从而消耗资源。
#### 影响分析
研究数据显示资源耗尽的显著潜力:
- **流量膨胀**:单个会话可生成 **~3.7 MB/s**(每小时 13.3 GB)的隐蔽流量。
- **电池耗尽**:快速处理这些消息可使现代智能手机每小时耗电 **14-18%**(在待机状态下测试于 iPhone 13 Pro、S23)。
- **拒绝服务**:带宽消耗可能导致目标设备上的其他应用程序断网。
## 引用
基于 Gegenhuber 等人的研究(维也纳大学与 SBA 研究):
```
@inproceedings{gegenhuber2024careless,
title={Careless Whisper: Exploiting Silent Delivery Receipts to Monitor Users on Mobile Instant Messengers},
author={Gegenhuber, Gabriel K. and G{\"u}nther, Maximilian and Maier, Markus and Judmayer, Aljosha and Holzbauer, Florian and Frenzel, Philipp {\'E}. and Ullrich, Johanna},
year={2024},
organization={University of Vienna, SBA Research}
}
```
由 [AjayAnto](https://github.com/AjayAntoIsDev) 创建标签:ASM汇编, Baileys, GNU通用公共许可证, MITM代理, Node.js, RTT测量, Web设备探测, WhatsApp, 二进制发布, 关键词SEO, 协议测试, 压力测试, 反应载荷, 在线状态探测, 开源工具, 情报收集, 文档结构分析, 漏洞研究, 自定义脚本, 设备追踪, 资源耗尽, 过度消息发送