(허가 되지 않은 점검도구 활용 스캔은 법적 문제 소지가 있으니 주의!)
지난 포스트에 이어서 이번에는 UART 디버깅 포트의 점검 시나리오를 알아보겠습니다.
[점검 시나리오]
제 경험상, 일반적으로 점검 시나리오는 아래와 같이 3가지 단계로 나눠볼 수 있습니다.
UART 포트 물리적 탐색 -> UART 포트/장치 연결 -> Serial 포트로 접속
1. UART 포트 물리적 탐색
먼저 IoT 단말에서 UART 의심 포트를 육안으로 확인해야 합니다.
일반적으로 UART 포트의 생김새가 어떤지 알고 있고 경험이 있으면 더 분별하기 쉽습니다. 다양한 UART 포트 케이스가 있기 때문에 확실히 하기 위해서는 멀티 테스터를 사용하여 전압을 측정하는 방법을 사용합니다.
보통 4PIN 포트가 UART 포트인 경우가 많으며, Debug나 UART 등의 문자열이 표시된 경우도 있습니다.
또는 각 PIN의 이름이 TX, RX, GND, VCC 이렇게 각각 표시되어 있는 경우도 있습니다.
또 위에 사진처럼 PIN이 PIN 모양이 아니라, 특이하게 생긴 경우도 볼 수 있습니다.
문자가 표기되어 있는 경우가 아니라면, UART 포트를 확신하기 힘들기 떄문에 멀티 테스터를 사용하여 확인 합니다.
멀티 테스터의 검은선을 GND에 접촉시키고, 각 PIN을 대보면서 전압을 측정합니다.
(특정 PIN을 GND로 특정하여 가정한 후 진행하며, 반응이 없을 때는 다른 PIN을 GND로 가정하는 것을 반복합니다.)
각 PIN의 전압이 아래 표에 있는 PIN 전압 또는 기타 레퍼런스들을 참고하여 어떤지 확인하고 예측하여 확인합니다.
3.3V(혹은 5v)의 전압이 잡히면 (-) 리드선은 GND / (+) 리드선은 VCC 일 확률이 높으며,
3V의 경우 TX, 모두가 아니라 극히 낮은 전압이라면 RX일 확률이 크니 참고하면 됩니다.
(멀티 테스터가 없는 경우에는 LED 불 장비나 PCB 특성을 이용할 수도 있습니다.)
2. UART 포트/장치 연결
아래와 같은 USB-ISP 점검 도구를 사용하겠습니다.
USB를 점검 PC나 노트북의 USB 포트에 연결하고, PIN들을 알맞게 점검 대상 장비의 UART 포트에 연결합니다.
TX와 RX를 교차하고 GND끼리 연결 합니다. (잘 이해가 안되시는 분은 앞 포스트 설명 참고 하시면 더 좋을 것 같아요.)
사진에서처럼 USB-ISP 점검 도구에 파란색/빨간색 불이 들어온 것을 보고 전류가 통하고 연결이 된 것을 대충 예상할 수 있습니다.
3. Serial 포트로 접속
물리적 연결을 완료하면, 점검 PC의 장치관리자에서 연결된 COM 포트 번호를 확인할 수 있습니다.
COM3으로 제대로 연결이 되어 인식되고 있습니다.
그 다음은 시리얼 통신을 지원하는 원격 쉘 프로그램을 사용합니다. 가장 간편하게 사용하는 Putty를 사용하겠습니다.
아래와 같이 putty에서 SSH의 Serial 통신 부분을 선택하고 첫 칸에 COM3(장치관리자에서 나타난 USB Serial Port로 입력)를 기입합니다.
그리고 Speed 부분, Baud Rate 부분에는 115200(기본값)으로 연결을 하여 시도합니다.
Baudrate(보레이트)는 1초에 몇 개의 신호를 보낼 것인가를 정하는 것으로 이 값이 맞지 않으면 정상적으로 디버깅 쉘로 진입할 수가 없습니다.
(보레이트는 높을수록 데이터 전송 속도가 빠릅니다.)
보통 115200, 57600, 38400, 19200, 9600 순으로 Brute Force Attack하여 Buad Rate를 맞춥니다.
만약 디버깅 쉘이 내용은 뜨는데 깨져서 알아보기 힘들다면 Baud Rate의 문제일 수도 있습니다. Baud Rate를 점검대상 기기 단말의 Baud Rate와 맞춰주면 해결될 수도 있습니다.
성공한다면 로그인 로그나 메시지들이 뜨기도 하며,
로그인 쉘이 나옵니다. (아무 것도 안나오다가 Magic Key를 눌렀을 떄 나오도록 보안조치된 경우도 존재함)
(허가 되지 않은 점검도구 활용 스캔은 법적 문제 소지가 있으니 주의!)
다음 포스트를 통해 간략히 공개할만한 실무 기반의 점검 포인트를 포스팅 할께요.
[모바일 진단] 안드로이드 애뮬레이터 녹스(Nox) 설치와 기본 설정 (2) | 2021.01.06 |
---|---|
[IoT 기기 진단] UART 디버깅 포트 점검 (포인트) (1) | 2020.08.14 |
[IoT 기기 진단] UART 디버깅 포트 점검 (소개) (0) | 2020.08.13 |
[Xray] CVE-2020-1938 Apache Tomcat AJP 취약점 점검 도구 (0) | 2020.03.04 |
[OpenVAS] 오픈소스 취약점 진단 시스템 : 오픈바스 (1) | 2020.03.04 |
댓글 영역