https://github.com/VoidHack/write-ups/tree/master/UIUCTF%202018/crypto/xoracle


위에 분이 writeup하신 것을 참고로하여 문제를 풀때 zip파일이 하나 나오는데, 이게 압축이 안풀려서 한번 여러가지로 시도해보고


결국 압축을 풀은 과정을 적어보았다.


나온 파일은 파일 시그니처로 볼때 zip파일인 것 같다. binwalk를 시도해보면 아래와 같이 보인다.


name: "f.bmp"가 보이는 것으로 봐서 f.bmp 파일이 압축되어 있는 것으로 보인다.

일단 그냥 저게 다 여서 일단 ftp로 윈도우로 다운받아서 압축을 풀어보았다.



지원하지 않는 포맷이라고 나오고... 복구를 하려하였으나 실패하였다. 결국 아무 정보도 얻을 수 없었다.


알집에서 기본적인 복구가 진행되지않아 DiskInternals에서 제공해주는 무료 zip복구 툴인 Zip Repair을 다운받아 시도해보았다.



복구된 zip파일에서는 f.bmp라는 폴더가 하나 생성되어있다.

압축을 풀고 열어보았으나 비어있으므로 실패한것 같다.


계속 실패해서 다른 방법 없나 찾아보니 이런 경우7z으로 한번 해보라길래 7z으로도 압축을 풀어보았다.



그러나 이것도 f.bmp파일을 추출해내긴 하였으나, 0byte짜리라서 아무 가치가 없다.


그래서 좀 다른 방법을 찾아보았는데, 리눅스 상에서 unzip을 이용해서 zip파일을 풀 수 있다.



또 오류다... End-of-central-directory 시그니처가 발견되지 않았다고 한다.


그런데 여기서 구글에서 검색하다보니 이 압축문제에 대한 좋은 정보를 얻을 수 있었다. ( End-of-central-directory 를 검색해보면 된다.)

https://askubuntu.com/questions/54904/unzip-error-end-of-central-directory-signature-not-found


jar xvf 를 사용해서 압축을 풀어보라는 것이다. (사용하려면 sudo apt-get install fastjar가 필요하다.)



마법처럼 성공한다... (와우!)


이것이 왜 작동하는가 하면 jar 유틸리티는 추출을 시작하기 전에 End-of-central-directory 서명을 확인하지 않기 때문에 손상된 (또는 불완전하게 다운로드한) 파일에 대해 압축이 풀린다는 것이다. 뭐 그렇다하더라도 모든 파일을 추출하지 못할 수도 있고 유틸리티가 "Unexpected end of ZLIB input stream."와 같은 오류를 내며 끝날 수도 있다.


근데 이것도 안열린다... HxD로 봣을때는 일단 bmp파일이 맞긴하다.

윈도우에서는 안열려서 우분투로 한번 보았다.



보이기는 한데... 이걸 어케 알아본거야 이사람들 ㅡㅡ;



다른 사람 writeup - https://github.com/rollsafe/ctf-writeups/blob/master/uiuctf-2018/xoracle-250/writeup.pdf


이분 writeup대로 하면 zip파일이 잘 나온다.



그럼 뭐하리... 손상손상손상!!!!!!! 젠장할;



역시 ... 해커는 윈도우환경보단 이 쪽이 맞는가보다...


unzip으로 하면 f.bmp파일의 CRC값이 예상했던것과 틀리다고 나온다. 물론 f.bmp가 압축이 풀려나오긴하지만 손상되서 볼 순 없다.


물론, 저번 전자의 bmp파일과 마찬가지로 손상된 bmp파일을 복구해서 볼 수 있는 방법도 있지만... 귀찮으니 우분투로 보자



이게 더 확실히 잘보이네;;





+ Recent posts