-
[Reverse] Endless ChristmasCTF 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}
'CTF write_up > 2018 X-MAS CTF' 카테고리의 다른 글
[Misc/Forensics] Suspicious Hacking Game (0) 2019.06.23 [Misc] Santa The Weaver (0) 2019.06.23 [Misc/Forensics] BoJack Horseman's Sad Christmas (0) 2019.06.23 [Forensics] Santa's Security Levels (0) 2019.06.23 [Forensics] Oh Christmas Tree (0) 2019.06.23