Протокол Modbus
tip
Вивчайте та практикуйте AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Вивчайте та практикуйте GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Вивчайте та практикуйте Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Підтримайте HackTricks
- Перевірте плани підписки!
- Приєднуйтесь до 💬 групи Discord або групи telegram або слідкуйте за нами в Twitter 🐦 @hacktricks_live.
- Діліться хакерськими трюками, надсилаючи PR до HackTricks та HackTricks Cloud репозиторіїв на github.
Вступ до протоколу Modbus
Протокол Modbus є широко використовуваним протоколом в промисловій автоматизації та системах управління. Modbus дозволяє зв'язок між різними пристроями, такими як програмовані логічні контролери (PLC), датчики, виконавчі механізми та інші промислові пристрої. Розуміння протоколу Modbus є важливим, оскільки це єдиний найбільш використовуваний комунікаційний протокол в ICS і має багато потенційних вразливих місць для перехоплення та навіть введення команд у PLC.
Тут концепції викладені по пунктах, надаючи контекст протоколу та його природі роботи. Найбільшим викликом у безпеці систем ICS є вартість впровадження та оновлення. Ці протоколи та стандарти були розроблені на початку 80-х і 90-х років, які досі широко використовуються. Оскільки в промисловості є багато пристроїв і з'єднань, оновлення пристроїв є дуже складним, що надає хакерам перевагу у роботі з застарілими протоколами. Атаки на Modbus практично неминучі, оскільки він буде використовуватися без оновлення, оскільки його робота є критично важливою для промисловості.
Архітектура клієнт-сервер
Протокол Modbus зазвичай використовується в архітектурі клієнт-сервер, де головний пристрій (клієнт) ініціює зв'язок з одним або кількома підлеглими пристроями (серверами). Це також називається архітектурою Master-Slave, яка широко використовується в електроніці та IoT з SPI, I2C тощо.
Серійні та Ethernet версії
Протокол Modbus розроблений як для серійної, так і для Ethernet комунікацій. Серійна комунікація широко використовується в застарілих системах, тоді як сучасні пристрої підтримують Ethernet, який пропонує високі швидкості передачі даних і є більш придатним для сучасних промислових мереж.
Представлення даних
Дані передаються в протоколі Modbus у форматі ASCII або бінарному, хоча бінарний формат використовується через його сумісність зі старими пристроями.
Код функцій
Протокол ModBus працює з передачею специфічних кодів функцій, які використовуються для управління PLC та різними контрольними пристроями. Ця частина важлива для розуміння, оскільки атаки повторення можуть бути здійснені шляхом повторної передачі кодів функцій. Застарілі пристрої не підтримують жодного шифрування під час передачі даних і зазвичай мають довгі дроти, які їх з'єднують, що призводить до підробки цих дротів і захоплення/введення даних.
Адресація Modbus
Кожен пристрій у мережі має унікальну адресу, яка є необхідною для зв'язку між пристроями. Протоколи, такі як Modbus RTU, Modbus TCP тощо, використовуються для реалізації адресації і служать як транспортний рівень для передачі даних. Дані, які передаються, мають формат протоколу Modbus, що містить повідомлення.
Крім того, Modbus також реалізує перевірки помилок, щоб забезпечити цілісність переданих даних. Але найголовніше, Modbus є відкритим стандартом, і будь-хто може реалізувати його у своїх пристроях. Це зробило цей протокол глобальним стандартом, і він широко поширений у промисловій автоматизації.
Через його широке використання та відсутність оновлень, атака на Modbus надає значну перевагу з його вразливими місцями. ICS сильно залежить від зв'язку між пристроями, і будь-які атаки на них можуть бути небезпечними для роботи промислових систем. Атаки, такі як повторення, введення даних, перехоплення даних і витік, відмова в обслуговуванні, підробка даних тощо, можуть бути здійснені, якщо засіб передачі буде виявлено атакуючим.
tip
Вивчайте та практикуйте AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Вивчайте та практикуйте GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Вивчайте та практикуйте Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Підтримайте HackTricks
- Перевірте плани підписки!
- Приєднуйтесь до 💬 групи Discord або групи telegram або слідкуйте за нами в Twitter 🐦 @hacktricks_live.
- Діліться хакерськими трюками, надсилаючи PR до HackTricks та HackTricks Cloud репозиторіїв на github.