Yoonas18/SentinelTrap-Sensor
GitHub: Yoonas18/SentinelTrap-Sensor
SentinelTrap-Sensor是一款用于网络欺骗和诱捕攻击者的轻量级传感器。
Stars: 0 | Forks: 0
# SentinelTrap 传感器

[](https://www.python.org/)
[](#run)
[](#logs-for-siem-or-edr)
[](#dashboard)
SentinelTrap 传感器是一款紧凑型网络欺骗传感器,适用于受控实验室和内部安全演示。它暴露出可信的虚假 HTTP、SSH、FTP 和 Telnet 服务,捕获交互尝试,丰富源元数据,并将遥测数据写入可以在受保护仪表板中查看或转发到 SIEM/EDR 工作流程的数据。
## 关于
SentinelTrap 设计用于在不部署重型平台的情况下轻松展示蜜罐和欺骗概念。它表现得像一个轻量级传感器:虚假服务监听可配置的端口,每个连接或登录尝试都会被记录,仪表板通过源映射、事件流、服务暴露指标和顶级源摘要来展示活动。
该传感器不会执行提交的命令或利用有效载荷。它捕获到达虚假服务的所有内容,并将证据本地存储以供分析。
## 视觉预览

## 架构

## 突出特点
- 在单独的端口上提供虚假 HTTP、SSH、FTP 和 Telnet 服务。
- 在端口 `5000` 上提供受保护的仪表板,需要用户名/密码登录。
- 专业虚假 HTTP 门户:`NexusEdge Gateway`。
- 实时源映射、事件流、顶级源卡和服务暴露条。
- 在 `data/` 下提供本地 JSONL 事件存储。
- 为 SIEM/EDR 吞吐提供 ECS 风格的 JSONL 输出。
- 可选的公共 GeoIP 丰富功能,带有本地缓存。
- 在 `samples/` 下包含清洗后的样本日志。
- 无外部 Python 运行时依赖。
## 仪表板
仪表板由 `dashboard.html` 提供,并由登录页面保护。
如果您没有提供仪表板密码,SentinelTrap 在启动时生成一个,并在终端中打印出来。
默认仪表板:
```
http://127.0.0.1:5000/
```
局域网仪表板示例:
```
http://YOUR-LAN-IP:5000/
```
## 运行
仅本地模式:
```
python .\sentineltrap_sensor.py
```
局域网模式:
```
python .\sentineltrap_sensor.py --bind 0.0.0.0
```
局域网模式与固定仪表板凭据:
```
python .\sentineltrap_sensor.py --bind 0.0.0.0 --dashboard-user operator --dashboard-password "ChangeThisInLab"
```
环境变量凭据:
```
$env:SENTINELTRAP_DASHBOARD_USER="operator"
$env:SENTINELTRAP_DASHBOARD_PASSWORD="ChangeThisInLab"
python .\sentineltrap_sensor.py --bind 0.0.0.0
```
## 默认端口
| 服务 | 端口 | 目的 |
| --- | ---: | --- |
| HTTP | 8080 | 虚假网关门户和网页探测器捕获 |
| SSH | 2222 | 标签抓取和连接记录 |
| FTP | 2121 | 命令记录和虚假凭据捕获 |
| Telnet | 2323 | 旧式明文登录捕获 |
| 仪表板 | 5000 | 受保护的监控接口 |
更改端口:
```
python .\sentineltrap_sensor.py --http-port 8081 --ssh-port 2022 --dashboard-port 5050
```
## SIEM 或 EDR 的日志
真实遥测数据存储在 `data/` 下的本地。此目录由 git 忽略,因为它可能包含内部 IP 地址、用户代理和来自扫描或登录尝试的提交凭据。
| 文件 | 目的 |
| --- | --- |
| `data/events.jsonl` | 仪表板友好的事件日志 |
| `data/events-ecs.jsonl` | 为 SIEM/EDR 管道提供的 ECS 风格 JSON Lines |
| `samples/sample-events.jsonl` | 为存储库查看者提供的清洗后的样本 UI 日志 |
| `samples/sample-events-ecs.jsonl` | 为存储库查看者提供的清洗后的样本 ECS 日志 |
ECS 风格的记录包括以下字段:
- `@timestamp`
- `event.action`
- `event.dataset`
- `source.ip`
- `source.port`
- `destination.ip`
- `destination.port`
- `network.protocol`
- `service.name`
- `observer.type`
- `sentineltrap.detail`
## 演示命令
HTTP 页面访问:
```
curl.exe http://127.0.0.1:8080/
```
HTTP 凭据尝试:
```
curl.exe -X POST http://127.0.0.1:8080/login -d "username=admin&password=password123"
```
可疑的网页路径:
```
curl.exe http://127.0.0.1:8080/.env
```
扫描虚假 HTTP 和 SSH 端口:
```
nmap -sV -p 8080,2222 127.0.0.1
```
Windows 连接检查:
```
Test-NetConnection 127.0.0.1 -Port 2222
Test-NetConnection 127.0.0.1 -Port 2121
Test-NetConnection 127.0.0.1 -Port 2323
```
如果您已安装 `nc` 或 `ncat`:
```
ncat 127.0.0.1 2121
ncat 127.0.0.1 2323
```
## 地理IP
本地主机和私有实验室网络流量在地图上显示为实验室流量。
真实地理位置需要公共源 IP 和 GeoIP 丰富功能。
启用公共 GeoIP 查找:
```
python .\sentineltrap_sensor.py --geo-lookup
```
公共 IP 查找使用 `ipwho.is` 并在 `data/geo-cache.json` 中缓存。
## 安全提示
- 将公共互联网暴露范围排除在简单演示之外。
- 使用受控的实验室网络,并从网络所有者处获得许可。
- 在虚拟机、容器或一次性实验室主机中运行暴露的演示。
- 使用防火墙将传感器与生产设备隔离开。
- 将捕获的凭据视为敏感信息,即使它们是虚假示例。
- 虚假服务不会执行提交的有效载荷,但主机仍然在网络中可达。
标签:ESC漏洞, FTP服务, HTTP服务, JSONL日志, LangChain, Python开发, SIEM集成, SSH服务, Telnet服务, URL发现, 事件流, 安全产品, 安全仪表盘, 安全检测, 安全测试, 安全演示, 攻击性安全, 本地存储, 源映射, 蜜罐, 证书利用, 证据收集, 轻量级, 逆向工具