워게임/CTFlearn

[CTFlearn] HailCaesar! - 포렌식 / ASCII Cipher

SecurityMan 2023. 4. 2. 11:00

 

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 해주니

 

정상적으로 플래그가 출력되었다.

반응형