hacktricks/network-services-pentesting/pentesting-modbus.md
2024-02-10 21:30:13 +00:00

4.9 KiB

htARTE (HackTricks AWS Red Team Expert)를 통해 AWS 해킹을 처음부터 전문가까지 배워보세요!

HackTricks를 지원하는 다른 방법:

기본 정보

1979년에 Modbus 프로토콜은 Modicon에 의해 개발되었으며 메시징 구조로 사용됩니다. 주요 용도는 마스터-슬레이브/클라이언트-서버 모델에서 작동하는 지능형 장치 간 통신을 용이하게 하는 것입니다. 이 프로토콜은 장치 간 데이터 교환을 효율적으로 가능하게 하는 데 중요한 역할을 합니다.

기본 포트: 502

PORT    STATE SERVICE
502/tcp open  modbus

열거

Modbus Protocol

Modbus는 산업 자동화 시스템에서 사용되는 통신 프로토콜입니다. Modbus는 클라이언트-서버 아키텍처를 기반으로 하며, 주로 제어 장치와 센서 간의 통신에 사용됩니다. Modbus는 주로 TCP/IP 또는 시리얼 통신을 통해 작동하며, 주로 포트 502를 사용합니다.

Modbus Unit Identifier (UID)

Modbus 통신에서 각 장치는 고유한 Unit Identifier (UID)를 가지고 있습니다. UID는 1에서 247 사이의 값을 가질 수 있으며, 각 장치는 고유한 식별자를 가지고 있어야 합니다.

Modbus Function Codes

Modbus 프로토콜은 다양한 기능 코드를 제공합니다. 일반적으로 사용되는 기능 코드에는 다음과 같은 것들이 있습니다:

  • Read Coils (0x01): 디지털 출력 상태를 읽습니다.
  • Read Discrete Inputs (0x02): 디지털 입력 상태를 읽습니다.
  • Read Holding Registers (0x03): 레지스터 값을 읽습니다.
  • Read Input Registers (0x04): 입력 레지스터 값을 읽습니다.
  • Write Single Coil (0x05): 단일 디지털 출력 상태를 설정합니다.
  • Write Single Register (0x06): 단일 레지스터 값을 설정합니다.
  • Write Multiple Coils (0x0F): 여러 디지털 출력 상태를 설정합니다.
  • Write Multiple Registers (0x10): 여러 레지스터 값을 설정합니다.

Modbus TCP/IP

Modbus TCP/IP는 Modbus 프로토콜을 TCP/IP 네트워크 상에서 사용하는 방식입니다. Modbus TCP/IP는 주로 이더넷 또는 Wi-Fi를 통해 통신하며, 포트 502를 사용합니다.

Modbus RTU

Modbus RTU는 Modbus 프로토콜을 시리얼 통신 상에서 사용하는 방식입니다. Modbus RTU는 RS-232 또는 RS-485와 같은 시리얼 통신을 통해 작동하며, 데이터를 이진 형식으로 전송합니다.

Modbus ASCII

Modbus ASCII는 Modbus 프로토콜을 시리얼 통신 상에서 ASCII 문자로 전송하는 방식입니다. Modbus ASCII는 RS-232와 같은 시리얼 통신을 통해 작동하며, 데이터를 ASCII 형식으로 전송합니다.

nmap --script modbus-discover -p 502 <IP>
msf> use auxiliary/scanner/scada/modbusdetect
msf> use auxiliary/scanner/scada/modbus_findunitid
htARTE (HackTricks AWS Red Team Expert)를 통해 AWS 해킹을 처음부터 전문가까지 배워보세요!

HackTricks를 지원하는 다른 방법: