CTFlearn 의 여든 네번째 문제
Medium 난이도의 포렌식 문제인데 이전에 비슷한 유형의 문제보다 살짝 어렵다.
문제설명을 읽어보면, Python 을 사용하면 편하다는데
안써도 충분히 풀 수 있다.
문제에서 제공하는 HailCaesar.jpg 파일은 이렇게 생겼다.
HxD 를 이용해 해당 파일을 열어보면
시작부터 뭔가 눈에띄는 데이터들이 보인다.
좀더 깔끔하게 보기 위해 Sublime에 붙혀넣어서 확인해봤다.
CTFlearn 으로 시작하는 플래그 같이 생긴애들이 보이고
밑에는 Base64로 인코딩 된듯한 데이터가 보인다.
당연하게도 이 세 가지는 진짜 플래그가 아니다.
힌트일거라고 생각해서 고민해보니
두번째 줄은 맨 앞글자만 모아서 보면 ASCII,
세번째 줄은 32 ~ 126 이라는 숫자에 주목해서
ASCII 코드의 32 부터 126 까지 라는 의미인듯 했다.
빨간 네모안에 있는 문자열들이 해당 범위이다.
CyberChef(https://gchq.github.io/CyberChef) 에서 Base64 인코딩된 데이터를 디코딩 해보니
문제에 대한 힌트가 써있었다.
그리고 참고할만한 문제들도 적혀있다.
이미 이전에 블로그에서 다뤘던 문제들이다.
RubberDuck : https://hackingstudypad.tistory.com/266
Snowboard : https://hackingstudypad.tistory.com/277
PikesPeak : https://hackingstudypad.tistory.com/288
GandalfTheWise : https://hackingstudypad.tistory.com/365
2m{y!"%w2'z{&o2UfX~ws%!._s+{ (&@Vwu{ (&@_w%{v{(&0
위 문자열이 Base64 뒤에 오는 데이터인데
이 부분에 뭔가 숨겨져 있을거라고 생각했다.
문제 설명에 보면 some encryption 이 포함되어있을거라고 되어있는데
ASCII Cipher 라고 구글에 검색해보니
ASCII Shift Cipher 라는게 나왔다.
Decode.fr(https://www.dcode.fr/ascii-shift-cipher) 에서 이렇게 입력을 넣어주고
Decyrpt 를 눌러보면
Shift 를 +18 만큼했을때
뭔가 플래그 처럼 생긴 값이 보인다.
그런데 ASCII 범위가 잘못 설정되어있는지 중간에 깨진 글자들이 보였다.
다른 사이트에서 Shift 를 18로 맞추고,
(https://cryptii.com/pipes/caesar-cipher)
32 부터 126 까지의 ASCII 범위를 넣어 DECODE 해주니
정상적으로 플래그가 출력되었다.
'워게임 > CTFlearn' 카테고리의 다른 글
[CTFlearn] Python Reversal - 프로그래밍 (56) | 2023.04.12 |
---|---|
[CTFlearn] Is it the Flag? (JAVA) - 프로그래밍 / Python (69) | 2023.04.07 |
[CTFlearn] Weird Android Calculator - 프로그래밍 / JADX / Python (52) | 2023.03.30 |
[CTFlearn] CoppeRSA Lattice - 암호학 / RsaCtfTool (64) | 2023.03.28 |
[CTFlearn] Adoni Assembler Chall - 프로그래밍 (62) | 2023.03.26 |