dvlinuxx-max/apsentry
GitHub: dvlinuxx-max/apsentry
apsentry 是一款防御性无线入侵检测系统,通过扫描 Wi-Fi 环境并与可信基准对比,识别 evil twin、恶意接入点和信号异常等无线威胁。
Stars: 0 | Forks: 0
# apsentry
Evil Twin / Rogue AP 检测与无线威胁监控工具。apsentry 会扫描
Wi-Fi 环境,将其与可信的基准进行对比,并针对 evil twin、恶意接入点 (rogue access point)、MAC 欺骗、加密降级、信标洪泛 (beacon flood) 以及信号异常发出带有评分的
警报。它内置了一个实时 Web 仪表板和一个终端模式。
专为防御者打造:用于检测和解释针对您所有或运营的网络的此类攻击。本工具不会发起此类攻击。
## 检测内容
| 特征 | 严重程度 | 触发条件 |
|-----------|----------|------------------|
| `evil_twin` | 最高至严重 | 同一 SSID 出现在第二个 BSSID 上,根据加密不匹配、供应商不匹配、随机 MAC 和更强信号等因素进行加权 |
| `rogue_trusted_ssid` | 高至严重 | 受信任的 SSID 由不在基准中的 BSSID 广播(冒充) |
| `bssid_downgrade` | 高 | 受信任的 BSSID 当前广播开放/较弱的安全协议(伪造 AP) |
| `randomized_mac` | 低至中 | 使用本地管理(随机/伪造)MAC 的命名 AP |
| `weak_crypto` | 中 | WEP 或其他已弃用的加密协议 |
| `beacon_flood` | 中至高 | 同时出现大量带有随机 MAC 的开放 SSID |
| `signal_anomaly` | 低 | 已知 AP 的信号在扫描之间出现剧烈波动 |
| `new_ap` | 信息 | 尚未包含在基准(资产清单)中的 AP |
## 数据源
apsentry 会根据平台自动检测后端:
- Windows:`netsh wlan show networks mode=bssid`
- Linux:`nmcli device wifi list`
- macOS:传统的 `airport -s` 扫描
- `demo`:一个合成环境,会注入 evil twin、开放克隆、恶意 MAC 和信标洪泛 (beacon flood),使引擎和仪表板无需硬件即可运行
- `replay`:读取从 `/api/export` 导出的 JSON 文件
使用 `--source` 强制指定数据源。
## 用法
```
python apsentry.py # web dashboard at http://127.0.0.1:8787
python apsentry.py scan # one scan + analysis in the terminal
python apsentry.py monitor -i 10 # continuous terminal monitor
python apsentry.py --source demo --scenario eviltwin scan
python apsentry.py --source windows serve --port 8080
python apsentry.py --source demo serve # try the UI with no Wi-Fi card
```
作为模块运行而不是通过 shim:`python -m apsentry ...`。
### 基准
Evil Twin 是指冒充您信任网络的 AP,因此一旦 apsentry 了解了您的环境,检测效果就会达到最佳。
- 在仪表板中:“将当前状态快照为基准”会捕获可见的 AP,或者您可以单独信任/取消信任特定行。
- 基准以 JSON 格式存储(`--baseline path`,默认为 `apsentry-baseline.json`),并在启动时重新加载。
建立基准后,如果熟悉的 SSID 出现在未知的 BSSID 上,或者受信任的 AP 突然广播开放安全协议,就会被标记为冒充行为。
## 仪表板
```
python apsentry.py --source demo serve
```
仪表板会显示环境风险评分、严重程度分布、包含完整推理和建议的实时威胁信息流、通道活动,以及一个可搜索的 AP 资产清单(包含信号、安全协议、供应商和信任状态)。它会每隔几秒钟轮询一次 JSON API(`/api/state`、`/api/scan`、`/api/baseline/*`、`/api/export`)。
## 取消认证监控(可选)
`apsentry/detection/deauth.py` 添加了对 802.11 deauth/disassoc 洪泛的 monitor-mode 检测,这既是拒绝服务攻击,也是许多 evil twin 攻击的准备阶段。它需要 `scapy` 以及处于 monitor mode 的无线接口(Linux):
```
pip install scapy
```
该模块在没有 scapy 的情况下也可以安全导入;工具的其余部分仅依赖标准库。
## 架构
```
apsentry/
collectors/ per-platform Wi-Fi scan backends + demo/replay
detection/ signatures, the aggregation engine, optional deauth monitor
baseline.py trusted-AP store (JSON)
scoring.py environment risk aggregation
state.py rolling inventory, signal history, alert log
monitor.py scan -> analyze -> score -> record loop
server.py dashboard HTTP server + JSON API
ui/ dashboard (HTML/CSS/JS, no framework)
cli.py serve / scan / monitor
```
## 授权
仅在您拥有或获得授权进行防御的网络上使用 apsentry。
被动扫描通常风险较低,但无线监控和任何 monitor-mode 捕获都必须遵守当地法律和您所在组织的规定。
## 许可证
MIT
标签:Python, WIDS, 恶意双子检测, 无后门, 欺诈AP检测, 逆向工具