Digital Forensics/EnCase2010. 3. 22. 22:39
반응형

Encase Guidence 사에서 만든 컴퓨터 포렌식스 툴이다. 현재 세계 점유율이 1위이며, 사실상의 표준이기도 하다.(미국 FBI의 지원으로 인해서, 회사가 커졌으며, 현재 미국법원에서 Encase 로 제출하는 자료에 대해서 증거로 인정되면서, 그 세력이 더 커졌다고 볼 수 있다.)

 

하지만, 실제로 Encase 가 언제나 최고의 툴은 아니다.  FTK(Forensic Tookit , accessData)  의 경우, 일본에서는 Encase 보다 많이 사용되고 있다. 그러나 세계적으로 본다면, 미국 법률시장이 가장 크므로, Encase 는 가장 보편화된 툴이라고 할 수 있다그리고 현재는 하나의 툴이 아니라, 두 개 이상의 툴로, 결과를 검증 할 수 있어야 하기 때문에, Encase FTK 든 제대로 배워두어야 제대로 된 수사를 할 수 있다.

 

  1) Encase 제품군

·         Encase Forensic : 로컬 컴퓨터 하드디스크의 기본 분석 도구

·         Field Intelliegence Model(FIM) : 네트워크 컴퓨터 및 서버의 휘발성 자료를 포함한 증거파일 획득 및 조사가 가능, 수사 기관용으로 Enterprise 축소판

·         Encase Enterprise : 기업의 Live 시스템 및 파일에의 접근과 분석이 가능하여 사고대응 시간을 줄일 수 있음. 관제로 활용 

 

  2) Encase 지원 파일 시스템

·         FAT12, FAT16, FAT32

·         NTFS

·         EXT2, EXT3

·         CDFS

·         HFS, HFS+ (MAC 파일 시스템)

·         PALM (Palm-PAD 파일 시스템)

·         UFS (Unix 파일 시스템)

 

http://forensic.kr/tc/ | CharSyam's Blog
반응형
Posted by CCIBOMB
Digital Forensics/Linux2010. 3. 17. 00:13
반응형



 3-3-3. 로그파일 수정한 Shell Script 복구하기 (Keyword Searching)

(3-3-2와 같이 Shell Script 파일 중에서 Tool을 사용하여 자동화시켜 찾아낼 수 없는 경우 사용할 수 있는 방법)

 

*. 디스크에서 무작정 '/var/log/messages/'가 들어있는 모든 파일의 앞뒤를 뒤져서 script 로 보이는 부분을 찾아내는 수작업이 필요한 방법이다. 삭제되었어도 디스크상에는 남아있으므로 삭제여부와 상관이 없으며, 시간과 노력이 많이 드는 만큼, 확실한 결과를 보증한다.

 

i. "/var/log/messages"가 조작됐다는 전자 하에(MAC Time 분석 등을 통해 알아낼 수 있음) 모든 이미지 중 해당 text 근처를 찾아보도록 한다. strings를 이용한다.

 

strings *.dd | egrep -B 10 -A 10 '/var/log/messages' > clear_log.txt

// 앞에 10라인 뒤에 10라인 찾아서 clear_log.txt 에 저장

-B 10 : before 10 lines        -A 10 : append 10 lines


ii. clear_log.txt 내용 확인
(각 이미지의 „/var/log/messgaes‟ 들어간 부분의 앞뒤 10줄씩이 모두 저장되어있는 text 파일)



     iii. clear_log.txt
중 로그파일 수정 script 추측되는 부분 확인
           (당연히 script 전체가 아닌 부분만 있다. 앞뒤 10줄만 출력한 것이기 때문이다.)


     iv.
공격코드의 일부가 있는 행의 앞, Line 수를 여러 번 수행해보며 Script 전체를 확인해본다.


      v.
찾은 공격코드


     vi. Keyword Searching
기법을 사용하는 경우 (포렌식 관점) :

로그파일을 생성하거나 수정한 실행 파일을 찾거나(지워진 경우 복구하거나),
환경설정파일을 참조한 실행파일을 찾거나(지워진 경우 복구하거나),
이미 삭제된 루트킷 설치한 script 파일을 복구하거나(설치된 파일들의 이름을 아는 경우에만 가능),
지워진 로그 파일이나 히스토리 파일을 복구하는 등 활용분야가 넓다.


4.
참고문헌

 
      
http://old.honeynet.org/challenge/index.html

      http://www.ibm.com/developerworks/kr/library/au-speakingunix14/index.html

      http://publib.boulder.ibm.com/infocenter/systems/index.jsp?topic=/com.ibm.aix.files/doc/aixfiles/inode.h.htm

      http://lefoot.egloos.com/tag/inode/page/1

      http://wiki.kldp.org/Translations/html/The_Linux_Kernel-KLDP/tlk9.html

 


반응형
Posted by CCIBOMB
Digital Forensics/Linux2010. 3. 16. 02:30
반응형

3-3.  inode 가 남아있지 않는 경우 (Data Carving)

 

위의 3-2처럼 ils icat 가지고 복구할 수 없는 경우가 있다. inode table 자체가 깨진 경우이다. 이에 해당하는 경우에 사용할수 있는 방법이 있다.

바로 carving 기법이다. carving 이란 inode 가 남아있지 않아 복구가 복잡해졌을 때 쓰는 방식으로, 여러가지 기술이 있다.

예를 들자면, 파일의 signature를 통해 파일의 시작점을 찾을 수 있다.  jpeg의 경우 처음이 FF D8이고 끝부분(trailer) FF D9이다. 파일의 끝점까지 찾아서 해당 부분을 dump를 뜨는 것이 가장 완벽한 방법이나, 끝점을 찾는 것은 매우 힘들다. Jpeg과 같이 끝점에도 signature가 있는 경우는 거의 없기 때문이다. 따라서 size 정보 또는 파일의 최대 size를 이용하여 시멘트 카빙을 한 후 유의미한 data만 추출하는 방법을 사용한다.

시멘트 카빙의 경우 data가 연속배열 되어 있지 않으면 유의미한 결과를 얻을 수 없으나, 최근 hdd 용량의 대량화로 대부분 연속배열 되어있기 때문에 유용하게 사용가능하다.

 

이해를 돕기 위해, 직접 file 형태로 된 shell script 를 모두 복구해보는 예제를 들어보겠다. 위에서 실습을 위해 다운로드 받았던 이미지 파일 5(honeypot.hda5.dd )로부터, 로그 파일을 조작한 후 삭제된 shell script를 복구해보겠다.

따라해보며 개념을 익히기 바란다.

 

 

 

3-3-1. Data Carving 시 사용할 Tool 설명


        i. fsstat : Block
사이즈 살펴보기


       ii. sigfind : 디스크 상에서 signature를 포함한 Block을 찾는 툴

<사용법>  sigfind -o (offset) -b (block size) signature image위치

 

eg. sigfind BR 찾기 (BR signature 511, 512 번째에 '55 AA')


     iii. blkcat :
해당 Block Dump 하는 툴

(script 가 한 개 블록임을 가정한다. 넘어가면 짤린다.)

eg. blkcat honeypot.hda5.dd 3698    // 3698Block 스크립트를 보여준다.



iv. sigfind blkcat 툴을 사용하기 위해서는 sleuthkit 을 설치해야한다.

1.    Sleuthkit Tool download 받는다.



 

            2. 압축을 풀어 INSTALL.txt 파일을 열어본다.

 

3.    그대로 따라하며 설치한다.

 



 
3-3-2.
로그파일 수정한 Shell Script 복구하기

(Sleuthkit SIGFIND, BLKCAT Tool을 활용)

 

*. sigfind, blkcat 툴을 사용하여 shell script 파일을 싹 다 복구한 후, 로그파일을 수정한 script만 찾아내보도록 하겠다.

-> 만약 이 방법으로 나오지 않는다면, script 가 파일로 존재 하지 않는 것이므로 keyword searching 을 하는 수밖에 없다.

 

i. 각 이미지의 Block Size를 추출하는 쉘코드 작성 (Sigfind Tool 사용시 Block Size를 알아야 하기 때문)



 

ii. 추출한 fsstatdata Block Size 확인


//   honeypot.hda1.dd Block Size : 1024
      honeypot.hda5.dd Block Size : 4096

      honeypot.hda6.dd Block Size : 4096
     
honeypot.hda7.dd Block Size : 1024
      honeypot.hda8.dd Block Size : 1024 

  

iii. honeypot.hda1.dd 등에 있는 모든 script 파일을 dump

             (sript 파일의 사이즈가 하나의 Block을 넘어가지 않는다고 가정하며,
              Sleuthkit sigfind blkcat Tool을 사용하도록 한다.)


 


 

script 여부 확인 방법 : sigfind를 통해 script 파일의 맨앞 (#!/bin/sh or #!/bin/bash) 4byte 23212f62('#!/b'16진수 변환.)까지를 시그너춰로 보자. (sigfind signature 4 byte까지밖에 못준다.)

c.f) 16진수 변환 방법 : echo '문자' | xxd : 출력 중 0A는 엔터임

 

 

 

iv. 파일 복구 Shell Script 완성본!!

 쉘스크립트 파일이면서 var/log/message (로그파일 저장) 문자열을 포함하는 파일을 추려서 저장하는 기능 추가

<shell script>

#!/bin/sh

 

for i in 1 5 6 7 8            //  honeypot.hda$i.dd 로 파일 다섯개를 한번에 처리하기 위한 i 변수 지정

do

mkdir dumphda$i       //  dump shell script 를 저장할 폴더만들기

fsstat honeypot.hda$i.dd | egrep "Block Size" | awk -F ': ' '(1){print $2}'|\

//  fsstat으로 이미지 파일마다 다른 block size의 확인 후 해당부분 추출 (sigfind에서 써야함)

while read blocksize

//  변수 blocksize fsstat을 통해 추출한 이미지 별 block size 정보 넘김

do

sigfind -b $blocksize 23212f62 honeypot.hda$i.dd | awk -F ' ' '(1){print $2}' |\

while read blocknum

//  sigfind tool signature '#!/b'로 설정하여 찾은 block number 를 변수 blocknum에 넘김

do

blkcat honeypot.hda$i.dd $blocknum >> dumphda$i/$blocknum.txt

//  blkcat tool로 해당 이미지의 script가 위치한 block blocknum.txt dump

if cat dumphda$i/$blocknum.txt | grep '/var/log/message' ;then

cp dumphda$i/$blocknum.txt realhda$i/$blocknum.txt

//  blocknum.txt 파일 중 '/var/log/messages' 내용이 있는 파일을 찾아서 추출

fi

done

done

done

<그림 27. /var/log/message 문자열 포함 Shell Script 추출>

 

v. iv Shell Script 실행 결과 :


         hda5(/usr) 이미지에 일치하는 파일 1개 존재 확인


 
    hda8(/ : root) 이미지에도 일치하는 파일이 1개 확인

 

 

  

vi. 찾은 공격 스크립트 (1 block 에 해당하는 script 만 찾음)

 

반응형
Posted by CCIBOMB