ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Forensic]Redacted -Puzzle
    CTF write_up/DEF CON CTF Qualifier 2019 2019. 5. 28. 13:43

    해당 문제에 들어가 보면 다음과 같은 GIF 사진이 있습니다.

    한번 확인해 보겠습니다.

    redacted-puzzle.gif

     

    검은 바탕에 아무것도 없길래 색이 숨겨져 있나 라는 생각에 StegSolve 프로그램을 사용하였습니다.

    다음과 같은 사진을 얻을 수 있습니다.

    해당 화면이 출력 되는 것을 보고 아~ RGB 랑 관련이 있다는 것을 깨닫고 이미지 관련 python 라이브러리인 PIL를 이용해서 원하고자 하는 정보를 추출했습니다.

    Frame의 개수가 35개라는 것을 알게 되었습니다.

    그리고 아까 StegSolve를 봤을 때 오른쪽으로 좀 넘겨보면 배경색, 도형 안의 색, 아래의 문자열색 이렇게 총 3개가 변하는 것을 확인해서 각각의 프레임마다 들어있는 도형이 다를 것이라 생각이 되어서 보기 쉬운 색으로 palette를 attache 한 후에 RGB를 기반으로 내부 프레임의 이미지를 전부 저장 해보겠습니다.

    다음과 같이 프레임에 들어있었던 이미지를 전부 출력했습니다.

    색은 코드에서 7번째 줄을 확인하면 putpalette()함수를 이용해서

    배경 [0,0,0] = 검정색

    도형색 [255,255,255] = 하얀색

    글자색 [255,255,255] = 하얀색

    으로 표현해서 잘 보이도록 했습니다.

     

    어떻게 해야 할까 고민을 하다가 사진 아래쪽의 문자열의 개수를 확인해 보니 32개 였습니다.

    그래서 base32가 아닐까 라는생각을 가지면서 flag 형식인 OOO{ 을 2진수로 바꿔 보았습니다.

    10001 10001 10001 11110 그리고 프레임 사진을 확인하다가 의문점이 들었습니다.

    Frame-33.png

    Frame-34.png

     

    2개의 도형의 꼭지점이 일치한다는 것을 알 수 있습니다.

    그래서  Frame-00.png를 확인 해본 결과 다음과 같은 그림을 그릴 수 있었습니다.

    아까 구해놓은 2진수와 팔각형 모양의 도형이라는 점을 고려해 8자리로 구성된 2진수가 사진하나하나 다 나오겠다 라는 생각이 들었습니다.

     

    Frame-00.png 에서는 첫 시작 2진수가 1000110 까지가 되야 되기 때문에 1부터 시계방향 순서로 돌아가면서 각 꼭짓점과 닿아 있는 부분은 1 아닌부분을 0으로 바꾸면 될거 같습니다.

     

    아까 위에서 구한 10001100011000111110를 8자리씩 끊어보면 10001100 01100011 1110가 됩니다.

    Frame-00.png 파일을 2진수로 표현해 보면 10001100 이고

    Frame-01.png 파일을 표현해보면

    01100011 이 OOO{FORCES-GOVERN+TUBE+FRUIT_GROUP=FALLREMEMBER_WEATHER}됩니다. 위의 2진수 8자리로 나눈 값과 일치합니다. 이런식으로 2진수로 변경을 해서 표시해보면 다음과 같은 코드를 작성할 수 있습니다.

    위와 같은 데이터를 얻을 수 있습니다.

    이제 아까 5개씩 끊어서 나온 2진수를 10진수로 변환해서 10진수를 flag_alphabet을 토대로 값을 얻어 보겠습니다.

     

    Flag : OOO{FORCES-GOVERN+TUBE+FRUIT_GROUP=FALLREMEMBER_WEATHER}

     

    참고 : https://pillow.readthedocs.io/en/4.1.x/reference/Image.html

     

    'CTF write_up > DEF CON CTF Qualifier 2019' 카테고리의 다른 글

    [WELCOMING]WELCOME_TO_THE_GAME  (0) 2019.06.22
    [WEB]CANT_EVEN_UNPLUG_IT  (0) 2019.06.22

    댓글

Designed by Tistory.