일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- node.js
- materialize
- 웹해킹
- 그래프
- GIT
- nodeJS
- 이진트리
- 포렌식
- mongoose
- 웹기초
- 웹해킹기초
- 뷰
- 자바문제풀이
- 자바
- gitbash
- 워게임
- node
- 포렌식워게임
- 자바기초
- 워게임추천
- 써니나타스
- 자료구조
- bootstrap
- NavBar
- 이진탐색트리
- Express
- wargame.kr
- 웹개발
- CTF
- MongoDB
- Today
- Total
보안 전공생의 공부
SuNiNaTaS 21번 풀이 | 파일 시그니처 본문
◆ 파일 시그니처(파일 형식)
2장에서 <파일확장자와 파일시그니처> 관련된 내용에서 포렌식은 파일확장자가 아니라 파일의 헤도로 파일을 식별한다고 하였다.
각 파일 형식마다 가지고 있는 고유한 특징을 파일 시그니처라고 한다.
손상된 파일을 복구하거나 숨겨진 내용을 파악하는 포렌식의 특성상 이를 자주 활용한다.
시그니처는 헥사코드(16진수)로 구성되어 있고 이는 HxD 프로그램으로 확인할 수 있다.
헤더 시그니처와 푸터 시그니처으로 파일의 형식을 구분지을 수 있다.
어떤 파일의 헤더는 PNG인데 푸터부분이 이상하거나 다른형식(JPG)이면 해당 파일은 조작된 파일임을 예상할 수 있다.
(출처 : https://wogh8732.tistory.com/61)
File Type |
Header Signature |
Footer Signature |
Description |
ICO |
00 00 01 00 |
– |
Windows Icon Format |
CUR |
00 00 02 00 |
– |
Windows Cursor Format |
BMP, DIB |
42 4D B M |
– |
Windows Bitmap Format |
GIF |
47 49 46 38 37 61 G I F 8 7 a |
00 3B ; |
Graphics Interchange Format |
GIF |
47 49 46 38 39 61 G I F 8 9 a |
00 3B ; |
Graphics Interchange Format |
TIF, TIFF |
49 49 2A I I * |
– |
Tagged Image File Format (little endian) |
TIF, TIFF |
4D 4D 2A M M * |
– |
Tagged Image File Format (big endian) |
PNG |
89 50 4E 47 0D 0A 1A 0A P N G |
49 45 4E 44 AE 42 60 82 I E N D B ` |
Portable Network Graphics Format |
JPEG/JFIF |
FF D8 FF E0 xx xx 4A 46 49 46 |
FF D9 |
JPEG/JFIF Format |
JPEG/EXIF |
FF D8 FF E8 xx xx 45 78 69 66 |
FF D9 |
JPEG/Exif Format – Digital Camera Exchangeable File Format |
WMF |
D7 CD C6 9A |
– |
Windows Metafile Format |
EMF |
01 00 00 00 |
– |
Extended(Enhanced) Windows Metafile Format Printer Spool File |
EPS |
25 21 50 53 2D 41 64 6F % ! P S – A d o 62 65 2D b e – |
25 25 54 72 61 69 6C 65 72 % % T r a i l e r 0A (presumption) |
Adobe Encapsulated PostScript File |
(출처 : http://forensic-proof.com/archives/323)
이 개념을 활용해서 써니나타스 21번 문제를 풀어보려고 한다.
자로 가려진 solution key 값을 구해야한다.
페이지 소스코드를 보면 딱히 건질 건 없다. 저 사진이 "monitor.jpg"파일임을 확인할 수 는 있다.
그래서 이 사진을 활용해보고자 한다.
우선 사진을 컴퓨터에 다운로드하고,
HxD 프로그램으로 헥스 단위로 쪼개 보았다.
맨 앞에 FF D8 FF E1 은 JPEG파일의 헤더 시그니처이다.
FF D9가 JPEG 파일의 푸터 시그니처이므로, 이를 검색(ctrl + F)해 찾아보면
이렇게 파일의 중간에 푸터시그니처가 있다.
그리고 F3(다음찾기)를 누르면 계속해서 발견됨을 확인할 수 있다.
마지막까지 FF D9가 있다.
FF D8 FF E1도 검색해보면 계속해서 찾아볼 수 있다.
헤더 시그니처로 파일이 시작하고, 푸터시그니처로 파일이 끝나야되는데
이것들이 파일 중간에서도 발견되는 걸로 보아
이 파일이 여러개의 JPEG파일로 되어있다는 것을 짐작해 볼 수 있다.
이제 파일 카빙을 하여 원래 파일의 형태로 복원을 해야한다.
첫번째 FF D8 부터 FF D9까지 복사해 새로운 파일을 만들고 확장자를 jpg로 만들어서 저장하면 열릴까 싶어 해보았는데 파일이 열리지 않았다. 내가 무언갈 잘못한 것일 수도 있겠지만 , 일일이 jpg파일의 헤더부터 푸터부분을 복사해 새로 파일을 만들어보는 이 방법은 아닌거 같다.
WinHex 프로그램이 파일을 여러개로 분할하는 기능도 해준다길래
이 프로그램으로 카빙을 해보았다.
Tools-Disk Tools-File Recovery by Type
으로 들어가서
File Type을 Picture로 설정해주고
왼쪽 밑에 있는 Respect individual byte/cluster boundary flags를
Complete byte-level search로 변경해주고 ok 버튼을 눌러주면
Output Path에 설정된 경로로 숨겨진 jpeg 파일들이 복구된다.
45개나 파일이나 있다고 한다. 14개는 안되는 파일!
이 JEPG파일들로 키값을 찾아내면
H4CC3R_IN_TH3_MIDD33_4TT4CK 이 나온다.
키값을 인증하면 성공 !!
어디다 인증하는지도 몰라서 헤맸는데 18번 auth key값 인증한 auth 창에 인증하면 된다고 한다. 그냥 키값들 다 거기서 인증하는 건가보다.
포렌식 문제는 처음이라 솔직히 구글의 힘도 조금 빌렸다 ..ㅎㅎ...
최대한 안 보려고 노력했고, 덕분에 많이 배웠다 :) ..
'Wargame > forensic' 카테고리의 다른 글
[N0Named Wargame] [B] 유출된 자료 거래 사건[3] (0) | 2021.01.29 |
---|---|
[N0Named Wargame] [B] 유출된 자료 거래 사건[2] (0) | 2021.01.29 |
[N0Named Wargame] [C] 우리의 추억들 (0) | 2021.01.28 |
NoNaMeD wargame | infect (0) | 2021.01.21 |
N0Named Wargame magicIMAGE 문제 (0) | 2021.01.15 |