用途:评估西门子 SIMATIC S7 PLC 环境的安全态势,分析 S7comm/S7CommPlus 流量,识别未授权访问、重放攻击、完整性绕过、程序下载等安全风险,并为 S7-300/400/1200/1500 控制器构建检测规则。适用于 Siemens Step 7/TIA Portal 通信安全审计及 PLC 程序未授权访问排查。
主要能力:解析 S7comm 协议(基于 COTP/TPKT,TCP 102 端口),识别 ROSCTR 类型(Job/Ack/Ack_Data/Userdata)与功能码(读变量 0x04、写变量 0x05、程序下载 0x1A-0x1C、程序上传 0x1D-0x1F、CPU 启停 0x28/0x29 等);标记关键操作(CPU Stop、程序下载、程序上传、写变量);识别非授权工程站;检查已知漏洞(如 CVE-2019-13945 重放、S7CommPlus 完整性绕过、CVE-2022-38773 硬件信任根、CVE-2019-10929 端口 102 远程 DoS);输出会话清单、安全发现与漏洞评估报告。
使用方式:需具备 S7comm 网段访问权限(TCP 102)、Wireshark S7comm 解析器或 Zeek 分析器、授权测试、了解 PLC 型号固件及协议结构。示例脚本依赖 scapy(pip install scapy),用法为 python s7comm_analyzer.py <capture.pcap>,可设置授权工程站 IP 列表后分析抓包并生成报告。
限制:严禁未授权扫描生产 PLC(可能导致控制器崩溃),不适用于非西门子协议分析,不得在生产环境修改 PLC 程序;S7-300/400 无加密完整性保护,密码以明文传输,网络分段是主要防御手段。