은근 공부한 게 많은 문제여서 라업을 적어본다.
문제
[ Category ]
Forensics, Misc
[ Description ]
Umm.. 난 PPT 발표를 하기 전, 긴장된 마음을 풀고자
프리젠터를 막 누르곤 하지.. :(
FLag 형식은 KHK{}입니다.
*수정모든 Flag는 대문자입니다.
[ File ]
My_PPT.pcapng
풀이
pcapng 파일이니까 일단 Wireshark로 열어봄.
PPT 랑 Wireshark랑 무슨 상관이지?
-> 이건 네트워크 패킷이 아니라 USB 패킷임.
USB? 정보저장매체?
-> 정확히는 "Universal Serial Bus" 규격의 인터페이스를 의미.
흔히 아는 그 정보저장매체 USB도 사실 Universal Serial Bus 규격에 따라 동작하는 저장매체를 줄여 부르는 관용어일 뿐.
여기서 USB 패킷이라고 함은
- USB 버스 위에 연결된 모든 장치 (키보드, 마우스, 프린터, 저장장치 등) 에 의해
USB 버스 상의 전송 로그다.
쉽게 말해서, 마우스 클릭, 키보드 입력 등의 패킷임.
URB_INTERRUPT 에서 URB가 뭐지?
-> USB Request Block
문제 설명에서 프리젠터를 막 눌렀다고 했음.
이로 인해 연달아 수많은 인터럽트가 발생한 것으로 보임.
FLAG를 얻기 위해 규칙을 찾아봄.
우선, 패킷 4개가 한 묶음인 것으로 보임.
- 의미있는 HID DATA는 4*n번째에 발생하고 있음
HEX 상 R 과 Q 로 나타나는 저 부분이 HID DATA 임.
HID DATA란 실제로 디바이스가 보낸 바이트 스트림
EX) 키보드로 누른 키 값
HID DATA 해석하는 방법
https://gist.github.com/MightyPork/6da26e382a7ad91b5496ee55fdc73db2
R로 나타난 HID Data = 0x0200520000000000
첫번째 바이트 : Modifier mask
0x02 이므로, Left Shift를 누른 것
두번째 바이트는 reserved (0x00)
다음 바이트는 0x52 이므로, 위쪽 화살표를 누른 것
즉, Shift + Up Arrow 키가 동시에 눌린 상태임.
같은 방식으로 Q로 나타난 HID DATA는 Shift + Down Arrow 키가 동시에 눌린 상태.
그런데 이건 키보드가 아니라 프리젠터임
프리젠터 내부에서 어떻게 매핑하는지는 모르겠지만 .. 아마 이전 슬라이드 키 / 다음 슬라이드 키 누른 거 아닐까?
USB HID Keyboard scan codes
USB HID Keyboard scan codes. GitHub Gist: instantly share code, notes, and snippets.
gist.github.com
HID DATA에는 R과 Q만 나타남. 그런데 RQRQRQ.. 이런 식이 아니라 RQQQRRQR 이런 식으로 불규칙한 패턴이 있었음.
그래서 이게 FLAG를 의미할 것이라 생각하게 됨.
그런데 어떻게 끊어야할까 생각하다가
패킷마다 다른 건 Time from request 뿐이었음.
0. xxxx 초인 패킷이 대다수였고, 간혹 1초 이상인 패킷이 나타남.
이걸 기준으로 0.xxxx 초인 패킷들은 하나의 단어나 글자를 이루고, 1초 이상인 패킷을 경계로 단어나 글자를 끊어주면 되지 않을까 생각함.
RQR
QQQQ
RQR
RQRRQ
QRQQ
RRR
RRR
RQR
QQRRQR
QR
R
QQRRQR
RR
RQRR
QQRRQR
QRRQ
QRRQ
R
RQRRQR
끊어보니 이랬음.
여기서부터 헤맸는데 ..
생각해보니 단순
R과 Q로만 나타내졌으므로 1) 이진수 2) 모스부호 중 하나로 풀이가 가능할 것
(이진수만 생각해서 엄청나게 헤맸다.)
FLAG가 KHK 로 시작한다 했는데 첫 글자가 RQR
K = RQR 이려면
-> R = - /// Q = .
이 방식으로 모두 모스부호로 대응시켜보면 FLAG가 나온다.
'Write-Up' 카테고리의 다른 글
[Dreamhack] Don't Do(S) That! (4) | 2025.05.09 |
---|---|
[UTCTF 2025] Finally, an un-strings-able problem (2) | 2025.03.17 |
[DownUnder CTF 2024] intercepted transmissions (6) | 2024.07.22 |
[DownUnder CTF 2024] SAM I AM (7) | 2024.07.10 |
[DownUnder CTF 2024] Baby's First Forensics (2) | 2024.07.10 |