본문 바로가기

Infosecinstitute 번역

[번역 문서] 범죄 현장 조사 Part2: 파일 복구

반응형

해당 문서는 보안프로젝트(www.boanproject.com) 에디님이 번역하신 문서입니다. 학습하는데 도움 되시기 바랍니다.

원본URL: http://resources.infosecinstitute.com/autopsy-file-recovery/



개요

이전 파트에서 단서를 찾기위한 환경 설정과 Autopsy 설정하는 법을 익혔다이전 파트에서는 단순한 기초과정만 있고 액션이 전혀 없었기 때문에 지루했을 수도 있지만이번 파트에서는 다를 것이다다시한번  가지 기초부분들을 살펴볼 것이지만(이론적인 부분이 지루하다는 것은 안다그것들은 시나리오의 규칙들을 규정하는데 있어서 도움을  것이다

 

또한증거 상태의 보존을 위해 수행해야  포렌식 절차에 대해서도 언급  것이다포렌식에서 가장 중요한 것은 그저 단서를찾는 것이 아니라 전체 과정에 있어서 증거들이 변하지 않고  상태가  유지되도록 하는 것이다이것은 절차들을 반복해서 필요가 없도록 도와준다증거나 단서들을 찾았을때는 반드시 문서화해야 한다내가 어떻게 전문적으로 해야할지 보여  것이다 (적어도 나는 전문적이라고 생각한다). 농담이고문서화는 모든 나라 또는 회사마다 다르기 때문에 그리고 법에 따라 다르기때문에 증거를 간단히 문서화하는 것을 보여줄 것이다.

 

기초기초… 그리고 다시 기초

 

 부분에서는 내가 분석을  하드 디스크 드라이브의 구조를 설명할 것이다 항목에서 나는 다음 사양의 하드 디스크 드라이브를 사용했다.

  • Manufacturer: Hitachi Global
  • Model: HDT725032VLA360
  • Capacity: 320 GB
  • RPM: 7200 RMP (Revolutions Per Minute)
  • SATA 2.0 (3.0 Gbit/s)

 

그림 1. 내 사랑했던 하드디스크 (http://www.newegg.com/Product/Product.aspx?Item=N82E16822145129)

 

 하드를 5년전에 구입했고  오래되긴 했지만 포렌식 검사를 하는데 있어서  작동한다 글을  작성한 이후에 나는 하드디스크를 열었다어떻게 여는지 방법을 찾아야 했었다 (하드 디스크를 열기 위해서는 특별한 도구가 필요하고 분석또한 마찬가지다하드 디스크를 어떻게 여는지에 대한 영상이 있다http://www.youtube.com/watch?v=Ul97jWv2PKY).

 

그림 2. 내 하드디스크가 죽은 날

 

여기서 나는 설명하기 재미있겠다고 생각한 하드디스크의 몇몇 부품들을 분리시켰다플래터는 바이너리 코드로 정보를 저장하는데 쓰이고 각각의 플래터는  정보들을 저장하도록 작은 자기 영역을 가지고 있다액추에이터암을 헤드 위에 사용함으로써,하드디스크는 플레터들에서 강자성의 물체를 자화하는 과정을 거쳐 데이터를 읽고   있는 것이다.

 

그림 3. 하드와 작별인사

 

Autopsy  세계에 대해 다시 살펴보자

당신이 회사에서 포렌식 일을 하고 있고 고객사로부터 웹서버가 침해되었다는 전화를 받았다회사의 재해 복구 팀은 서버의 보든 데이터가 삭제되었다는 것을 알아냈고 무슨 일이 일어나는지 전혀 감을 못잡고 있다그들은 웹서버의 로그들도 확인해보았지만 로그들도 삭제되있었다그들은 HDD 복사본을 만들었었고 이전 작업 상태로 복구하려고 한다그들이 회사로 범죄자를 쫓는데 도움이 될만한 어떠한 단서라도 찾도록  복사본을 당신에게 보냈다.

 

여기서 우리의 임무는 파일들을 복구하고 가능하다면 서버에 마지막으로 활성화된 IP주소들이 어떤 것인지 로그들을 살펴봐야한다그래야 추적할  있는 단서를 얻을 수있다.


Autopsy 사용하여 증거 수집하기

이전 파트에서 조사를 위한 이미지를 설정한 것부터 계속해보자.

 

그림 4. 조사를 위해 설정된 디스크 이미지

 

오른쪽에 있는 “details” 링크를 클릭해서 이미지들에서 어떤 옵션이 있는지 보자.

 

그림 5. 이미지 파일의 세부정보

파일 형식볼륨 아이디그리고 마운팅 지점 등과 같은 이미지 파일의 상세한 부분을 미리 볼수 있다선택 가능한 두가지 옵션이있고 하드디스크 상에서 실행된다만약 설명에서 처럼 “Extraxt Strings” 클릭한다면 파일에서 ASCII UNICODE 키워드들을추출한 최적화된 검색 결과를   있고 이것에 대해 MD5 생성해 준다옵션을 선택한다면  과정이 끝날때까지 대략 30분정도 걸린다.

 다른 최적화된 검색과 데이터 복구는 “Extraxt UnallocatedClusters”이다무엇이 할당되고 할당되지 않은 공간일까휴지통에서 파일을 삭제하면 영구적으로 삭제하는 것은 아니다 데이터나 공간에 대해 비할당으로 설정될 뿐이다 말은 같은 공간에 새로운 데이터가 씌워질  있다는 것이다할당된 공간은 예약 공간과 같고  반대가 비할당된 것이다.

 

그림 6. 다음 단계는 해시 데이터베이스이기 때문에 잠시 중지 

이전 파트에서 기억할지 모르겠지만해시 데이터베이스 설정하는 부분이 있었다 장소는 Alert, Ignore, 그리고 NSRL 설정하는 부분이다. Alert 데이터베이스는 악의적인 활동들을 실행하거나 만드는 파일들을 위한 것이고 당연히 피하고 싶은 부분일 것이다 다음은 Ignore 데이터베이스이다여기서 시스템 기본 설정과 같은 파일들을 표시하는 것이다물론 이것들을 분석하는데 시간을 낭비할 필요는 없지만 시나리오데 따라 다르다마지막인 NSRL 데이터베이스는 좋은 파일이든 나쁜 파일이든 상관없다예를 들어시간을 낭비하고 싶지 않다면 모든 파일을 버리면 된다.

 

그림 7. 계속해서 증거 추적하기

“Event Sequencer” 호스트를 열때 선택 메뉴(하단 오른쪽)에서   있다 도구를 쓰는 주요 이유는 찾았거나 추적을 계속하고 싶은 단서들 또는 증거를 문서화할  있기 때문이다이것은 날짜와 시간으로 정렬된 이벤트 테이블로 보여진다새로운 사건을 입력할때는 메모를 입력해야하고 시간과 날짜도 입력해야 한다마지막으로  사건의 출처가 어딘지 선택해야한다 (사건종류를 규정하는 것처럼). 


그림 8. File Activity Timeline 메뉴

File Activity Timelines 파일이 언제 마지막으로 수정되었고이동되었고그리고 삭제되었는지 등에 대한 시간을 추적하는데쓰인다공격자가 쉽게 시간을 변경할  있기 때문에 File Activity Timeliens 사용하는 것은 때때로 문제가   있고 파일을추적하는데 잘못된 결과를 가져올 수도 있다파일의 시간을 바꿀  있는 수많은 무료 도구들이 있고 내가 필요로 한적은 없어서직접 써본적은 없지만구글 검색만으로도 쉽게 도구들을 찾을  있을 것이다.

타임라인을 만들기 위해서는 먼저 “body” 만들어야 한다. “body”파일은 디스크 이미지들의 모든 파일들의 메타데이터를 담고있는 비확장 파일이다모든 파일이란 것은 삭제된 파일들도 포함하고 비할당 공간에 떠다니는 파일과 할당된 공간(떠다닌다는의미는 디스크 공간 어딘가에 있다는 뜻이다실제로 떠다닌다는 뜻이 아니라…)안에 떠다니며 존재하는 파일들도 포함한다모든 디스크 파일 시스템에는 추출된 다른 정보가 있다. Autopsy 도움말과 문서에 보면 어떤 정보들이 유닉스와 윈도우의 디스크파일 시스템에서 추출되었는지 찾을  있다.

 

유닉스 시스템(EXT2FS FFS) (설명은 www.sleuthkit.org/autopsy/help/index.html에서 가져왔다):

  • 수정언제파일데이터가마지막으로수정되었나시간은utimes()함수를사용해서수정할있다시간은‘tar’저장되있고이것은시스템에서파일이처음으로나타날때파일의M-times가질있게된다.
  • 접근언제 파일 데이터에 마지막으로 접근되었나 시간은 utimes() 함수를 사용하여 수정될  있다.
  • 변경언제 파일 상태(inode 데이터) 마지막으로 수정되었나 시간은 유닉스에서 utimes() 함수를 사용해서 설정할 없다 (하지만 utimes() 사용하여 다른 값들을 변경하면 설정할  있다).

FAT 파일 시스템설명은 www.sleuthkit.org/autopsy/help/index.html에서 가져왔다):

  • 쓰기언제파일이마지막으로쓰여졌나. FAT파일시스템에서유일하게요구되는시간이다.
  • 접근언제 파일에 마지막으로 접근되었나. FAT에서는 하루  만이 유일하게 정확하다(시간은 아니다). 임의의 값으로 몇몇 운영체제는 업데이트를 안한다.
  • 생성언제 파일이 생성 되었나이것 또한 임의적으로 몇몇 운영체제에서는 업데이트를 안한다사실 윈도우 설치는C:\\Windows C:\\Program Files 같은 디렉토리에 대해 0 C-Time 가진다.

 

NTFS 파일 시스템설명은 www.sleuthkit.org/autopsy/help/index.html에서 가져왔다):

  • 쓰기언제마지막으로쓰여졌나.
  • 접근언제 파일에 마지막으로 접근되었나.
  • 변경언제 MFT 입력이 마지막으로 수정되었나.
  • 생성언제 파일이 생성되었나.

 

그림 9. "body"파일 만들기

 

이제 타임라인을 만들기 위해 먼저 “body”파일을 생성해야 한다. “Create Date File” 클릭하면 옵션과 함께 메뉴가 나타날 것이다옵션은 간단하기 때문에 설명은 건너뛸 것이다.

 

그림 10. 타임라인 만들기

 다음 해야  일은 타임라인 생성이다메뉴에서 Create Timeline 옵션을 선택하면 된다타임라인을 만든 후에 타임라인을 살펴보면 된다(메뉴에서 “View Timeline” 클릭). “Summary” 선택하면 디스크이미지의 각각 파일들에 대한 상세내역들을  있다이것은  가지 추가 정보를 보고 삭제  파일을 복구하는 부분에서 도움이   있다.

 

그림 11. 타임라인 보기

 다음에  것은 사건 조사를 진행하는 것이고다음 섹션에서 Autopsy에서 파일들 복구하고 조사하는데 어떻게 도구들을 같이사용하는지에 대해 설명  것이다.

 

파일들 조사

 

그림 12. Autopsy로 파일 분석

나는 Autopsy 흥미로운 모든 도구들을 살펴본 후에 마지막으로 파일 분석부분을 집어넣었다. File Analysis 탭을 살펴보면,디스크 이미지의 모든 파일들을   있다.

 

그림 13. 모든 파일들을 보며 Autopsy로 파일분석

나는 삭제된 파일들에 대한 정보(이름과 확장자) 가지고 있기 때문에검색을  쉽게 해주는 일반 수식을 사용을 제공하는 왼쪽에서 검색하는 것만으로 쉽게 찾을  있다파일 복구는 Autopsy 하고 검색할 위치만 알면 상당히 쉽다하지만 때로는 공격자가 복구를  어렵도록 하는 기술들을 사용하기 때문에 어려울 수도있다

 

그림 14. 파일이름으로 파일들 찾기

 

Autopsy에서 파일을 열면  파일에 대해 몇가지 행동을 취할  있는 옵션들이 있다보시다시피 ASCII, HEX, 그리고 ASCII 문자열로 파일을 볼수 있는 옵션들이 있고 메타데이터나 몇몇 일반 정보등과 같은 파일들에 대해 정보를 생성하는데 사용될  있는보고서를 만들  있는 옵션도 있다예를 들어 그림 15 표시되어있는 ASCII 보고서와 같은 생성된 보고서의 예제이다.

 

그림 15. 보고서 생성기로 파일 보고서 만들기

 

파일들을 검색하는  다른  세부적인 것은 “Keyword Search”탭이다이것은 이미지의 내용을 추출해내 세부적으로 검색을  있다다시 말해 당신이 이미  파일들이 어디 있는지 알고 있는 부분에 대해 검색할  있다.

 

그림 16. 키워드 검색 옵션

 

또한만약 당신이 정규 표현식에 대해 모른다면 도움을   있는 Regular Expression CheatSheet 있다.

 

그림 17. 메타 데이터 정보 추출하기

 

만약 파일 시스템이 NTFS( 시나리오와 같이)이고 각각의 파일에 대해 메타데이터 세부정보를 보고 싶다면 Master File Table 사용할 수도 있다이미 삭제 되어있어있든 상관없다.

 

만약 파일이 어떤 Master File Table 항목인지 안다면  파일에 대해 정보를 추출할  있도록 사용할  있다. MFT파일은 윈도우 OS 설치된 곳의 디렉토리에서 찾을  있고 시나리오에서는 “C:/$MFT”이다. MFT파일을 열기위해서는 주로MFTView v1.1.0 사용한고 이것은 각각의 파일에 대한 몇몇 중요한 정보를 찾을 수도 있다 도구는http://sandersonforensics.com/forum/content.php?133-MFTView에서 다운받을  있다언젠가 유용할거라고 믿는다.

 

그림 18. MFTview v1.1.0의 인터페이스

 

파일들을 복구하는 동안 파일들이 삭제된 이유가 악의적인 목적으로 사용된 b374k-shell 이라는  스크립트때문이란 것을 발견했다궁금하다면 어떤 것을 제공하는지 살펴 보면 된다쉘에 대한 다운로드 링크는http://code.google.com/p/b374k-shell/이다어떤 목적으로 사용하던  시나리오는 교육 목적으로만 만들어졌다.

 

내가 어떻게 해결했는지(보고서와 비슷하다), 시나리오에 대한 세부내용이 다음에 있다.


 사건의 경우 데이터베이스에 저장되어 있던 정보를 추출함으로써 발생된 b374k-shell 알려진 악의적인 스크립트( )의해 피해가 일어났다스크립트는 RFI 취약점(Remote File Vulnerability) 사용하여 업로드 되었고공격자는 짧은 시간내에 스크립트를 업로딩 하는데 성공함으로써 중요한 정보를 추출하고 삭제하는데 성공했다공격자는 서버의  로그들을 포함한  사이트의 전체 디렉토리를 삭제했다다시 말해 공격자는 권한 상승을 통해 서버의 전체 통제권을 얻었다

 

그림 19. 삭제되고 복구된 파일들

결론

 글이 멋진 CSI 시리즈는 아니지만 당신이 이제 Autopsy 어떻게 사용하는지에 대해 알았으면 좋겠다. Autopsy 포렌식 조사를 위한 좋은 도구이며 배우기도 쉽고 사용하기도 쉽다는 것을 보여주고 싶었다아마  시나리오에 대해 몇가지 세부적인 내용은 다루지 않았지만 스스로 시나리오를 만들어보고 연습하기를 권장한다어떻게 해커가 호스트를 방해하고 포렌식 조사관들이 영역을 복구 하고 분석하는데 다양한 기술들을 어떻게 사용하는지와 함께 많은 시나리오들을 해보고 직접 만들어보는 것을 시도해라.


참고


반응형