Grand Theft Auto | 워게임 | Dreamhack | 워게임 | Dreamhack
Grand Theft Auto
혹시 자동차🚗 해킹에 관심 있으신가요? 자동차의 CAN과 통신해서 얻은 파일을 통해 어떤 자동차인지 알아내세요! 플래그 형식 : DH{\[연도\]\\[제조사\]\\[모델명\]} 예를 들어, 차량이 "2014, Hyun
dreamhack.io
문제 설명
혹시 자동차🚗 해킹에 관심 있으신가요?
자동차의 CAN과 통신해서 얻은 파일을 통해 어떤 자동차인지 알아내세요!
플래그 형식 : DH{[연도]_[제조사]_[모델명]}
예를 들어, 차량이 "2014, Hyundai, Sonata"인 경우,
플래그는 DH{2014_Hyundai_Sonata}가 됩니다.
참고 자료 UDS protocol : https://piembsystech.com/data-identifiers-did-of-uds-protocol-iso-14229/
문제에서 준 파일을 압축 풀면 다음과 같은 txt 발견했다.

사이트에서 준 참고자료를 들어가봤다

txt 파일의 숫자와 매치하던 중, F190이 보였는데 이는 VIN 데이터 식별자라고 한다.
자동차 내부에서는 CAN 통신을 하는데
주어진 .txt파일 확인 시 ECU에서 차량 식별 번호인 VIN울 가져오는 과정임을 알 수 있음
[CAN] CAN Frame 구조 (tistory.com) << Can Frame 구조 살펴봄
can0 7E0 [8] 03 22 F1 90 00 00 00 00
=> ECU에 F1 90 ID에 해당하는 데이터를 요청하는 메시지
can0 7E8 [8] 10 14 62 F1 90 57 44 44
=> ECU는 요청한 데이터의 첫 번째 부분을 전송하고 있으며, 총 20바이트의 데이터가 전송될 것임을 알리는 것임
can0 7E0 [8] 30 00 00 00 00 00 00 00
=> ECU에 나머지 데이터를 전송하라는 지시를 내림
can0 7E8 [8] 21 48 46 35 47 42 35 42
=> 첫 번째 프레임의 나머지 데이터를 전송하는 중임
can0 7E8 [8] 22 41 32 37 30 38 36 36
=> 나머지 데이터를 포함함
이를 토대로 연속된 메시지에서 ECU가 전송한 데이터를 모두 합치면
57 44 44 48 46 35 47 42 35 42 41 32 37 30 38 36 36

아스키로 변환하면 "WDDHF5GB5BA270866" 나옴
ASCII 텍스트, 16 진수, 이진, 10 진수, Base64 변환기 (rapidtables.org)
정리하면
ECU에 F1 90 데이터(보통 VIN 번호)를 요청하는 메시지 보내고 ECU는 총 20바이트의 데이터를 나눠서 응답한 것임
이 때의 데이터를 통해 VIN 값 확인 가능함
VIN Decoding... | FAXVIN
Please wait Decoding WDDHF5GB5BA270866
www.faxvin.com

사진과 같은 차량 결과가 나온다.


DH{2011_Mercedes-Benz_E-class}
플래그 양식에 맞춰 값 넣어주면 성공이다
'소학회 > Dreamhack' 카테고리의 다른 글
| [Dreamhack] [wargame.kr] strcmp 풀이 (1) | 2024.11.12 |
|---|---|
| [Dreamhack] phpreg 풀이 (0) | 2024.11.12 |
| [Dreamhack] Exercise: SSH 문제풀이 (0) | 2024.07.16 |
| [Dreamhack] 64se64 풀이 (0) | 2024.07.15 |
| [Dreamhack] Windows Search 풀이 (0) | 2024.05.14 |