Yoonas18/SentinelTrap-Sensor

GitHub: Yoonas18/SentinelTrap-Sensor

SentinelTrap-Sensor是一款用于网络欺骗和诱捕攻击者的轻量级传感器。

Stars: 0 | Forks: 0

# SentinelTrap 传感器 ![SentinelTrap 传感器横幅](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/8786b6e730061245.svg) [![Python](https://img.shields.io/badge/Python-3.10%2B-3776AB?style=for-the-badge&logo=python&logoColor=white)](https://www.python.org/) [![无外部运行时依赖](https://img.shields.io/badge/Runtime-No%20external%20deps-34D399?style=for-the-badge)](#run) [![SIEM 就绪](https://img.shields.io/badge/Logs-ECS%20JSONL-38BDF8?style=for-the-badge)](#logs-for-siem-or-edr) [![仪表板](https://img.shields.io/badge/Dashboard-Protected-0F172A?style=for-the-badge)](#dashboard) SentinelTrap 传感器是一款紧凑型网络欺骗传感器,适用于受控实验室和内部安全演示。它暴露出可信的虚假 HTTP、SSH、FTP 和 Telnet 服务,捕获交互尝试,丰富源元数据,并将遥测数据写入可以在受保护仪表板中查看或转发到 SIEM/EDR 工作流程的数据。 ## 关于 SentinelTrap 设计用于在不部署重型平台的情况下轻松展示蜜罐和欺骗概念。它表现得像一个轻量级传感器:虚假服务监听可配置的端口,每个连接或登录尝试都会被记录,仪表板通过源映射、事件流、服务暴露指标和顶级源摘要来展示活动。 该传感器不会执行提交的命令或利用有效载荷。它捕获到达虚假服务的所有内容,并将证据本地存储以供分析。 ## 视觉预览 ![SentinelTrap 仪表板预览](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/b1111441e5061245.svg) ## 架构 ![SentinelTrap 架构](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/6a173eb089061246.svg) ## 突出特点 - 在单独的端口上提供虚假 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发现, 事件流, 安全产品, 安全仪表盘, 安全检测, 安全测试, 安全演示, 攻击性安全, 本地存储, 源映射, 蜜罐, 证书利用, 证据收集, 轻量级, 逆向工具