조금 어려웠던 포렌식 카테고리의 문제
문제 설명을 읽어보면 PDF 파일이 플래그를 가지고 있는데
사전에 뭔가 작업을 해야 찾을 수 있다고 한다.
문제에서 주어지는 파일은 challenge.pdf 파일이다.
썸네일을 보면 알 수 있겠지만
해당 파일을 열어보면
아무런 내용이 없은 백지 상태이다.
해당 PDF 파일을 HxD 를 이용해 분석해봤다.
PDF 파일을 열면 가장 먼저 앞에 %PDF 라는 문자가 있어야 하는데
이 파일은 그렇지 않고 앞에
require 'json'
require 'cgi'
require 'socket'
=begin
라는 문자열이 적혀있었다.
파일 중간중간에도 보면
일반적으로 PDF 파일 안에 있을법한 내용이 아닌
다른 내용들이 눈에 띄었다.
ruby-doc 를 찾아보니
모듈을 불러오는 양식이 PDF 에 있던것과 똑같았다.
PDF 파일 안에 ruby 코드가 숨겨져 있는듯 했다.
그래서 challenge.pdf 파일의 확장자를 challenge.rb 로 변경하고
ruby <파일명> 형태로 한번 실행시켜 봤다.
그랬더니 http://localhost:8080/ 으로 웹 서버가 돌아가기 시작했다.
해당 서버로 접속해보니
뭔가를 다운로드 할 수 있는 링크가 있었다.
다운로드 된 파일은 flag.zip 파일이었다.
flag.zip 파일의 압축을 풀어보니
false_flag.md, mutool 두 개의 파일이 들어있었다.
먼저 md 파일을 열어봤다.
그랬더니 mutool 이라는 도구의 사용법을 알려주고 있었다.
md 파일에서 알려준대로 일단 mutool 을 실행해봤다.
뭔가 에러가 나긴 하지만 실행은 되었다.
실행결과로 rendered.png 파일이 생성되었는데
뭔가 알수없지만 PDF 파일의 숨겨진 비밀 같은 느낌이었다..
문제 푸는데 힌트가 있는듯 했지만
이 PNG 파일의 정보 없이도 문제를 풀 수 있었다.
binwalk -e <파일명> 명령어를 사용해서
challenge.rb 파일 안에 숨어있던 모든 파일들을 추출해봤다.
그 결과로 이런 파일들이 생성되는데
그중 B5FFD 파일을 보면
파일이 FF D8 FF E0 로 시작하는것을 볼 수 있다.
FF D8 FF E0 로 시작하는것은 JPG 파일의 특징이다.
B5FFD 파일을 HxD 를 이용해 JPG 파일로 만들어주면
그 안에 있는 플래그를 확인할 수 있다.
'CTF > 포렌식' 카테고리의 다른 글
[Tenable CTF] H4ck3R_m4n exposed! 2 - 포렌식 / Wireshark (56) | 2023.03.09 |
---|---|
[Tenable CTF] H4ck3R_m4n exposed! 1 - 포렌식 / Wireshark (60) | 2023.03.07 |
[JISCTF] SOUND!!! - 포렌식 / DeepSound / John the Ripper (75) | 2023.02.02 |
[JISCTF] Colorfull - 포렌식 / Wireshark / John the Ripper / PIL (64) | 2023.01.26 |
[JISCTF] Malicious2 - 포렌식 / John the Ripper (81) | 2023.01.10 |