EnCase v7 HASH Library Analysis

2016. 2. 23. 13:33디지털포렌식 솔루션/EnCase V7

 


Hash Library Analysis 을 진행하겠다. 2개의 증거물에 대한 분석이므로 Parker's HDD 와 Clyde's HDD 를 선택을 해서 분석을 한다.

메뉴 -> Tools -> Manage Hash Library 기능을 실행한다.


 

그럼 위와 같이 Manage Hash Library Option pane 이 나타난다.


Hash Library 사용 목적은 크게 두 가지가 있다.

첫 번째 : Law File 에 대해서 배제를 하고 분석한다. 시스템 파일에 해당

두 번째 : 크게 알려진, 흔이 알고있는 파일. 백신 내 설치 프로그램 폴더를 확인하면 엄청많은 파일들


흔히 알고 있는 유명한 프로그램들에 대해선 훼손이 되지 않았다고 가정해서 이러한 데이터들에 대한 Hash Value 를 구할 수 있다.

이러한 데이터들을 바탕으로 업무 디스크에서 배제를 하고 이 데이터들에 해당되지 않는 데이터들만 분석한다. 이런 데이터들을 만드는 것이 LSRL 이란 것이다.

흔히 알고 있는 이미지, 게임 등 엄청 많은데 이런것 들을 배제하고 분석한다.


파일이 이름과 Hash value 만 들어있는 Hash set File 인데 용량이 4-5 GB 정도로 엄청 크다.

솔루션들 마다 분류가 되어 있으므로 어떻게 활용을 하느냐의 차이일 뿐이다.

EnCase 전용, FTK 전용, Other 솔루션에 대한 Binary 전용이 있다.


동일한 Hash value 찾기


여러 상황이 주어질 수 있으나 예로 컴퓨터가 한대 있고 USB 가 하나 있다.  그런데 이 USB 가 누구 것인지 모르지만 일단 주웠다. 기업의 내부에선 이 사건을 밖으로 알리고 싶지 않고 내부처리를 하고 싶어한다. USB 의 주인을 알고싶어 한다.


물론 USB 내부를 확인해서 작성자들을 확인해보면, OFFICE 를 확인해보면 다 남아 있다. 웬만하면 Windows System 계정에 로그인 된 ID 를 분석한다거나 자기가 임의로 지정해논 ID 가 있으면 분석을 해보면 Naming 정책이 있어서 확인이 가능한데, 단점이 있다.


만약에 우리 팀장이 자기 이름으로 만든 양식을 만들어서 배포를 했는데, Naming 정책은 한번 기록된 작성자 이름으로 또 기록이 된다. 그래서 약간 의심, 오해를 살만한 단점이 된다.

분석하면서 추려나가는 중에 구분을 하며 쫓아갈 수는 있으나 오해를 살만한 단점이 있다.

해당 부서에 가서 Disk 를 가져와도 되고 거기서 Hash Library Analysis 만 진행해도 된다.


Hash Analysis 만 하는 것은 EnCase 를 사용해도 되고 간단하게 분석하는 도구들도 엄청 많다.

EnCase 를 사용하기 위해서는 Hash value 매칭을 해야하므로 Hash value 를 구해놔야 한다.

Hash value 가 길기 때문에 외우는건 불가능하다. 하나만 찾는게 아니고 여러가지를 찾아야 한다.

일일이 비교를 하면서 찾기는 힘들다. 그래서 Hash Library 내에 Hash set 이 있는데 이걸 만들어야 한다.


Library 라는 항아리가 있으면 Set 이라는 주머니에다가 각각의 Item 을 넣는 개념이다.

그러니까 Hash Library 라는 항아리에 Set 라는 주머니를 만들어 그 안에 비교할 Item 의 Hash value 를 넣어서 이 비교될 Item 의 Hash value 와 디스크내의 Hash value 를 비교하는 작업을 하는 것이다.


 

 

먼저 준비된 JPG.zip 단일 파일을 Drog & Drop 로 EnCase 에 추가한다.

이 JPG 내의 파일 Hash value 와 두 개의 증거파일 Disk 내의 Hash value 를 비교하여 같은 Hash value File 을 찾는 것이다.


 

 


그럼 위와 같이 Single Files 로 JPG.zip File 이 추가가 되었다.

위와 같이 zip File 즉 압축 파일이 추가가 되었다. 압축 파일은 Compound File 이다. Compound File 은 View File Structure 기능을 이용하여 Zip File 내부를 확인한다.


 

JPG.zip File 을 선택하고 우클릭 -> Entries -> View File Structure 를 클릭한다.


 

View File Structure Analysis 이 끝나면 + 녹색 아이콘이 활성화 된다. 그리고 JPG.zip File 의 Structrue 를 분석할 수 있다.


 

자, 이제 JPG.zip 내부를 분석해보자.

jpg 파일 9개가 존재한다.


Evidence Tab 에서 Zip File 을 Drag & Drop 으로 추가하고 확인해보면 zip File 이 추가되는데 그 zip File 을 View File Structure 기능을 이용하면 내부의 File 을 확인할 수 있다.

Zip File 은 Compound File 이기 때문에 View File Structure 기능을 통해 분석해야 한다.


아이템 추출


 

우선 Clyde's HDD 안에 있는 yahoo.gif File 3개를 선택한다.


 

3개의 File 을 선택하고 우클릭 -> Entries -> Copy Files 를 클릭한다.

EnCase 는 자기들 만의 용어를 쓰는걸 좋아한다. Item 을 추출할 때 보통 Export 단어를 많이 쓰는데 현재의 경우 Copy File 을 사용하고 있다. 용어가 다르다고 해서 기능이 다른건 아니다.


 

 

Copy Files Option pane 가 나타난다. 기본값이므로 다음을 클릭한다.


 

 

그럼 다음 Options pane 이 나타난다. 여기 기본값이므로 다음을 클릭한다.


 

 

저장할 경로를 지정해주고 하단에 마침을 클릭한다.


 

 

 

지정된 경로를 확인해보니 선택했던 Item 이 추출되어 있다.


가상설정

위에서 추출한 3개의 아이템이 USB 에 들어 있다.

그리고 용의자로 의심되는 Parker 와 Clyde 두 사람에 대한 Disk 를 이미징 해서 보관중이다. 이제 이 이미징을 분석해봐야 한다.


 

다시 설명하자면 USB 에서 3개의 Evidence Item 이 발견되었는데 용의자로 의심되는 Parker 와 Clyde 의 Disk 이미징 File 에서 Evidence Item 을 찾는 작업인 것이다.


 

USB 에서 발견된 3개의 Evidence Item 을 Drog & Drop 로 EnCase 에 추가를 한다. 그럼 위와 같이 Single Files 가 추가된걸 확인할 수 있다.


 

3개의 Item 을 추가했는데 이런식으로 파일단위로 추가되는건 전부다 Single Files 로 추가가 되므로 이 영역에서 확인하면 된다.

일반적인 Evidence 에 해당하는 Local Device Evidence File 들은 위와 같이 추가가 된다. Evidence Item 라고 인식을 하기 때문이다.


 

​Sigle Files 를 확인하면 의심되는 Evidence Item 3개가 EnCase 에 추가된걸 확인할 수 있다.


자, 현재 1차적으로 찾아낼 대상을 선정했고, 그 File 을 EnCase 에다가 추가를 했다. 그 다음 2차적으로 비교하고자 하는 대상에 대해 Hash 연산을 한다.

비교대상이라면 보통 Device 나 Imaging File 이다. (무결성을 입증해야 하기 때문이다)


 

위와 같이 단일 파일로 추가한 것은 파일 3개를 선택하고 우클릭 -> Entries -> Hash/Sig Selected 를 클릭한다. 이 기능은 선택된 항목들만 Hash 연산을 해주는 기능이다.


이런식으로 USB 장치를 추가해서 프로세싱을 할수도 있고, Item 을 추가해서 분석을 할 수도 있다.

또 다른 예로 프로세싱으로 분석을 했는데 Hash 연산을 MD5 만 했다면, 원래라면 MD5 와 SHA1 을 같이 해야한다.

추가적으로 원하는 목록을 분석하고 싶다면 Hash/Sig Selected 기능을 통해서 따로 연산 할 수 있다.


프로세싱에서 연산할 수 있고, 내가 원하는 Items 만 이 방법으로 분석할 수 있다.


 

 

Hash/Sig Selected 를 클릭하면 위와 같이 Hash\Sig Selected Option pane 이 나타난다. 여기서 MD5 , SHA1 , Verify file signatures 를 선택하고 OK 를 클릭한다.


 

 

 

기존에는 MD5 와 SHA1 값이 비어 있다.

OK 를 클릭하고 Refresh 가 안되기 때문에 잠시 상위로 나갔다가 다시 들어온다.


 

 

그럼 위와 같이 Hash 값이 생성되어 있는걸 확인할 수 있다.


이제 이 값을 Hash set 을 통해 등록해야 한다. 무엇을? 저 비교 대상의 Hash 값들을

현재 생성된 Hash 값들은 USB 에서 Evidence File 로 의심되는 대상의 Hash 값들이다. 이 값들을 Hash set 에 등록을 해서 용의자로 의심되는 Parker 와 Clyde 의 HDD Image 를 분석해 동일한 Hash 값의 File 을 찾으려는 작업이다. 


Hash set 만들기


Library 라는 주머니가 있고 그 안에 Set 있는데 Set 에다가 찾고자 하는 비교대상을 넣는다.

현재 추가된 3개의 Item 을 비교대상이라 생각한다. 현재 비교대상은 이미 Hash value 연산작업이 끝이 났다. MD5 , SHA1 Hash 값이 생성되었기 때문이다. 그러나 구지 Hash set 을 만들지 않고 필터링으로도 찾을 수 있다.


비교할 대상을 Hash Library 에 등록한다. Set 을 등록하기 위해서 Set 부터 만들어야 한다.

 

메뉴 -> Tools -> Manage Hash Library 기능을 실행한다.


 

Manage Hash Library Option pane 이 나타난다.

 

 

우측 상단에 New 를 클릭한다.

 

 

 

Hash set 은 데이터가 파일단위로 저장된다. 그러므로 중요한 위치에 저장해야 한다.

한번 Hash set 을 잘 만들어 놓으면 나중에 편리하다.

문서들이나 특이한 사건들에 해당하는 Hash 들만 만들어 놓으면 나중에 또 쓸일이 없을 수 있다.

하지만 기업내부, 특별한 프로젝트 자료, 악성코드 프로그램, 사용하면 안되는 프로그램 등 이런것들을 찾으려고 할 때 Hash set 을 미리 블랙리스트로 만들어 놓을 수 있다.

이렇게 잘 만들어 놓으면 나중에 또 활용이 가능한 것이다.


Hash set 이 저장될 경로를 지정하고 확인을 클릭한다. 그럼 Create hash library pane 이 나타난다.

바탕화면에 Hash Set 폴더에 Hash library 가 생성되었다고 확인을 할수 있다. 확인을 클릭한다.


현재 library 라는걸 만들었다. 그리고 폴더 안에 set 이 파일 단위로 저장이 된다.

현재는 그룹(폴더) 만 만든 것이다.


이제 Set 을 만든다.


 

Manage Hash Library 에서 New Hash Set 을 클릭한다.


 

그럼 Create Hash Set pane 가 나타난다. 여기서 Item 들이 나타나서 뭐가 있는지 정보를 확인할 수 있다.

그 전에 Hash Set Naming 을 지정한다. 보통 Hash Set 을 정말 많이 쓰지 않는 이상 3개의 정보를 동일하게 입력한다. 그래야 나중에 기억하기가 편하다.

왜냐하면 필터를 할 때 Set Name 가 보이지 않고, 필터를 Signature 같은 Category 를 기준으로 필터를 한다. 그래서 표현되는게 Category 명칭이기 때문이다.

 

 

Hash Set Name

Hash Set Category

Hash Set Tags


정보를 위와 같이 동일하게 입력했다.

필터를 실행하면 Hash Set Category 정보가 표현된다.

그러므로 전혀 생뚱맞은 정보를 입력하면 기억을 못한다. 그래서 동일하게 입력하는게 기억하기가 편한 것이다.


Hash set 은 얼마든지 만들 수 있다. 위와 같이 동일하게 정보를 입력해주고 OK 를

클릭한다.


 

 

Hash_Set_Test_001 이름으로 Hash set 이 추가가 되었다고 Add new hash set pane 이 나타난다. 확인을 클릭한다.


 

이렇게 해서 Hash Library 라는 빈 그릇과 Set 이라는 주머니가 만들어 졌고, 이제 이 주머니인 Set 안에다가 미리 만들어 놓은 원본과 비교할 Item 들을 넣어주기만 하면 된다.


 

Close 를 클릭하여 닫아준다.


 

메뉴 -> Case -> Hash Libraries 기능을 실행한다.


 

그럼 Hash Libraries pane 이 나타난다.​

​이 Option 은 자주 사용할 기능에 대해 지정해주는 Option 이다. 위에서 생성했던 Library 라는 그릇을 Primary 로 등록한다.


​상단에 Change hash library 를 클릭하면 폴더 찾아보기 pane 이 나타난다.

현재는 등록된 것이 없으므로 확인 버튼이 비활성화 되어 있다.

 

 

 

경로를 아까 생성했던 Hash Set 폴더로 지정한다. 그리고 확인을 클릭한다.

 

 

Hash Library Info 에 Primary 가 Hash Set 으로 지정되고, Existing hash sets 에 생성했던 Hash_Set_Test_001 의 정보가 저장되어 나타난다.


 

​Enable Check Option 은 Item 이 Enable 처리가 되었냐 안되었냐를 구분하는 Option 이다. Hash set 에 포함된건지 Column 에서 확인할 수 있다.


 

하단에 OK 를 클릭한다. 여기까지 설정을 하면 전부 끝이 났다. 이제 아까 추출한 Item 을 이 주머니에 넣어주면 된다.

현재까지 진행된 작업이 비교대상을 선정했고, Hash value 를 연산했다. 이제 등록만 하면 된다.


 

EnCase 에 추가했던 의심되는 Evidence File 3개를 선택하고 우클릭 ->

Entries -> Add to hash library 를 클릭한다.

Hash set 만드는 작업은 끝이났다. 이제 Library 에 등록을 하는 작업이다.


 

Add to hash library pane 가 뜬다. 그럼 현재 Hash library type 가 Primary 로 설정되어 있는걸 확인할 수 있다.

Primary 로 등록한 이유는 만약 등록을 안하면 일일이 위치를 찾아서 지정해서 확인해야 한다.자주 사용을 안하는 경우는 Primary 등록을 안해도 된다.

Primary 로 등록하면 확인할 때마다 Hash set 을 List 로 확인할 수 있는 것이다.


위에 등록된 것과 같이 Hash_Set_Test_001 같은 경우 블랙 리스트가 될 수 있고, 화이트 리스트가 될 수 있고, 특이한 사건이 될 수도 있다.

그러니까 Set 은 몇 개를 만들어도 좋고, 구분만 잘 해놓고 보기만 편하면 된다.


 

Hash_Set_Test_001 을 선택한다. 맨 앞에 선택을 해서 추가를 해준다는 의미이다. 그리고 Count 가 0인건 현재 등록된 Hash Item 이 하나도 없다는 의미이다.


 

 

선택을 하고 우측을 확인하면 Table pane 에 나타나는 Fields Name 이 그대로 보여진다. 기본값으로 Name , Logical Size , MD5 , SHA1 값이 선택되어 있다. 기본값으로 선택해도 되고, 원하는 Field Name 을 선택해도 된다.


 

 

현재는 보는즉시 Bookmart 처리를 하기 위해 전부 선택을 하였다. 전부 선택시 일일이 클릭하기 보다 맨위에 Item 을 선택하고 제일 하단에 Item 을 선택하는데 제일 하단에 선택할 때 Shift button 을 누르고 선택하면 전부 선택이 된다.

그럼 나타나는 Filed 에 대해 Bookmark 를 할 수 있다. Field 가 정해져있는 대로 Bookmark 를 하다보니 표현하려는 Item 자체를 미리 한꺼번에 등록해놓는게 좋은 방법이다. 그러나 구지 쓸데없는 정보는 넣지 않아도 된다.

왜냐면 내가 등록한 만큼 Bookmark 가 되고 Bookmark 에서 보고서에 삽입될 때 Field Item Name 이 삽입된다. 쓸데없는 Name 이라면 선택을 해제하고 진행하면 된다.


 

하단에 OK 를 클릭한다. 이제 등록이 되었는지 확인해야 한다.


 

메뉴바 -> Tools -> Manage Hash Library 를 실행한다.


 

Manage Hash Library pane 에서 Count 값이 3인걸 확인할 수 있다.

상단에 Manage Hash Items 를 클릭한다.


 

Viewing pane 이 나타나면서 추가한 3개 Item 의 Hash value 를 확인할 수 있다.

하단에는 선택한 Field 의 값을 나타내준다.

기본적으로 Name , Logical , MD5 , SHA1 값을 나타내는데 현재 Field 에 다 출력되어 있다.


 

Hash value 의 검사도 할 수 있다.

검사할 Hash value 를 입력하고 하단에 Filter 을 클릭하면 입력한 Hash value 에 대해 검사를 할 수있다.

 

 

Filter 를 클릭하니 현재 2개의 검사결과가 나타난다. 이 결과의 의미는 같은 Hash value 의 파일이 2개가 존재한다는 의미이고, 같은 File 이 2개라는걸 확인할 수 있다.


필터를 하기위한 Hash set 설정과정이 끝났다. 이제 필터링만 하면 된다.


 

찾으려는 대상 위치를 확인한다. 용의자는 두 인물로 추정된다. Parker 와 Clyde

두 개의 Evidence 를 확인하려면 2개를 선택하고 상단에 Open 을 클릭한다.


 

그럼 선택한 두 개의 Evidence 가 동시에 열린다.


 

Entries 에서 Home plate button 을 클릭하여 전체 리스트를 대상으로 분석한다.

다음 필터를 적용한다.


 

상단에 ​Filter 를 클릭하고 Find Items by Hash Category 기능을 실행한다. 이 기능은 Hash Category 기준으로 Item 을 찾는것이다.


 

Run "Find Items by Hash Category" Option pane 이 나타난다. OK 를 클릭한다.


 

 

Find Items by Hash Category Option pane 이 나타난다. 만약 위 화면이 안뜰수도 있다. 그럴 땐 EnCase 를 종료했다가 다시 실행하면 뜬다.


 

 

Hash_Set_Test_001 을 선택하고 하단에 OK 를 클릭한다.


작업이 완료되면 위와 같이 Hash Library에 등록된 Hash value 의 Item 이 나타난다.

그리고 동일한 Hash value 의 Item 이  여러개 나타날 수도 있다. Item 이 복사가 되었거나, 이동했거나, 오늘 퇴근하고 내일 작업하겠다고 또 다시 복사를 하고.. 여기저기 흩어져 잇다면 여러 개가 나타날 수 있는 것이다.


일단 USB 안의 파일들이 두 개의 Evidence Disk Image 에서 확인 함으로써 Parker , Clyde 역시 작업을 했고 Evidence File 을 가지고 있었단게 증명된 것이다.


원래 시나리오는 두 개의 Disk Image 에서 추출이 되어야 한다. 그리고 2명의 의심받는 용의자가 두 개의 Disk Image 에서 Evidence File 이 추출되므로 2명다 동일한 증거물을 소지하고 있었단게 증명이 되고, 이 Parker , Clyde 는 한 팀이거나 , Evidence File 을 주고받는 관계가 증명이 되는 시나리오다.