htARTE (HackTricks AWS Red Team Expert)를 통해 AWS 해킹을 처음부터 전문가까지 배워보세요! HackTricks를 지원하는 다른 방법: * **회사를 HackTricks에서 광고하거나 HackTricks를 PDF로 다운로드**하려면 [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)를 확인하세요! * [**공식 PEASS & HackTricks 스웨그**](https://peass.creator-spring.com)를 얻으세요. * [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요. 독점적인 [**NFTs**](https://opensea.io/collection/the-peass-family) 컬렉션입니다. * 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)를 **팔로우**하세요. * **Hacking 트릭을 공유하려면** [**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github 저장소에 PR을 제출하세요.
# **프로토콜 정보** EtherNet/IP는 **산업 자동화 제어 시스템**에서 일반적으로 사용되는 **산업용 이더넷 네트워킹 프로토콜**입니다. 이 프로토콜은 1990년대 후반에 Rockwell Automation에서 개발되었으며 ODVA에서 관리됩니다. 이 프로토콜은 **다중 공급업체 시스템 상호 운용성**을 보장하며 **수처리 공장**, **제조 시설**, **공공 시설** 등 다양한 응용 분야에서 사용됩니다. EtherNet/IP 장치를 식별하기 위해 **TCP/44818**로 **Identities Message (0x63) 목록**을 보냅니다. **기본 포트:** 44818 UDP/TCP ``` PORT STATE SERVICE 44818/tcp open EtherNet/IP ``` # **열거** --- ## **Ethernet/IP** Ethernet/IP는 산업 자동화 시스템에서 널리 사용되는 통신 프로토콜입니다. 이 프로토콜은 TCP/IP를 기반으로 하며, 기계 간 통신을 위해 사용됩니다. Ethernet/IP는 CIP(Common Industrial Protocol)를 사용하여 데이터를 교환하며, 다양한 서비스와 기능을 제공합니다. --- ## **Enumeration Techniques** ### **1. ARP Scanning** ARP 스캐닝은 Ethernet/IP 네트워크에서 사용 가능한 호스트를 식별하는 데 사용됩니다. ARP 스캐닝은 네트워크 상의 모든 호스트에 ARP 요청을 보내고, 응답을 통해 호스트의 IP 주소를 확인합니다. ### **2. CIP Services** Ethernet/IP는 CIP를 사용하여 데이터를 교환합니다. 따라서 CIP 서비스를 열거하여 시스템의 정보를 수집할 수 있습니다. 일반적으로 사용되는 CIP 서비스에는 다음과 같은 것들이 있습니다. - Get Attribute Single (0x0E) - Get Attribute All (0x01) - Get Attribute List (0x55) - Get Member (0x4C) - Get Member List (0x4D) - Get Instance Attribute List (0x56) - Get Class Attribute List (0x57) - Get Connection List (0x5A) - Get Connection Owner (0x5B) - Get Connection Size (0x5C) - Get Connection Type (0x5D) - Get Connection Status (0x5E) - Get Connection Path (0x5F) - Get Connection Target (0x60) - Get Connection In Use (0x61) - Get Connection Data (0x62) - Get Connection Data Rate (0x63) - Get Connection Priority (0x64) - Get Connection Time (0x65) - Get Connection Control (0x66) - Get Connection Mode (0x67) - Get Connection Sequence (0x68) - Get Connection Acknowledge (0x69) - Get Connection Error (0x6A) - Get Connection Error Code (0x6B) - Get Connection Error Info (0x6C) - Get Connection Error Path (0x6D) - Get Connection Error Object (0x6E) - Get Connection Error Connection (0x6F) - Get Connection Error Service (0x70) - Get Connection Error Class (0x71) - Get Connection Error Instance (0x72) - Get Connection Error Attribute (0x73) - Get Connection Error Member (0x74) - Get Connection Error Code 1 (0x75) - Get Connection Error Code 2 (0x76) - Get Connection Error Code 3 (0x77) - Get Connection Error Code 4 (0x78) - Get Connection Error Code 5 (0x79) - Get Connection Error Code 6 (0x7A) - Get Connection Error Code 7 (0x7B) - Get Connection Error Code 8 (0x7C) - Get Connection Error Code 9 (0x7D) - Get Connection Error Code 10 (0x7E) - Get Connection Error Code 11 (0x7F) - Get Connection Error Code 12 (0x80) - Get Connection Error Code 13 (0x81) - Get Connection Error Code 14 (0x82) - Get Connection Error Code 15 (0x83) - Get Connection Error Code 16 (0x84) - Get Connection Error Code 17 (0x85) - Get Connection Error Code 18 (0x86) - Get Connection Error Code 19 (0x87) - Get Connection Error Code 20 (0x88) - Get Connection Error Code 21 (0x89) - Get Connection Error Code 22 (0x8A) - Get Connection Error Code 23 (0x8B) - Get Connection Error Code 24 (0x8C) - Get Connection Error Code 25 (0x8D) - Get Connection Error Code 26 (0x8E) - Get Connection Error Code 27 (0x8F) - Get Connection Error Code 28 (0x90) - Get Connection Error Code 29 (0x91) - Get Connection Error Code 30 (0x92) - Get Connection Error Code 31 (0x93) - Get Connection Error Code 32 (0x94) - Get Connection Error Code 33 (0x95) - Get Connection Error Code 34 (0x96) - Get Connection Error Code 35 (0x97) - Get Connection Error Code 36 (0x98) - Get Connection Error Code 37 (0x99) - Get Connection Error Code 38 (0x9A) - Get Connection Error Code 39 (0x9B) - Get Connection Error Code 40 (0x9C) - Get Connection Error Code 41 (0x9D) - Get Connection Error Code 42 (0x9E) - Get Connection Error Code 43 (0x9F) - Get Connection Error Code 44 (0xA0) - Get Connection Error Code 45 (0xA1) - Get Connection Error Code 46 (0xA2) - Get Connection Error Code 47 (0xA3) - Get Connection Error Code 48 (0xA4) - Get Connection Error Code 49 (0xA5) - Get Connection Error Code 50 (0xA6) - Get Connection Error Code 51 (0xA7) - Get Connection Error Code 52 (0xA8) - Get Connection Error Code 53 (0xA9) - Get Connection Error Code 54 (0xAA) - Get Connection Error Code 55 (0xAB) - Get Connection Error Code 56 (0xAC) - Get Connection Error Code 57 (0xAD) - Get Connection Error Code 58 (0xAE) - Get Connection Error Code 59 (0xAF) - Get Connection Error Code 60 (0xB0) - Get Connection Error Code 61 (0xB1) - Get Connection Error Code 62 (0xB2) - Get Connection Error Code 63 (0xB3) - Get Connection Error Code 64 (0xB4) - Get Connection Error Code 65 (0xB5) - Get Connection Error Code 66 (0xB6) - Get Connection Error Code 67 (0xB7) - Get Connection Error Code 68 (0xB8) - Get Connection Error Code 69 (0xB9) - Get Connection Error Code 70 (0xBA) - Get Connection Error Code 71 (0xBB) - Get Connection Error Code 72 (0xBC) - Get Connection Error Code 73 (0xBD) - Get Connection Error Code 74 (0xBE) - Get Connection Error Code 75 (0xBF) - Get Connection Error Code 76 (0xC0) - Get Connection Error Code 77 (0xC1) - Get Connection Error Code 78 (0xC2) - Get Connection Error Code 79 (0xC3) - Get Connection Error Code 80 (0xC4) - Get Connection Error Code 81 (0xC5) - Get Connection Error Code 82 (0xC6) - Get Connection Error Code 83 (0xC7) - Get Connection Error Code 84 (0xC8) - Get Connection Error Code 85 (0xC9) - Get Connection Error Code 86 (0xCA) - Get Connection Error Code 87 (0xCB) - Get Connection Error Code 88 (0xCC) - Get Connection Error Code 89 (0xCD) - Get Connection Error Code 90 (0xCE) - Get Connection Error Code 91 (0xCF) - Get Connection Error Code 92 (0xD0) - Get Connection Error Code 93 (0xD1) - Get Connection Error Code 94 (0xD2) - Get Connection Error Code 95 (0xD3) - Get Connection Error Code 96 (0xD4) - Get Connection Error Code 97 (0xD5) - Get Connection Error Code 98 (0xD6) - Get Connection Error Code 99 (0xD7) - Get Connection Error Code 100 (0xD8) - Get Connection Error Code 101 (0xD9) - Get Connection Error Code 102 (0xDA) - Get Connection Error Code 103 (0xDB) - Get Connection Error Code 104 (0xDC) - Get Connection Error Code 105 (0xDD) - Get Connection Error Code 106 (0xDE) - Get Connection Error Code 107 (0xDF) - Get Connection Error Code 108 (0xE0) - Get Connection Error Code 109 (0xE1) - Get Connection Error Code 110 (0xE2) - Get Connection Error Code 111 (0xE3) - Get Connection Error Code 112 (0xE4) - Get Connection Error Code 113 (0xE5) - Get Connection Error Code 114 (0xE6) - Get Connection Error Code 115 (0xE7) - Get Connection Error Code 116 (0xE8) - Get Connection Error Code 117 (0xE9) - Get Connection Error Code 118 (0xEA) - Get Connection Error Code 119 (0xEB) - Get Connection Error Code 120 (0xEC) - Get Connection Error Code 121 (0xED) - Get Connection Error Code 122 (0xEE) - Get Connection Error Code 123 (0xEF) - Get Connection Error Code 124 (0xF0) - Get Connection Error Code 125 (0xF1) - Get Connection Error Code 126 (0xF2) - Get Connection Error Code 127 (0xF3) - Get Connection Error Code 128 (0xF4) - Get Connection Error Code 129 (0xF5) - Get Connection Error Code 130 (0xF6) - Get Connection Error Code 131 (0xF7) - Get Connection Error Code 132 (0xF8) - Get Connection Error Code 133 (0xF9) - Get Connection Error Code 134 (0xFA) - Get Connection Error Code 135 (0xFB) - Get Connection Error Code 136 (0xFC) - Get Connection Error Code 137 (0xFD) - Get Connection Error Code 138 (0xFE) - Get Connection Error Code 139 (0xFF) ### **3. CIP Object Model** CIP 객체 모델은 Ethernet/IP 네트워크에서 사용되는 객체의 계층 구조를 설명합니다. CIP 객체 모델을 분석하여 시스템의 구성 요소와 관련된 정보를 파악할 수 있습니다. ### **4. CIP Class Codes** CIP 클래스 코드는 Ethernet/IP 네트워크에서 사용되는 클래스의 식별자입니다. CIP 클래스 코드를 분석하여 시스템의 클래스와 관련된 정보를 수집할 수 있습니다. ### **5. CIP Instance Codes** CIP 인스턴스 코드는 Ethernet/IP 네트워크에서 사용되는 인스턴스의 식별자입니다. CIP 인스턴스 코드를 분석하여 시스템의 인스턴스와 관련된 정보를 수집할 수 있습니다. ### **6. CIP Attribute Codes** CIP 속성 코드는 Ethernet/IP 네트워크에서 사용되는 속성의 식별자입니다. CIP 속성 코드를 분석하여 시스템의 속성과 관련된 정보를 수집할 수 있습니다. --- ## **References** - [https://en.wikipedia.org/wiki/EtherNet/IP](https://en.wikipedia.org/wiki/EtherNet/IP) - [https://www.ethernet-ip.org/](https://www.ethernet-ip.org/) ```bash nmap -n -sV --script enip-info -p 44818 pip3 install cpppo python3 -m cpppo.server.enip.list_services [--udp] [--broadcast] --list-identity -a ``` # Shodan * `port:44818 "제품 이름"`
htARTE (HackTricks AWS Red Team Expert) 을 통해 제로에서 영웅까지 AWS 해킹 배우기! HackTricks를 지원하는 다른 방법: * **회사를 HackTricks에서 광고하거나 HackTricks를 PDF로 다운로드**하려면 [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)를 확인하세요! * [**공식 PEASS & HackTricks 스웨그**](https://peass.creator-spring.com)를 얻으세요. * [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요. 독점적인 [**NFTs**](https://opensea.io/collection/the-peass-family) 컬렉션입니다. * 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**를** **팔로우**하세요. * **HackTricks**와 **HackTricks Cloud** github 저장소에 PR을 제출하여 **해킹 트릭을 공유**하세요.