https://dreamhack.io/wargame/challenges/1362
혹시 자동차🚗 해킹에 관심 있으신가요?
자동차의 CAN과 통신해서 얻은 파일을 통해 어떤 자동차인지 알아내세요!
플래그 형식 : DH{[연도][제조사][모델명]}
예를 들어, 차량이 "2014, Hyundai, Sonata"인 경우,
플래그는 DH{2014_Hyundai_Sonata}가 됩니다.
참고 자료 UDS protocol : https://piembsystech.com/data-identifiers-did-of-uds-protocol-iso-14229
문제에서 제시한 참고자료를 보니 자동차와 관련된 무언가겠구나..
자동차 진단에 이용하는 프로토콜인가보다.. 요정도로 간단하게 이해해주었습니다
문제 파일을 메모장으로 열어보니 이런 문자가 뜨는 것을 확인할 수 있었습니다.
이 메세지와 UDS와의 관계성에 대해 계속 생각->검색->생각 반복
열심히 검색하다가 해당 사이트를 통해 저 메세지가 결국 UDS Message Structure 구나! 라는 사실을 알았습니다
그렇다면 저 메세지가 무엇인지 해독이 필요..
문법 찾아보려고 하다가 GPT 한테 물어봤더니
메시지 구조 설명
CAN 메시지에서:
- CAN ID: 7E0, 7E8은 각각 요청(Request)과 응답(Response)을 나타냅니다.
- 데이터 길이: [8]은 데이터 바이트의 길이를 나타냅니다.
- 데이터: 각 바이트의 내용을 16진수로 나타냅니다.
메시지 해석
1. 요청 메시지:
can0 7E0 [8] 03 22 F1 90 00 00 00 00
- 7E0: 요청(Request) 메시지.
- 03: 메시지 데이터 길이 (3바이트).
- 22: UDS 서비스 ID(서비스 요청) - Read Data By Identifier (DID).
- F1 90: DID(Data Identifier) - 요청한 데이터 항목. 여기서 F1 90은 차량의 VIN(Vehicle Identification Number) 관련 데이터 요청으로 자주 사용됩니다.
2. 응답 메시지:
can0 7E8 [8] 10 14 62 F1 90 57 44 44
- 7E8: 응답(Response) 메시지.
- 10 14: 다중 프레임 전송 시작(Start Frame).
- 10: 첫 번째 프레임임을 나타냅니다.
- 14: 총 데이터 길이(20바이트, 0x14).
- 62: 긍정 응답 코드(Service Response).
- F1 90: 요청에 대한 DID.
- 57 44 44: 데이터 시작(VIN 일부).
3. 요청 메시지 (다중 프레임 전송 컨트롤):
can0 7E0 [8] 30 00 00 00 00 00 00 00
- 30: 다중 프레임 흐름 제어(Flow Control).
- 00: 수신 가능한 프레임 수.
- 나머지 바이트는 패딩.
4. 응답 메시지 (연속 프레임):
can0 7E8 [8] 21 48 46 35 47 42 35 42
can0 7E8 [8] 22 41 32 37 30 38 36 36
- 21, 22: 각각 연속 프레임 번호(Sequence Number).
- 데이터: 계속되는 VIN 데이터. 결합하면:
- 48 46 35 47 42 35 42 41 32 37 30 38 36 36 (ASCII로 변환):
- HF5GB5BA270866.
전체 VIN:
결과적으로 응답 메시지를 조합한 VIN은 **WDDHF5GB5BA270866**입니다.
이 VIN은 차량의 고유 식별번호를 나타냅니다.
구분선 안에 있는 내용처럼 대답을 해주더라고요
차량의 고유 식별 번호 WDDHF5GB5BA270866 를 알았으니 이제 해석하기만 하면 차종찾기 끝
위 사이트는 VIN을 입력하면 해석해주는 사이트입니다.
요렇게 뜨네요
따라서 답은 DH{2011_Mercedes-Benz_E-Class}
여담이지만 UDS 프로토콜을 해석할 줄 알면 금방 풀었을텐데 차량쪽은 잘 몰랐던지라 지피티 도움을 받았네요 ㅠ
'CTF 워게임' 카테고리의 다른 글
드림핵 포렌식 ascetic_zip (0) | 2025.03.28 |
---|---|
드림핵 포렌식 Corrupted Disk Image (0) | 2025.02.15 |
드림핵 포렌식 FFFFAAAATTTT (0) | 2025.02.15 |
드림핵 포렌식 Snowing! (0) | 2025.02.15 |
드림핵 포렌식 video_in_video (0) | 2025.02.14 |