17vivekupadhyay/PinPointer
GitHub: 17vivekupadhyay/PinPointer
一个网络取证与威胁情报平台,通过捕获实时流量、对可疑连接进行指纹识别与威胁评分,并在世界地图上动态可视化攻击流。
Stars: 0 | Forks: 0
# PinPointer
网络取证与威胁情报平台。捕获实时流量,对可疑连接进行指纹识别,对每个远程端点进行地理定位,并将实时攻击流以动态弧线的形式渲染在实时世界地图上。

## 功能简介
- **实时数据包捕获** — 通过 tshark 实现,可在任何接口上运行或重播 `.pcap` 文件
- **威胁指纹识别** — 实时检测端口扫描、SSH/RDP 暴力破解、C2 信标和数据外泄模式
- **IP 地理定位** — 用国家、城市、ISP 和 ASN 数据丰富每个源 IP 的信息
- **实时世界地图** — 动态弧线追踪从源地址到您服务器的实时攻击流
- **威胁评分** — 根据五个行为信号对每个连接进行 0-100 的评分
- **AWS 蜜罐** — 将开放 22 端口的 EC2 实例作为诱饵;部署后数小时内便会收到来自全球各地 IP 段的暴力破解尝试
## 架构
```
Internet
│
▼
EC2 Honeypot (port 22 open)
│
├── tshark (packet capture)
│ │
│ ▼
│ capture.py ──► analyze.py ──► geolocate.py
│ │
│ ▼
│ server.py (Flask + WebSocket)
│ │
└──────────────────────────────────────▼
Browser Dashboard
(Leaflet map + live feed)
AWS: EC2 · VPC · CloudWatch Logs · VPC Flow Logs · S3 · IAM
```
## 威胁检测
| 信号 | 阈值 | 分数 |
|---|---|---|
| 端口扫描 | 30 秒内出现 15 个以上的不同端口 | +40 |
| SSH/RDP 暴力破解 | 对同一端口进行 10 次以上的命中 | +50 |
| 可疑端口 (C2/Tor) | 4444, 1337, 9050... | +30 |
| 高风险国家/地区源 | --------- | +20 |
| 数据外泄 | 向单个 IP 发送 5MB 以上的出站流量 | +60 |
严重程度级别:**严重** (60+) · **高** (40+) · **中** (20+) · **低**
## 快速开始
**环境要求**
- Python 3.11+
- tshark(在 Mac 上使用 `brew install wireshark`,在 Linux 上使用 `apt install tshark`)
```
git clone https://github.com/17vivekupadhyay/PinPointer
cd PinPointer
pip install -r requirements.txt
```
**演示模式**(无需 tshark — 流式传输模拟的攻击流量)
```
python run.py
```
**实时捕获**
```
sudo python run.py --live --iface en0
```
**重播 pcap 文件**
```
python run.py --pcap capture.pcap
```
打开 `http://127.0.0.1:8765`
## AWS 蜜罐设置
**1. 启动 EC2**
- Ubuntu 22.04,t2.micro(免费套餐)
- 安全组:允许来自 `0.0.0.0/0` 的 22 端口入站流量
**2. 安装依赖项**
```
ssh -i your-key.pem ubuntu@
sudo apt update && sudo apt install -y tshark python3-pip
pip install -r requirements.txt
```
**3. 在该实例上运行 PinPointer**
```
sudo python run.py --live --iface eth0 --host 0.0.0.0
```
**4. 通过 SSH 隧道远程查看仪表盘**
```
ssh -i your-key.pem -L 8765:localhost:8765 ubuntu@ -N
```
然后在您的本地机器上打开 `http://127.0.0.1:8765`。
## CLI 参考
```
python run.py [OPTIONS]
Options:
--live Live capture (requires tshark + root)
--iface TEXT Network interface (e.g. en0, eth0)
--pcap TEXT Path to .pcap file
--host TEXT Bind host (default: 127.0.0.1)
--port INT Port (default: 8765)
```
## 技术栈
**后端** — Python, Flask, Flask-SocketIO, tshark, ip-api.com
**前端** — Vanilla JS, Leaflet.js, Socket.IO, Space Mono
**基础设施** — AWS EC2, VPC, CloudWatch Logs, VPC Flow Logs, S3, IAM
## 许可证
MIT
标签:IP 地址批量处理, 威胁情报, 威胁评分, 开发者工具, 插件系统, 漏洞探索, 蜜罐, 证书利用, 逆向工具