카빙 툴 프로그램(Foremost)
■ Package Description
Foremost는 데이터 구조를 기반으로 손실 된 파일을 복구하기 위한 카빙(Carving) 툴 프로그램 입니다.
네트워크 패킷 데이터 추출, 악성코드 분석, CTF 포렌식 문제 등에 자주 사용하는 툴 이며,
해킹대회에서 알 수 없는 파일이나 무엇인가 합쳐져 있는 것 같은 파일을 분리해낼때 유용하게 쓰일 수 있습니다.
Foremost는 dd, Safeback, Encase 등으로 생성 된 이미지 파일이나 드라이브에서 직접 작업 할 수 있습니다.
머리글과 바닥 글은 구성 파일로 지정하거나 명령 줄 스위치를 사용하여 기본 제공 파일 형식을 지정할 수 있습니다.
이러한 기본 제공 유형은 주어진 파일 형식의 데이터 구조를보고 더 안정적이고 빠른 복구를 가능하게합니다.
참조 사이트
http://foremost.sourceforge.net/
https://www.youtube.com/watch?v=OGlRKz2PECg
■ OPTIONS
# foremost -h
# foremost -h |
[EX] 사용 예제
# foremost [추출하고자 하는 파일 이름]
test.jpg 파일에서 exe, dll 파일만 추출 # foremost -t exe,dll test.jpg
/tmp/test 파일에서 모든 파일을 추출 # foremost -t all -i /tmp/test
/tmp/test/ 파일에서 office 문서와 jpeg 파일을 추출하고 화면에 출력(verbose mode) # foremost -v -t ole,jpeg -i /tmp/test
test.pcap 캡처 파일들을 추출하고 화면에 출력 # foremost -i test.pcap -v |
-v 화면에 모든 메세지 출력
-t 뽑아낼 파일 형식 지정 (jpeg, pdf, exe ....)
-i 입력 파일 지정
■ 실습
1. img 파일 추출하기
@Kali Linux
img확장자 의 파일을 추출하기 위해 임의 img 파일을 준비
foremost 명령어 사용
# foremost -i /root/바탕화면/image.img
Processing: /root/바탕화면/image.img |*| |
-t 옵션을 사용하면 특정 확장자 형식을 지정해서 추출할 수 있다.
파일 확인 실시
#ls
image.img output |
-o 옵션을 사용하지 않으면 defaults is output
# ls output
audit.txt png |
# cd /output/png ; ls
00000000.png |
추출된 파일 확인하기
# pinta &
[참고] pinta
pinta는 Image Editor(GUI)로 그림판 프로그램과 유사한 툴 이다.
설치방법
# apt-get -y install pinta
foremost 로 추출한 png파일 열기
audit.txt 파일 확인 분석
# cat audit.txt
Foremost version 1.5.7 by Jesse Kornblum, Kris Kendall, and Nick Mikus Audit File
Foremost started at Thu Jan 12 20:41:55 2017 Invocation: foremost -i /root/바탕화면/image.img Output directory: /root/바탕화면/output Configuration file: /etc/foremost.conf ------------------------------------------------------------------ File: /root/바탕화면/image.img Start: Thu Jan 12 20:41:55 2017 Length: 253 KB (259472 bytes) Num Name (bs=512) Size File Offset Comment
0: 00000000.png 253 KB 0 (541 x 351) Finish: Thu Jan 12 20:41:55 2017
1 FILES EXTRACTED png:= 1 ------------------------------------------------------------------ |
복구된 파일이 어떤 형식으로 되어 있는지 추출된 파일의 타입을 나타낸다
합쳐진 데이터를 파일의 형식별로 분리 할 때 사용할 수 있다.
2. iso에서 특정 파일 추출하기
추출할 대상 확인하기
# cd 바탕화면 ; ls
image.img initrd.img kali-linux-2016.1-amd64.iso output ping_kornet.pcap |
foremost 명령을 통해 특정 파일 추출하기
# foremost -t jpeg,png,gif -i kali-linux-2017.1-amd64.iso -o output
Processing: kali-linux-2017.1-amd64.iso |****************************************************| |
시간이 조금 걸린다..
audit.txt 확인
# cat output/audit.txt
Foremost started at Thu Jan 12 22:11:58 2017 Invocation: foremost -t jpeg,png,gif -i kali-linux-2016.1-amd64.iso -o output Output directory: /root/바탕화면/output Configuration file: /etc/foremost.conf ------------------------------------------------------------------ File: kali-linux-2016.1-amd64.iso Start: Thu Jan 12 22:11:58 2017 Length: 2 GB (2550792192 bytes) Num Name (bs=512) Size File Offset Comment
0: 00007333.png 221 KB 3754496 (640 x 480) 1: 00276824.png 221 KB 141733888 (640 x 480) 2: 00624992.gif 2 KB 319996136 (50 x 112) 3: 00897688.png 1 KB 459616649 (24 x 24) 4: 00897691.png 1 KB 459618078 (24 x 24) ...............(중략).................. 212: 04763739.gif 6 KB 2439034680 (433 x 528) 213: 05572665.png 221 KB 2853204480 (640 x 480) Finish: Thu Jan 12 22:12:49 2017
213 FILES EXTRACTED jpg:= 5 png:= 204 gif:= 4 ------------------------------------------------------------------ Foremost finished at Thu Jan 12 22:12:49 2017 |
# cd 바탕화면/output ; ls
audit.txt gif jpg png |
# ls jpg | wc -l ; ls png | wc -l ; ls gif | wc -l
5 204 4 |
이미지 파일 확인
하드디스크 혹은 시디나 USB등에 악성코드가 내장되어 있으면 그것을 검출할 때 사용할 수 있으며
iso image file 같은 열어볼수 없는 파일을 분리하여 확인하는 용도로 사용할 수 있다.
실습 동영상
'Learning > └보고서' 카테고리의 다른 글
Egg Shell & Format String Bug & Buffer Overflow [FTZ LEVEL11] (0) | 2017.01.30 |
---|---|
암호학 분석 및 추측 의사코드 작성 [FTZ LEVEL7] (0) | 2017.01.28 |
Extundelete Tool report (0) | 2017.01.20 |
말테고(Maltego) report (0) | 2016.12.28 |