502 - Pentesting Modbus

Naucz się hakować AWS od zera do bohatera z htARTE (HackTricks AWS Red Team Expert)!

Inne sposoby wsparcia HackTricks:

Podstawowe informacje

W 1979 roku opracowano Protokół Modbus przez Modicon, służący jako struktura komunikacyjna. Jego główne zastosowanie polega na ułatwianiu komunikacji między inteligentnymi urządzeniami, działającymi w modelu master-slave/client-server. Ten protokół odgrywa kluczową rolę w umożliwianiu urządzeniom efektywnej wymiany danych.

Domyślny port: 502

PORT    STATE SERVICE
502/tcp open  modbus

Wyliczanie

Modbus

Modbus jest protokołem komunikacyjnym wykorzystywanym głównie w przemysłowych systemach automatyzacji. Protokół ten jest oparty na architekturze klient-serwer i umożliwia komunikację między urządzeniami sieciowymi poprzez port szeregowy lub TCP/IP.

Skanowanie portów

Aby rozpocząć proces wyliczania usług Modbus, należy najpierw zeskanować porty hosta docelowego. Można to zrobić za pomocą narzędzi takich jak Nmap lub Masscan. Poniżej przedstawiono przykładową komendę Nmap do skanowania portów Modbus:

nmap -p 502 --script modbus-discover <adres_IP>

Wykrywanie urządzeń Modbus

Po zeskanowaniu portów można użyć narzędzi takich jak modscan lub modbus-cli do wykrywania urządzeń Modbus i ich funkcji. Poniżej przedstawiono przykładową komendę modscan:

modscan.py -a <adres_IP> -p 502

Analiza ruchu Modbus

Aby zrozumieć, jakie komendy są wysyłane między klientem a serwerem Modbus, można użyć narzędzi do analizy ruchu sieciowego, takich jak Wireshark. Należy skonfigurować Wireshark do nasłuchiwania ruchu na odpowiednim interfejsie sieciowym i filtrowania pakietów Modbus.

DNP3

DNP3 (Distributed Network Protocol 3) jest protokołem komunikacyjnym stosowanym w systemach monitorowania i kontroli w sektorze energetycznym. Protokół ten jest oparty na architekturze klient-serwer i wykorzystuje protokół transportowy TCP/IP.

Skanowanie portów

Podobnie jak w przypadku Modbus, należy rozpocząć proces wyliczania usług DNP3 od zeskanowania portów hosta docelowego. Można to zrobić za pomocą narzędzi takich jak Nmap lub Masscan. Poniżej przedstawiono przykładową komendę Nmap do skanowania portów DNP3:

nmap -p 20000 --script dnp3-enumeration <adres_IP>

Wykrywanie urządzeń DNP3

Po zeskanowaniu portów można użyć narzędzi takich jak dnp3-toolkit do wykrywania urządzeń DNP3 i ich funkcji. Poniżej przedstawiono przykładową komendę dnp3-toolkit:

dnp3-toolkit -a <adres_IP> -p 20000

Analiza ruchu DNP3

Podobnie jak w przypadku Modbus, można użyć narzędzi do analizy ruchu sieciowego, takich jak Wireshark, do zrozumienia komunikacji między klientem a serwerem DNP3. Należy skonfigurować Wireshark do nasłuchiwania ruchu na odpowiednim interfejsie sieciowym i filtrowania pakietów DNP3.

nmap --script modbus-discover -p 502 <IP>
msf> use auxiliary/scanner/scada/modbusdetect
msf> use auxiliary/scanner/scada/modbus_findunitid
Naucz się hakować AWS od zera do bohatera z htARTE (HackTricks AWS Red Team Expert)!

Inne sposoby wsparcia HackTricks:

Last updated