Каталог инструментов

5 инструментов

Тег: modbus ×

Conpot

v0.2.2
Hardware & Industrial

Низковзаимодействующий ICS/SCADA-honeypot с эмуляцией промышленных протоколов. Имитирует Modbus, DNP3, S7comm, BACnet, HTTP/SNMP-интерфейсы ПЛК. Логирует все попытки взаимодействия. Поддерживает кастомизацию устройств через XML-шаблоны (Siemens S7-300, Generic PLC).

pip install conpot conpot --template default # Docker docker run -it --net=host honeynet/conpot

GRASSMARLIN

v3.2.1
Hardware & Industrial

Пассивный инструмент сетевой разведки и визуализации для ICS/SCADA-сетей, разработан NSA/CISA. Анализирует pcap-файлы и живой трафик, автоматически определяет протоколы (Modbus, DNP3, EtherNet/IP, IEC 61850), строит карту топологии OT-сети без …

# ВНИМАНИЕ: репозиторий заархивирован (последнее обновление 2020) # Requires Java 8 https://github.com/nsacyber/GRASSMARLIN/releases java -jar grassmarlin.jar # Импорт pcap через GUI

ISF

v0.1.0
Hardware & Industrial

ICS Exploitation Framework — аналог Metasploit для промышленных протоколов. Поддерживает Modbus, DNP3, IEC 104, S7comm (Siemens), BACnet, EtherNet/IP. Позволяет читать/записывать регистры ПЛК, выполнять команды остановки/перезапуска промышленного оборудования.

git clone https://github.com/dark-lbp/isf cd isf && pip install -r requirements.txt python3 isf.py

PLCScan

Hardware & Industrial

Сканер для обнаружения ПЛК и OT-устройств в сети. Определяет Siemens S7, Modbus/TCP, EtherNet/IP устройства. Извлекает идентификаторы: vendor, model, версию прошивки, серийный номер. Используется для инвентаризации OT-сегмента.

git clone https://github.com/yanlinlin82/plcscan cd plcscan python3 plcscan.py 192.168.1.0/24

pyModbusTCP

v0.3.0
Hardware & Industrial

Python-библиотека и CLI для взаимодействия с Modbus TCP-устройствами. Поддерживает все function codes: чтение/запись coils, discrete inputs, holding/input registers. Используется для тестирования ПЛК, SCADA-систем, промышленных датчиков и систем управления …

pip install pyModbusTCP # Чтение регистров ПЛК from pyModbusTCP.client import ModbusClient client = ModbusClient(host="192.168.1.10", port=502, auto_open=True) regs = client.read_holding_registers(0, 10)