ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [ctf-d] 저는 애니메이션을 좋아하는...
    2022/Write-Ups 2022. 3. 26. 23:41

    5팀 임예은

     

    (너무 어려워서 라이트업을 많이 참고하여 풀었습니다.)

    우선 문제를 보면 이미지가 있고, 힌트가 두 가지 적혀있습니다. 

    문제에 들어있는 이미지는 아래와 같습니다. 중간부분부터 손상되어 보이지 않는 상태입니다. 힌트를 참고하면 이 캐릭터의 이름은 yuno Gasai이며, 이 사진을 복구하려고 하지 말고 숨기고 있는 것을 찾으라고 합니다. 힌트1과 2에서 공통적으로 이 캐릭터가 누구인지를 검색해보라는 것 같아 구글에 캐릭터를 검색해보았습니다.

    캐릭터 정보에 대해 물어보는 것은 아닐 것 같아 원본 이미지를 찾는데 주력했습니다. 하지만 구글링으로는 원본 이미지를 찾기 힘들었기 때문에...(사진 검색을 써봐도 이미지가 심하게 손상되었기 때문에 검색이 불가능했습니다)라이트업을 보고 아래 사이트에서 원본 이미지를 찾아냈습니다.

    https://pp.userapi.com/c625217/v625217819/1eec5/5WzbbhtpMkQ.jpg

     

    아래가 원본 이미지입니다. 이미지 자체에는 크게 숨겨진게 없어보입니다. HxD로 열어서 두 사진을 비교해보겠습니다.

    두 사진의 hex값 입니다. 처음 HxD에서 비교를 통해 두 사진을 비교해보았을때 특정 부분이 통째로 다르다고 생각했고, 그 부분을 추출하면 뭔가 숨겨져있지 않을까하고 생각했습니다. 하지만 그렇게 추출한 부분의 처음 부분을 헤더 시그니처라고 생각하고 아무리 찾아봐도 그러한 시그니처를 갖는 파일을 찾을 수 없었고, 거꾸로 읽어보아도 마찬가지였습니다. hex값 자체가 암호이지 않을까했지만 암호라고 생각하기엔 기존에 알고있던 암호와 비슷한 부분이 없어 암호라고 생각하기도 애매했습니다. 

    그렇게 고민하다가 Hexcmp2라는 프로그램을 알게되었습니다. HxD와 비슷하지만 두 파일의 Hex값을 비교해서 다른 부분을 붉은색으로 표시해주는 프로그램입니다. HxD도 비교 기능을 지원하지만, 다른 부분이 확실히 보이면 뭔가 달라지지 않을까 싶어 프로그램을 깔고 두 파일을 비교해보았습니다.

     

    위 사진이 비교한 모습입니다. 확실히 확연하게 눈에 잘 보이고, 제가 잘못 생각했던 점과 중요한 차이를 발견할 수 있었습니다. 제가 잘못 생각했던 점은 한 부분이 통째로 다르다고 생각했던 것이었습니다. 다른 부분이 많이 보이지만, 중간중간 값이 같은 부분도 보입니다. 그리고 중요한 차이는 두 파일에서 붉은색으로 표시된 값이 서로 1씩 차이난다는 것입니다. 이 점에서 이진코드라는 것을 생각할 수 있습니다. (차이가 나는 숫자=1, 차이가 없는 숫자=0)

     

    따라서 우선 이진수를 추출하기 위해 파이썬 코드를 사용했습니다.(코드는 라이트업을 참고했습니다.)

     

    프로그램을 돌리면 중간에 이런식으로 1이 나타나는 부분이 보입니다. 이 부분만 복사해줍니다.

    이진수를 아스키 코드로 바꾸기 위한 프로그램입니다.(라이트업 참고했습니다)

    확인해주면 이렇게 플래그가 나옵니다!(마지막은 제가 실수해서 괄호가 다르게 나온 것 같습니다)

    괄호만 바꿔서 붙여넣어주면 문제가 풀립니다.

    '2022 > Write-Ups' 카테고리의 다른 글

    [HackCTF] Question?  (0) 2022.03.27
    [HackCTF] Welcome_Forensics  (0) 2022.03.27
    [XCZ] ZIP  (1) 2022.03.26
    [XCZ] Who's Notebook?  (1) 2022.03.26
    [ctf-d] Find Key(butterfly)  (0) 2022.03.25