ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Reverse] Endless Christmas
    CTF write_up/2018 X-MAS CTF 2019. 6. 23. 21:02

     

    첨부 파일인 chall file 명령어로 확인해 보니 다음과 같았습니다.

     

    ELF 64-Bit LSB executable 라는 것을 알수 있었습니다.

    파일을 실행수 있기 때문에 실행해 봤습니다.

    프로그램 실행 후에 ls 해봤는데..

     

    File이라는 파일명이 앞에 붙은 파일이 여러 생겨 났습니다.

     

    프로그램들이 전부 실행파일 이기 때문에 실행을 해봤습니다.

    실행을 하니까 프로그램이 나오는 것을 알수 있습니다.

     

    프로그램의 원리를 눈으로 확인하기 위해서 IDA 이용해서 chall파일의 main함수를 Decompiling해서 보겠습니다.

    소스를 보면, 데이터를 하드코딩하고 해당 데이터를 계산을 하는데, [aE420sR40000000] 결과를 unk_6B7CE0 임시 파일로 저장 하고 함수 mkstemp() fchmod() 이용해서 데이터의 결과를 기록합니다.

     

    "Enter the flag:"라는 문자열이 있는 프로그램을 찾기 위해서 다음과 같은 명령어를 입력해 보았습니다.

     

    다른 파일들은 경로가 다르지만 Binary file fileb2GRWD matches 경로가 ./ 되어 있는거 같습니다.

     

    해당 코드에서 XOR 함수를 입력 할때 0xD 다른 바이트와 비교 합니다.

    Buf IDA hexView 확인해 보겠습니다.

     

    다음과 똑같은 문자열을 hex에서 찾아 보겠습니다.

     

    해당 문자열의 hex값을 ^(XOR)하며 chr()를이용해서 flag 도출해 보겠습니다.

     

     

     

     

    Flag : X-MAS{d3c0d3_4641n_4nd_4641n_4nd_4641n_4nd_4641n_4nd_fl46}

     

    댓글

Designed by Tistory.