http://ctf.no-named.kr/challenges 문제 풀이
Forensic-baby_stego
문제 파일을 다운받자 알집 파일이 있었다 알집 파일은 열리지 않는 상태 Hxd editor을 사용하여 알집 파일 복구
OEM ID를 수정하여 복구 성공!
알집 파일 복구 성공 후 알집을 풀어주자 flag.png 파일이 나왔다. 그러나 이 파일 역시 열리지 않는 상태
Hxd editor을 통해 보니 정상적인 OEM ID가 아니었기에 이를 수정해서 png 파일을 복구해 보았다
복구한 파일에선 fake라며 fake 파일임을 알리고 있음
이를 forensic beta 페이지로 가져가 숨겨진 글씨를 보기 위해 여러가지 설정을 시도
문제 해결! SWING{king_god_goldory_mmm}
Forensic – GroupProject_BadEnding
문제 설명을 보니 ppt 파일에 메시지가 숨겨져 있다는 것을 유추 가능했다 먼저 PPT 파일을 다운해보자
FTK IMAGER을 통해 숨겨진 PPT에 숨겨진 파일이 있나 확인
PPT에 숨겨진 파일이 있을 것이고 그 파일이 FLAG에 대한 정보를 가지고 있을 것이라고 판단했다
그 숨겨진 파일을 찾아주기 위해 FTK IMAGER 툴을 사용했다.
Media 파일에서 숨겨둔 secret.png 파일을 찾을 수 있었고 이는 flag에 대한 정보를 담고 있었다.
문제 해결!
Forensic – who is real
힌트를 통해 리눅스 명령어 cmp를 사용해야 된다는 것을 알게 됨
명령어를 돌려서 두 사진의 다른점을 파악해 보면
SWING {7HSY_4R3_D1FF3R#NT}라는 flag가 출력된다.
문제 해결!
Forensic – What_is_your_home_password
압축을 풀려 하니 비밀번호가 걸려 있었고 힌트를 통해 dictionary attack임을 알 수 있었다
리눅스에서 힌트에 있는 명령어를 쳐보자
Iloveu로 끝나는 6자리 경우 전체를 pw.tx에 넣어준다
비밀번호 후보 파일 생성!
압축 파일을 푸는 명령어인 frackzip 명령어를 통해 딕셔너리 공격을 해 보면 가능한 비밀번호 출력
fcrackzip -D -p 패스워드 후보 파일 알집 파일
<옵션 종류>
-b : 무차별대입
-D : 사전사용
-c : 문자집합의 문자사용 a[a-z], A[A-Z], 1[0-9], ![!:$%&/()=?{[]}+*~#]
-v : 자세히
-p : 초기 암호/파일로 문자열을 사용
-l : 비밀번호길이 Min-Max
-u : 틀린 비밀번호 제거
가능한 비밀번호를 입력해보면
문제 해결!
Forensic – What_did_you_do_yesterday
힌트를 보니 와이어샤크를 사용하는 문제인 듯하다
첨부 파일 압축을 풀어보니 와이어샤크 캡처 파일이 있는 것을 확인
이를 와이어샤크로 열어주고 HTTP OBJECT LIST를 통해 어디를 지나간 건지 확인 가능
모든 파일 다운로드 이때 알집으로 유일하게 압축된 music에만 암호화가 되어 있는 것을 확인했다
그리고 flag 또한 숨어있는 것을 확인
다른 파일을 확인해 보다가 download.php 파일에서 비밀번호를 발견
music 알집 파일에 비밀번호를 입력하게 되면
flag 획득 문제 해결!
Forensic – Listensongbarely
문제 이름 자체가 힌트라고 했다 문제의 뜻은 간신히 노래를 들어라였고 알집 폴더에는 사진 하나가 있었다
제목이 힌트라는 것을 보니까 LSB만 대문자였다. LSB 변조 문제란 것이라고 추측했다
위의 이미지를 010Editor로 열어 보니까 다음과 같은 결과가 떴다
검은색 부분에 FE가 섞여 있는 것을 볼 수 있었다 이 부분을 복붙해서 한글 파일에 옮겨준 뒤
FE는 0으로
FF는 1로 바꿔 주었다
이후 8글자씩 분리해주고 이 이진수를 10진수로 바꿔준다. 그러한 10진수를 아스키코드표에 대입해서 FLAG를 찾아보면
SWING{listen_listen_icant_listen} => 문제 해결
문제 해결!
Forensic -OurImportantMemories
중요한 사진들을 지워서 복구하는 문제다 먼저 파일의 알집을 풀어보자
AD1 파일로 남아 있는 것이 하나기에 그 파일을 FTK imager로 불러왔다
파일을 열어 보니 휴지통이 눈에 띄었다.
휴지통을 둘러보며 썸네일을 보라는 힌트를 얻을 수 있었다. 썸네일을 통해 원본을 찾을 수 있으니 썸네일을 찾아 보았다.
썸네일이 저장되어 있는 경로에 가서 파일을 추출했더니 다음과 같은 파일들이 추출됐다.
이를 thumbnailcache viewer로 봐주고 모든 파일을 보자 flag를 발견할 수 있었다
플래그는 SWING{LONGTIMENOSEE} => 문제 해결
Forensic – FS_BreakUp
로컬 디스크 D에 문제가 있다며 시작한다. 손상된 파일을 Hxd editor로 가져와보자
Ntfs 구조인 것을 확인했으나 정상적인 OEM ID가 아니다 이를 수정해보자
수정 완료
정상적으로 작동되는 알집 FILE을 FTK Imager에 가져와서 아주 중요한 파일이라는 important.zip을 추출해 준다
이러한 파일이 추출 Base64로 인코딩된 파일로 추측된다
이를 Base64 디코딩 사이트에 돌리면 FLAG 획득 가능!
Forensic - misunderstanding
동생이 이상한 사이트에 들어가는 거 같다는 문제 내용이었고 문제를 보고 웹 아티팩트 분석 문제임을 예측 가능했다. 이때 각 브라우저마다 웹브라우저 히스토리가 저장되는 위치가 다름 명심할 것!
먼저 제일 익숙한 크롬의 브라우저를 찾아보기로 했다
%UserProfile%\AppData\Local\Google\Chrome\User Data\Default\History
=> 다음은 크롬 웹아티팩트 중에서도 HISTORY가 저장된 공간이다
HISTORY 파일을 추출해 DB BROWSER SQLITE로 분석해 보자
눈에 띄는 ctf url이 보임
문제 해결!
포렌식 문제까지 정리한 것이고 다음 글에선 프로그래밍, 크립토, 포너블 분야 문제까지 다뤄보려 한다.
'WARGAME 문제 풀이' 카테고리의 다른 글
ctf-d 제 친구의 개가 바다에서 (0) | 2021.04.01 |
---|---|
wargame.kr img recovery (0) | 2021.03.31 |
Wargame 'Dreamhack' rev-5 (0) | 2020.11.02 |
Wargame 'Dreamhack' rev-4 (0) | 2020.11.02 |
SWING 내부 CTF 문제 풀이 (Programming, Crypto, Reversing) (1) | 2020.09.14 |