Modbus ν”„λ‘œν† μ½œ

Tip

AWS ν•΄ν‚Ή 배우기 및 μ—°μŠ΅ν•˜κΈ°:HackTricks Training AWS Red Team Expert (ARTE)
GCP ν•΄ν‚Ή 배우기 및 μ—°μŠ΅ν•˜κΈ°: HackTricks Training GCP Red Team Expert (GRTE) Azure ν•΄ν‚Ή 배우기 및 μ—°μŠ΅ν•˜κΈ°: HackTricks Training Azure Red Team Expert (AzRTE)

HackTricks μ§€μ›ν•˜κΈ°

Modbus ν”„λ‘œν† μ½œ μ†Œκ°œ

Modbus ν”„λ‘œν† μ½œμ€ μ‚°μ—… μžλ™ν™” 및 μ œμ–΄ μ‹œμŠ€ν…œμ—μ„œ 널리 μ‚¬μš©λ˜λŠ” ν”„λ‘œν† μ½œμž…λ‹ˆλ‹€. ModbusλŠ” ν”„λ‘œκ·Έλž˜λ¨ΈλΈ” 둜직 컨트둀러(PLC), μ„Όμ„œ, 앑좔에이터 및 기타 μ‚°μ—… μž₯μΉ˜μ™€ 같은 λ‹€μ–‘ν•œ μž₯치 κ°„μ˜ 톡신을 ν—ˆμš©ν•©λ‹ˆλ‹€. Modbus ν”„λ‘œν† μ½œμ„ μ΄ν•΄ν•˜λŠ” 것은 ICSμ—μ„œ κ°€μž₯ 많이 μ‚¬μš©λ˜λŠ” 톡신 ν”„λ‘œν† μ½œμ΄λ©°, μŠ€λ‹ˆν•‘ 및 PLC에 λͺ…령을 μ£Όμž…ν•  수 μžˆλŠ” λ§Žμ€ 곡격 ν‘œλ©΄μ΄ 있기 λ•Œλ¬Έμ— ν•„μˆ˜μ μž…λ‹ˆλ‹€.

μ—¬κΈ°μ„œλŠ” ν”„λ‘œν† μ½œμ˜ λ§₯락과 μž‘λ™ 방식을 μ œκ³΅ν•˜λŠ” κ°œλ…μ„ ν¬μΈνŠΈλ³„λ‘œ μ„€λͺ…ν•©λ‹ˆλ‹€. ICS μ‹œμŠ€ν…œ λ³΄μ•ˆμ˜ κ°€μž₯ 큰 도전 κ³Όμ œλŠ” κ΅¬ν˜„ 및 μ—…κ·Έλ ˆμ΄λ“œ λΉ„μš©μž…λ‹ˆλ‹€. μ΄λŸ¬ν•œ ν”„λ‘œν† μ½œκ³Ό ν‘œμ€€μ€ 80λ…„λŒ€μ™€ 90λ…„λŒ€ μ΄ˆκΈ°μ— μ„€κ³„λ˜μ—ˆμœΌλ©° μ—¬μ „νžˆ 널리 μ‚¬μš©λ˜κ³  μžˆμŠ΅λ‹ˆλ‹€. μ‚°μ—…μ—λŠ” λ§Žμ€ μž₯μΉ˜μ™€ 연결이 있기 λ•Œλ¬Έμ— μž₯치λ₯Ό μ—…κ·Έλ ˆμ΄λ“œν•˜λŠ” 것이 맀우 μ–΄λ ΅κ³ , μ΄λŠ” ν•΄μ»€μ—κ²Œ ꡬ식 ν”„λ‘œν† μ½œμ„ λ‹€λ£° 수 μžˆλŠ” μš°μœ„λ₯Ό μ œκ³΅ν•©λ‹ˆλ‹€. Modbus에 λŒ€ν•œ 곡격은 μ—…κ·Έλ ˆμ΄λ“œ 없이 μ‚¬μš©λ  것이기 λ•Œλ¬Έμ— 사싀상 ν”Όν•  수 μ—†μŠ΅λ‹ˆλ‹€. μ΄λŠ” 산업에 μ€‘μš”ν•œ μž‘λ™μž…λ‹ˆλ‹€.

ν΄λΌμ΄μ–ΈνŠΈ-μ„œλ²„ μ•„ν‚€ν…μ²˜

Modbus ν”„λ‘œν† μ½œμ€ 일반적으둜 ν΄λΌμ΄μ–ΈνŠΈ-μ„œλ²„ μ•„ν‚€ν…μ²˜λ‘œ μ‚¬μš©λ˜λ©°, μ—¬κΈ°μ„œ λ§ˆμŠ€ν„° μž₯치(ν΄λΌμ΄μ–ΈνŠΈ)κ°€ ν•˜λ‚˜ μ΄μƒμ˜ 슬레이브 μž₯치(μ„œλ²„)와 톡신을 μ‹œμž‘ν•©λ‹ˆλ‹€. μ΄λŠ” μ „μž 및 IoTμ—μ„œ SPI, I2C λ“±κ³Ό ν•¨κ»˜ 널리 μ‚¬μš©λ˜λŠ” λ§ˆμŠ€ν„°-슬레이브 μ•„ν‚€ν…μ²˜λΌκ³ λ„ ν•©λ‹ˆλ‹€.

직렬 및 이더넷 버전

Modbus ν”„λ‘œν† μ½œμ€ 직렬 톡신과 이더넷 톡신 λͺ¨λ‘λ₯Ό μœ„ν•΄ μ„€κ³„λ˜μ—ˆμŠ΅λ‹ˆλ‹€. 직렬 톡신은 λ ˆκ±°μ‹œ μ‹œμŠ€ν…œμ—μ„œ 널리 μ‚¬μš©λ˜λŠ” 반면, ν˜„λŒ€ μž₯μΉ˜λŠ” 이더넷을 μ§€μ›ν•˜μ—¬ 높은 데이터 전솑 속도λ₯Ό μ œκ³΅ν•˜λ©° ν˜„λŒ€ μ‚°μ—… λ„€νŠΈμ›Œν¬μ— 더 μ ν•©ν•©λ‹ˆλ‹€.

데이터 ν‘œν˜„

Modbus ν”„λ‘œν† μ½œμ—μ„œ λ°μ΄ν„°λŠ” ASCII λ˜λŠ” 이진 ν˜•μ‹μœΌλ‘œ μ „μ†‘λ˜λ©°, 이진 ν˜•μ‹μ€ κ΅¬ν˜• μž₯μΉ˜μ™€μ˜ ν˜Έν™˜μ„± λ•Œλ¬Έμ— μ‚¬μš©λ©λ‹ˆλ‹€.

κΈ°λŠ₯ μ½”λ“œ

ModBus ν”„λ‘œν† μ½œμ€ PLC 및 λ‹€μ–‘ν•œ μ œμ–΄ μž₯치λ₯Ό μž‘λ™ν•˜λŠ” 데 μ‚¬μš©λ˜λŠ” νŠΉμ • κΈ°λŠ₯ μ½”λ“œμ˜ μ „μ†‘μœΌλ‘œ μž‘λ™ν•©λ‹ˆλ‹€. 이 뢀뢄은 κΈ°λŠ₯ μ½”λ“œλ₯Ό μž¬μ „μ†‘ν•˜μ—¬ μž¬μƒ 곡격을 μˆ˜ν–‰ν•  수 있기 λ•Œλ¬Έμ— μ΄ν•΄ν•˜λŠ” 것이 μ€‘μš”ν•©λ‹ˆλ‹€. λ ˆκ±°μ‹œ μž₯μΉ˜λŠ” 데이터 전솑에 λŒ€ν•œ μ•”ν˜Έν™”λ₯Ό μ§€μ›ν•˜μ§€ μ•ŠμœΌλ©°, 일반적으둜 κΈ΄ μ „μ„ μœΌλ‘œ μ—°κ²°λ˜μ–΄ μžˆμ–΄ μ΄λŸ¬ν•œ μ „μ„ μ˜ λ³€μ‘° 및 데이터 캑처/μ£Όμž…μ΄ λ°œμƒν•  수 μžˆμŠ΅λ‹ˆλ‹€.

Modbus의 μ£Όμ†Œ μ§€μ •

λ„€νŠΈμ›Œν¬μ˜ 각 μž₯μΉ˜λŠ” μž₯치 κ°„ 톡신에 ν•„μˆ˜μ μΈ 고유 μ£Όμ†Œλ₯Ό κ°€μ§€κ³  μžˆμŠ΅λ‹ˆλ‹€. Modbus RTU, Modbus TCP λ“±μ˜ ν”„λ‘œν† μ½œμ΄ μ£Όμ†Œ 지정을 κ΅¬ν˜„ν•˜λŠ” 데 μ‚¬μš©λ˜λ©°, 데이터 전솑을 μœ„ν•œ 전솑 계측 역할을 ν•©λ‹ˆλ‹€. μ „μ†‘λ˜λŠ” λ°μ΄ν„°λŠ” λ©”μ‹œμ§€λ₯Ό ν¬ν•¨ν•˜λŠ” Modbus ν”„λ‘œν† μ½œ ν˜•μ‹μž…λ‹ˆλ‹€.

λ˜ν•œ, ModbusλŠ” μ „μ†‘λœ λ°μ΄ν„°μ˜ 무결성을 보μž₯ν•˜κΈ° μœ„ν•΄ 였λ₯˜ 검사λ₯Ό κ΅¬ν˜„ν•©λ‹ˆλ‹€. κ·ΈλŸ¬λ‚˜ κ°€μž₯ μ€‘μš”ν•œ 것은 Modbusκ°€ μ˜€ν”ˆ ν‘œμ€€μ΄λΌλŠ” 점이며, λˆ„κ΅¬λ‚˜ μžμ‹ μ˜ μž₯μΉ˜μ— 이λ₯Ό κ΅¬ν˜„ν•  수 μžˆμŠ΅λ‹ˆλ‹€. 이둜 인해 이 ν”„λ‘œν† μ½œμ€ κΈ€λ‘œλ²Œ ν‘œμ€€μœΌλ‘œ 자리 μž‘μ•˜μœΌλ©° μ‚°μ—… μžλ™ν™” μ‚°μ—…μ—μ„œ 널리 퍼져 μžˆμŠ΅λ‹ˆλ‹€.

λŒ€κ·œλͺ¨ μ‚¬μš©κ³Ό μ—…κ·Έλ ˆμ΄λ“œ λΆ€μ‘±μœΌλ‘œ 인해 Modbusλ₯Ό κ³΅κ²©ν•˜λŠ” 것은 곡격 ν‘œλ©΄μ—μ„œ μƒλ‹Ήν•œ 이점을 μ œκ³΅ν•©λ‹ˆλ‹€. ICSλŠ” μž₯치 κ°„μ˜ 톡신에 크게 μ˜μ‘΄ν•˜λ©°, 이듀에 λŒ€ν•œ 곡격은 μ‚°μ—… μ‹œμŠ€ν…œμ˜ μš΄μ˜μ— μœ„ν—˜ν•  수 μžˆμŠ΅λ‹ˆλ‹€. μž¬μƒ, 데이터 μ£Όμž…, 데이터 μŠ€λ‹ˆν•‘ 및 유좜, μ„œλΉ„μŠ€ κ±°λΆ€, 데이터 μœ„μ‘° λ“±μ˜ 곡격이 κ³΅κ²©μžκ°€ 전솑 맀체λ₯Ό 식별할 경우 μˆ˜ν–‰λ  수 μžˆμŠ΅λ‹ˆλ‹€.

Tip

AWS ν•΄ν‚Ή 배우기 및 μ—°μŠ΅ν•˜κΈ°:HackTricks Training AWS Red Team Expert (ARTE)
GCP ν•΄ν‚Ή 배우기 및 μ—°μŠ΅ν•˜κΈ°: HackTricks Training GCP Red Team Expert (GRTE) Azure ν•΄ν‚Ή 배우기 및 μ—°μŠ΅ν•˜κΈ°: HackTricks Training Azure Red Team Expert (AzRTE)

HackTricks μ§€μ›ν•˜κΈ°