본문 바로가기

Learning/└보고서

Forensics Tools Foremost Report (ppt첨부)


카빙 툴 프로그램(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
foremost version 1.5.7 by Jesse Kornblum, Kris Kendall, and Nick Mikus.
$ foremost [-v|-V|-h|-T|-Q|-q|-a|-w-d] [-t <type>] [-s <blocks>] [-k <size>]
    [-b <size>] [-c <file>] [-o <dir>] [-i <file]

-V  - display copyright information and exit
-t  - specify file type.  (-t jpeg,pdf ...)
-d  - turn on indirect block detection (for UNIX file-systems)
-i  - specify input file (default is stdin)
-a  - Write all headers, perform no error detection (corrupted files)
-w  - Only write the audit file, do not write any detected files to the disk
-o  - set output directory (defaults to output)
-c  - set configuration file to use (defaults to foremost.conf)
-q  - enables quick mode. Search are performed on 512 byte boundaries.
-Q  - enables quiet mode. Suppress output messages.
-v  - verbose mode. Logs all messages to screen

 

[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

pintaImage 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 같은 열어볼수 없는 파일을 분리하여 확인하는 용도로 사용할 수 있다.

 

 

실습 동영상

 

 

forensics.pptx