yasui-k/SERINUS_OT

GitHub: yasui-k/SERINUS_OT

一款轻量级被动 OT/ICS 网络监控工具,通过零传输的纯 MAC 地址嗅探方式检测工业控制网络中未知设备的首次接入。

Stars: 0 | Forks: 0

# SERINUS OT (Windows) English | [日本語](README_ja.md) SERINUS OT 是一款轻量级的被动 OT/ICS 监控工具,用于检测连接到工业控制系统网络的未知设备的首次通信。 专为无法进行主动扫描的 OT 安全、ICS 安全和工业网络安全环境而设计。 它绝不会向网络发送任何数据——检测完全基于接收到的数据包中观察到的 MAC 地址。 - 完全被动(零传输) - 仅限 MAC 地址——无主动探测 - 检测来自未知设备的首次通信 - 仅用 3 个按钮即可操作 - 可在离线环境中运行

# 快速开始 ## 环境要求 - Windows 10 / 11 - Python 3.9 或更高版本 - Npcap - scapy **Npcap** —— 安装时请确保已启用 **"WinPcap API-compatible Mode"**: https://npcap.com/ **scapy:** ``` pip install scapy ``` ## 启动 打开具有管理员权限的终端并运行: ``` cd serinus_pc_proto python app.py ``` 对于英文界面: ``` python app.py --lang en ``` 启动后: 1. 选择要监控的 NIC 2. 开始批量注册(学习) 3. 结束学习 4. 监控开始 # 基本用法 ## 初始设置 1. 开始批量注册(学习模式) 2. 允许现有设备进行通信——它们将被记录为已注册 3. 结束学习 4. 切换至监控模式 ## 当检测到未知设备时 当检测到未知的 MAC 地址时: - 屏幕闪烁红/黑光 - 蜂鸣器响起 解除警报后,您可以在历史记录界面中查看该设备。 如果该设备是合法的,您可以长按右键将其标记为已注册。 # 导出数据 要将设备列表导出为 CSV: 1. 连接维护用的 USB 2. CSV 将写入 `usb_serial_out.txt` 3. 在外部 PC 上,运行: ``` python pc_extract_tool.py ``` 4. 获取 `serinus_export.csv` 输出示例: ``` mac,ip,state,category,vendor_guess 00:00:0c:11:22:33,192.168.10.1,Registered,Network Device,Cisco 9e:05:76:f9:2c:1c,192.168.10.101,Pending,Random MAC, ``` # 不在范围内 以下内容不在涵盖范围内: - ARP 欺骗 / MITM 检测 - 随机 MAC 识别 - 主动探测 - 完全静默设备的检测 SERINUS OT 在设计上有意保持: - 完全被动 - 仅限 MAC 地址 - 单一功能 —— 优先考虑低成本和现场部署的便捷性。 # 免责声明 本软件是为了演示 SERINUS OT 的运行概念而制作的原型实现。 不适用于生产环境。 对于因使用本软件而产生的任何损害,作者概不负责。 使用风险由您自行承担。 # 欢迎反馈 发布 SERINUS OT 旨在演示其运行概念并收集反馈。 我们欢迎关于 OT / ICS 环境的用例想法、改进建议以及任何反馈——例如“这在车间会很有用”或“我希望看到显示 X”——欢迎随时提交 Issue。
标签:OT安全, PKINIT, Python, Scapy, 工控安全, 异常检测, 无后门, 被动监控, 逆向工具, 防御绕过