conpot是一个ICS(工业控制系统)蜜罐, 旨在收集攻击者针对工业控制系统的攻击方法和动机. 这篇文章主要用来说明conpot的用户定制相关的一些配置. (英文原文详见: https://github.com/mushorg/conpot/blob/master/docs/source/usage/usage.rst)
conpot附带了一个默认的配置文件, 它可以实现对安装有基本扩展模块的西门子S7-200 PLC的仿真. 这个默认仿真的攻击面包括: MODBUS, HTTP, SNMP and s7comm. 为了避免混乱, conpot的大部分配置是在XML文件中, 也有一些是保存在不同文件夹的templates文件夹下.
MOSBUS
配置文件的 <device_info /> 部分允许用户定义设备的信息并可以作为函数调用返回. <slave /> 部分允许用户将每个从设备(slave)都定义在一个 <blocks /> 中. 二进制输出块: COILS , 二进制输入块: DISCRETE_INPUTS , 用户只需定义它们的起始地址和数据规模. ANALOG_INPUTS 以字节为单位保存数据.
1 <block name="a">
2 <!-- COILS/DISCRETE_OUTPUTS aka. binary output, power on/power off
3 Here we map modbus addresses 1 to 127 to S7-200 PLC Addresses Q0.0 to Q15.7 -->
4 <type>COILS</type>
5 <starting_address>1</starting_address>
6 <size>128</size>
7 <values