sleuthkit이란?

Posted at 2010/03/15 00:31 // in Incident Response // by 엔신
*nix Systems 기반으로하는 digital forensic tools 하나로 open source입니다. 근래에는 Windows 지원되며 NTFS, FAT, HFS+, Ext2, Ext3, UFS1, UFS2 file system까지 지원합니다.

sudo apt-get install sleuthkit

설치도 가능하나 현재(2010.03.08) 기준으로 sleuthkit (2.52-1) 설치되므로 www.sleuthkit.org 에서 최신 버전을 다운로드 받아서 컴파일하는 방법을 추천합니다.


설치를 하게 되면 여러 가지 프로그램들이 설치됩니다.


File System Layer Tools

fsstat

일반적인 상세한 파일시스템 정보를 보여줍니다. File System Type이나 시간정보(쓰기, 체크, 마운트), Block Group 정보.

) fsstat imagefile


File Name Layer Tools

ffind

할당되었거나 할당되었었던(지금은 할당되지 않고 해제된) 메타데이터의 지점을  찾아 파일 또는 디렉토리 이름을 보여줍니다.(메타데이터의 inode 매개체입니다)

) ffind imagefile -a 0(inode)

fls

할당되었거나 할당되었었던(삭제된) 메타데이터의 지점의 파일 또는 디렉토리의 목록을 보여줍니다.(ls 같은 기능)

사용자 삽입 이미지
삭제된 파일은 * 표시됩니다.


Meta Data Layer Tools

icat

메타데이터의 inode값으로 위치를 찾아 추출(Extract)합니다.

) icat -f ext3 imagefile 12 > 12


ifind

파일이름으로 메타데이터 inode값을 확인하거나 메타데이터 inode값으로 data unit 찾습니다.

ifind -f ext3 -n "shin.jpg" imagefile

ifind -f ext3 -d 7 imagefile


ils

메타 데이터 구조를 파이프로 구분된 형식으로 보여줍니다. 할당여부, 권한정보, 사이즈, 시간정보(엑세스, 파일수정, inode 수정, 삭제된 시간) 그리고 Blocks 정보를 보여줍니다.

) ils -r imagefile (-r 옵션은 remove file inode 보여줌)

사용자 삽입 이미지
12 inode 파일이 삭제된 것을 확인할 있지만, 마지막 st_nlink st_size 0이므로 지금 상황에서는 데이터를 복구할 없다.(0 아닌 경우 복구 가능함)


istat

inode 메타데이터 구조를 상세한 대략 정보를 통계처럼 읽기 쉬운 양식으로 보여줍니다.

) istat imagefile 12


정리

1. fls ils 통하여 삭제된 정보를 확인하고 icat으로 데이터 추출

2. 파일 포맷 시그너쳐를 찾아서 헤더와 풋더를 찾아서 blkcat 으로 블럭단위로 데이터 카빙도 가능하지만, 그정도로 데이터 복구해야할리가.....(안하고맘)


p.s
ext2에선 잘 되지만, ext3에선 블록포인터를 0으로 만들어버리는군요. 파일 몇개 다운받고 지워서 해봤는데 다 복구 불가능...ext3가 데이터 복구율이 떨어진다는 글이 있는거 보면 정말 잘 안대나보다...
ext3grep으로 하면 잘된다길래 그것도 해봤는데 안되는걸 보니 후 깝깝할 따름

참고
http://kldp.org/node/59050
http://wiki.sleuthkit.org/index.php?title=TSK_Tool_Overview

이올린에 북마크하기
2010/03/15 00:31 2010/03/15 00:31

NTFS 파일 복구하기

Posted at 2009/04/19 00:17 // in Incident Response // by 엔신
지금의 윈도우는 FAT32를 거쳐 NTFS 파일 시스템을 사용하고 있다. 우리는 자연스럽게 NTFS 파일 시스템을 사용하고 있으며, 많은 파일을을 생성하고 삭제하기도 한다. 때로는 실수로 파일을 삭제하기도 하는데, 이 때 복구에 대하여 고심하는 많은 경우가 발생하는데, 다른 대책이 없다고 판단하고 그만두는 경우가 다반사이다.

찾아보면 NTFS에서 파일 삭제시 복구할 수 있는 기능을 제공하는 많은 프로그램들이 존재한다. 대표적으로 NTFS Undelete가 있는데 해당 프로그램은 Freeware이므로 기능 제약 없이 다운로드하여 사용 가능하다.

여러 상황에 따라 파일 복구의 여건이 달라지게 된다.

1. 파일 삭제 즉시 알았을 때
2. 파일 삭제 후 일정 시간이 흐른 뒤 알았을 때
3. 악용하자면 중고 거래 이후 해당 하드디스크의 파일을 복구할 때

3번의 경우처럼 악용하지 않았으면 좋겠다. 최근에는 하드 디스크의 가격이 저렴하여 중고 거래가 빈번하게 이루어지는지 잘 모르겠으나 한 10년전만 해도 빈번하게 중고 거래가 이루어졌다. 현재로서는 하드디스크 가격이 저렴한 편이므로 새로운 것을 사는 것이 좋고, 기존 하드디스크는 중고 거래로 팔지 않는 것이 좋다.

1번과 같이 파일 삭제 즉시 알았을 경우에는 복구 확율이 2번에 비하여 높다. 실제로 파일을 삭제 시에 해당 파일이 실제로 삭제되는 것이 아니라 해당 파일을 연결하고 있는 링크(연결고리)를 끊어 놓는 것 뿐이다. 그러므로 실제 해당 영역에는 기존 파일의 내용이 담겨져 있게 된다. 하지만 빈번하게 하드디스크에 파일이 쓰기가 된다면, 해당 파일이 삭제된 영역 역시 free한 공간이므로 언젠가는 덮어씌워서 기존 데이터는 삭제되고 새로운 데이터가 저장되게 될 것이다. 이럴 경우에는 논리적으로 프로그램을 사용한 복구가 불가능해진다.(물리적인 복구는 가능할 수 있지만 비용이 만만치 않을 것이다.)

그러므로 1번과 같이 파일 삭제 즉시 알았을 경우에는 복구할 수 있지만, 2번과 같이 일정 시간이 흐른 뒤라면, 파일의 영역이 새롭게 쓰여졌을 가능성이 높아지므로 복구 가능성이 낮아지게 되는 것이다.

그러므로 복구를 위해 복구 프로그램을 다운로드하여 데이터가 삭제된 하드디스크에 저장하여 실행한다는 것은 그만큼 복구 확율을 낮추는 것이다. 되도록 다른 하드디스크 영역에 복구 프로그램을 다운로드하는 것이 좋다. 타 하드디스크가 없거나 그 정도로 해당 파일이 금전적 가치가 높지 않아서 가능성 1%라도 높이지 않아도 된다면, 해당 하드디스크에 다운로드하여 복구를 시도해보는 것도 좋다.(가능성이 없어지는 것이 아니고, 낮아지는 것 일 뿐이므로)

사용자 삽입 이미지

그림에서 보다시피 특정폴더의 그림 파일을 삭제하였다.

그리고 나서 NTFS Undelete 프로그램을 이용하여 삭제된 파일의 드라이브를 선택하자 약간의 시간동안 검색을 한 후 디렉토리 목록을 아래와 같이 보여주었다.

사용자 삽입 이미지

정상적인 기존 파일이나 폴더의 경우에는 회색으로 나타나며 삭제된 파일이 포함된 폴더의 경우에는 검은색으로 나타나게 된다. 또한 삭제도니 파일의 경우 그림에서 보다시피 X 표시되어 나타나므로 쉽게 구분이 가능하다.

해당 파일을 v 체크 한 후 오른쪽 버튼울 눌러 Save As를 통하여 복구할 수도 있고, Recover marked file 메뉴를 선택하여 Recover 버튼을 눌러 복구된 파일이 저장될 대상 폴더를 선택하면 해당 폴더에 파일이 복구되어진다.

삭제된지 오래된 파일의 경우 NTFS Undelete 프로그램보다 Esay NTFS File Undelete 프로그램을 추천한다. 해당 프로그램의 경우 삭제된 파일을 검색하는 Search 시간이 오래 걸리지만 하드디스크에 흔적이 남아 있는 데이터를 찾아 복구 가능 상태를 나타내어 준다.

사용자 삽입 이미지

이 글을 쓰는 현재가 4월 18일이므로 2달 가량 전의 파일을 복구가능하다고 나타내어 주고 있다.(대상이 된 승x이형 얼굴 모자이크 처리 했으니 이 글 봐도 날 죽이려하진 않겠죠...그래도안봤으면....)

복구시에 주의할 사항에 대해서는 SURE WINDOWS에 매우 잘 나와있다.

그 외에도 DiskInternals사의 Uneraser도 존재한다.(상용프로그램)

이올린에 북마크하기
2009/04/19 00:17 2009/04/19 00:17

Dcode - Forensic Date/Time Decoder

Posted at 2009/04/05 21:06 // in Incident Response // by 엔신
Digital Forensic에 있어서 가장 중요한 요소는 시간이며 증거로서 효력을 발휘 할려면 시간이 입증되어야 한다. 파일에는 바이너리 값으로 시간 정보가 저장이 되어 있다.
특정 파일 포맷에서 해당 부분이 시간 정보라는 것은 인터넷에 공개된 파일포맷 정보를 통해 알 수 있게 되지만 그 바이너리 값이 정확히 우리가 알아 볼 수 있는 시간으로 몇시인지 알기 위해 이 프로그램을 사용하면 유용하다.

사용자 삽입 이미지

임의의 바이너리값을 확인하여 리틀엔디언 방식으로 입력한 후 Decode하자 시간 정보 확인이 가능한 사진을 올려본다.
예제에는 Windows에서 사용된 시각 정보를 확인한 것이지만 다른 운영체제의 시간 정보도 확인이 가능하다.

  • Windows 64 Bit  (Little Endian) Date & Time
  • Windows 64 Bit  (Big Endian) Date & Time
  • Windows Cookie Format Date & Time
  • Windows Filetime Format Date & Time
  • Unix 32 Bit (Little Endian) Date & Time
  • Unix 32 Bit (Big Endian) Date & Time
  • Unix Numeric Date & Time
  • MAC Absolute Date & Time
  • MS-DOS 32 Bit Date & Time
  • HFS 32 Bit (Little Endian)  Date & Time
  • HFS 32 Bit (Big Endian)  Date & Time
  • HFS+ 32 Bit (Little Endian) Date & Time
  • HFS+ 32 Bit (Big Endian) Date & Time

freeware이므로 제한없이 사용이 가능하다.

다운로드 :
http://www.digital-detective.co.uk/freetools/decode.asp

이올린에 북마크하기
2009/04/05 21:06 2009/04/05 21:06