기초 연습문제1-분석해보기(EnCase)

에서 분석대상 파일이 저장된 저장매체를 직접 만들고 이를 분석하는 문제를 해결해보도록 하겠습니다. 여기서는 EnCase를 주로 사용하여 문제해결을 해보도록 하겠습니다.

이번 연습에서는 기초 분석 문제 조금, 시나리오 관련 분석 조금만 맛보는 걸로 연습해보겠습니다.

실제 시험보다는 많이 압축된 형태입니다.

1. 사본이미지 획득

  1. 먼저 사본 이미지를 획득해보겠습니다. 그전에 먼저 쓰기 방지를 진행합니다. Tools - FastBloc SE... 를 선택합니다. Write Protected를 선택합니다. USB로 연습하고자 하는 분은 이 상태에서 USB를 연결합니다.

    정상적으로 연결되면 아래와 같이 Write Protected에 점이 찍힙니다.

    참고로 이렇게 설정된 USB는 다른 PC에 연결할 경우 쓰기방지가 된 체로 사용이 안될 수 있습니다. 따라서 이미지 획득 후에는 USB를 연결 해제하였다가 None 상태에서 다시 연결하여 Write Protected를 해제 합니다. 시험에서는 해제하지 않아도 무방합니다.

    *주의사항으로 분석 대상 USB의 경우 파일을 저장해야하기 때문에 FastBloc을 끄고 연결합니다.

  2. 문제 저장매체(가상디스크/USB)를 연결해보도록 하겠습니다. (USB로 연결한 경우에는 이 내용은 무시해도 됩니다.) 여기서 설명하는 것과 동일한 가상디스크로 연습해보고자 하는 경우 아래 링크에서 다운 받아서 활용하시면 됩니다. > http://naver.me/5gFbVJPU (60MB) USB로 문제 저장매체를 만든 경우는 바로 연결하면 쓰기방지 상태로 연결이 됩니다. 가상디스크로 연결 할 경우 디스크 관리(Win+X - 디스크 관리)에서 동작 - VHD 연결에서 읽기 전용을 체크 한 뒤 가상디스크 파일을 선택합니다.

  3. 가상디스크가 정상적으로 연결 된 경우 아래와 같이 확인할 수 있습니다.

    가상디스크 또는 USB를 연결한 경우 아래와 같이 포맷이 필요하다고 하는 것이 표시된다면 정상 인식 된 것입니다.

  4. 이제부터 사본 이미지 획득을 진행 합니다.

    파티션1을 살펴보니 시작 섹터는 비어 있으나 마지막 섹터로 가보니 NTFS의 VBR 복사본이 위치합니다. 즉, 파일시스템이 훼손되어 있습니다. 따라서 RAW 로 이미지 획득을 진행합니다.

  5. 물리 드라이브 최상위 우클릭 - Export Disk Image (꼭 최상위를 선택해야 저장 매체의 전체 사본을 획득할 수 있습니다. 파티션만 고를 경우 파티션만 획득 됩니다.)

    또는 File - Create Disk Image - Physical Drive 를 선택합니다. (완전히 동일한 기능으로 원하는 걸로 하시면 됩니다.)

  6. Add 를 이용하여 획득한 이미지 파일 종류, 저장할 경로, 분할 사이즈를 선택합니다. 분할 사이즈(Image Fragment Size)는 0으로 설정합니다. -> raw 이미지 파일이 1개로 나오며 0번부터 마지막 섹터까지 연결되어 복구가 용이합니다. 이후 Start 를 선택하여 이미지 획득을 시작합니다.

  7. raw 이미지 획득이 완료되면 아래와 같이 .001 파일이 생성되며, .txt로 로그 파일이 생성됩니다. 이 로그 파일에서 실제 시험에서 답안 작성 또는 분석 보고서에 활용할 원본 저장매체의 해시값, 드라이브 시리얼 넘버 등이 나옵니다. 아쉽게도 가상디스크의 경우 시리얼 넘버가 없습니다. 다만 USB로 획득한 경우 USB의 시리얼 넘버를 확인할 수 있습니다.

    로그가 아닌 FTK Imager에서 확인해보고자 하는 경우 저장매체를 물리적으로 불러온 상태에서 최상위를 선택 후 View - Properties에서 확인이 가능합니다.

  8. 참고로 EnCase에서 Add Evidence - Add - Local Device에서 USB를 선택 한 뒤 Report 에서 살펴보면 USB 저장 매체의 시리얼 넘버, 전체 섹터 수 등을 알 수 있습니다.

2. 파일시스템 복구

  1. 우선은 용량이 작은 경우에는 매우 빠르게 수집이 되지만, 실제 USB로 사본 이미지 획득하거나, 실제 시험에서는 빠르면 10분 정도에서 30분 정도까지 오래 걸릴 수 있습니다. 해야할 것은 하고도 시간이 남고, 파일시스템 복구가 필요한 것을 알았을 경우 파일시스템 복구에 필요한 섹터들을 미리 계산해보도록 하겠습니다.

  2. 먼저 파티션 1번 위치로 이동하였는데 섹터가 비어 있습니다. 그리고 바로 다음 섹터에 BOOTMGR~이 보입니다.

    그리고 마지막 섹터로 이동 했더니 NTFS의 VBR 복사본이 존재 합니다. 만약 마지막 섹터에 갔는데 아무 것도 없을 경우 FAT32의 파일시스템일 수 있는 것입니다. 사실 우리는 이미 문제 만들때 NTFS로 포맷했기 때문에 알지만, 실제 시험에서는 무엇으로 포맷했는지 알 수 없습니다. 따라서 어떤 파일시스템이 훼손되어 있는지 연습을 통해 빠르게 확인할 수 있어야 합니다.

    이제 복사본 위치, 파티션 시작 위치를 찾았습니다. 복구에 필요한 섹터 번호를 확인해보면 아래와 같습니다. (개인 USB로 하였거나, 용량을다르게 했을 경우 섹터 번호는 다를 수 있습니다.) - 복사본 VBR 섹터번호 : 403,583 - 파티션 1 시작 섹터번호 : 128

  3. HxD를 이용하여 획득한 Raw 이미지를 불러온 뒤 파일 시스템 복사본 VBR 섹터를 파티션 1 시작 섹터에 덮어 쓰도록 합시다. 403,583 -> 128 먼저 HxD를 이용하여 디스크 이미지 열기(도구 - 디스크 이미지 열기)를 통해 Raw 이미지를 불러 온 뒤 403,583로 이동하여 이 섹터 전체를 복사합니다. hex 부분 위에서 복사해여 hex 값이 복사됩니다.

  4. 파티션의 시작 섹터인 128번 섹터 가장 첫 부분에 우클릭 - [붙여넣기 쓰기] 를 한 뒤 저장합니다. 삽입하거나, 1바이트라도 밀려서 저장할 경우 정상적으로 복구가 되지 않으니 정확하게 복사 붙여넣기 하여 덮어써야 합니다.

  5. Add Evidence Item 선택 후 Image File 에서 복구한 raw이미지 파일을 선택합니다.

    정상적으로 파일시스템이 복구 되어서 아래와 같이 파일시스템 구조를 정상적으로 확인할 수 있으면 복구가 된 것 입니다. 이 이미지를 이용하여 EnCase등으로 분석을 진행합니다.

3. 다짜고짜 분석해보기

  1. 우선 파일시스템 복구는 끝났으니 포렌식 도구에 추가하여 분석을 해보도록 하겠습니다. EnCase에서 Case를 생성하고 복구한 Raw 이미지를 추가합니다.

    비교적 빨리 끝나는 1차 프로세싱을 진행합니다.

  2. 우선 시나리오 파일을 추출한 뒤 시나리오를 읽어보고 EnCase 또는 FTK Imager를 통해 사건 "사건1 시나리오.pdf" 파일을 추출 하거나 도구를 통해 내용 확인을 해봅시다. 대략적으로 살펴보면, 휴대폰 제조 관련 자료가 유출된 것으로 보입니다.

  3. 전반적으로 폴더 구조를 살펴봅니다. 파일을 하나하나 살펴보다 보면 의심스런 파일도 발견되기도 할 것이지만, 우선은 구조에 익숙해질 필요가 있습니다. 프로세싱이 끝나면 Refresh 를 선택하여 결과를 불러온 뒤 다양하게 분석을 진행해봅니다.

  4. 시나리오, 주관식 문제와 관련된 파일을 먼저 찾아보도록 합시다.

먼저, 스스로 살펴본 뒤 참고하시는 거 추천
  1. 파일을 살펴보다 보면 확장자가 exe 인데 File Type이 PDF 인 파일이 발견 됩니다. Signature에서 Alias, Bad Signature 등을 살펴봅니다.

  2. 또한 확장자가 exe인데 Signature가 다른 exe랑 다르게 Alias 이며 Hex를 보면 문서파일 처럼 보입니다. [Doc] 탭에서 확인해보면 엑셀 형태로 내용을 확인할 수 있습니다.

  3. 추가로 exe 인데 Hex를 보면 압축파일 형태로 보이는 파일이 발견됩니다. EnCase에서는 압축파일의 내부구조를 확인할 수 있습니다. 우클릭 Entries - View File Structure 를 선택합니다.

    파일명을 클릭하면 압축파일 내의 파일들을 살펴볼 수 있습니다.

  4. 파일을 추출한 뒤 확장자를 변경하여 열어봅시다. 추출할 파일을 체크 한 뒤 우클릭 Entries - Copy Files를 선택합니다.

    All selected Files 선택하면 체크한 파일 여러개를 추출해줍니다. Open Destination Folder 체크시 추출한 폴더를 바로 열어줍니다.

  5. PDF 파일로 보이는 파일의 확장자를 변경한 뒤 내용을 확인해보면 휴대폰 디자인과 관련된 PDF 파일이 발견됩니다.

    문서파일로 보이는 파일의 확장자를 워드 확장자로 변경 후 열어보면 에러가 발생하네요!

    위에서 엑셀처럼 보였으니 엑셀 확장자로 변경 후 확인하여 봅시다. 정상적으로 내용 확인이 가능합니다. 만약 엑셀도 아니라면 pptx로 시도 할 필요가 있을 것 입니다.

  6. exe 지만 실제로 압축파일로 보였던 파일 확장자를 압축파일 형태로 변경 후 압축 해제하여 봅시다.

  7. 추가 유출 관련 흔적을 찾기 위해 분석 과정에서 찾아진 파일명들을 대상으로 검색 키워드로 검색을 해보도록 하겠습니다. 폴더를 체크하면 전체 파일이 체크 됩니다. 이 상태에서 Raw Search Selected 선택한 뒤 찾았던 주요 파일명들을 New를 통해 추가해보겠습니다. (프로세싱의 Search for keywords 기능을 사용해도 좋습니다.)

    View - Keyword Hits 선택 하여 키워드 검색 결과를 확인할 수 있습니다. Items 선택하면 검색에 걸린 파일들을 확인할 수 있으며 하단에 Text에서 Compress View 부분을 선택하면 키워드가 어디에 해당하는지도 확인이 가능합니다.

    우클릭 - Go to File 을 선택하면 해당 폴더를 확인할 수 있습니다.

  8. 폴더를 가보면 FileZilla Server이 설치되어 있고 로그 폴더가 있습니다. 로그를 살펴보면 192.168.2.26번에서 서버로 로그인한 흔적이 발견됩니다.

    실제로 우리가 인지한 경로의 파일을 전송한 흔적이 발견됩니다. 추후에 이 IP를 추적하여, 누가 이 파일을 다운로드 하였는지 추가 조사가 필요한 것 입니다.

    정리하면 Filezilla 서버를 설치한 뒤 다른 누군가가 이 서버에 접속해서 파일을 다운 받아간 것으로 보입니다. [FTP 주요 명령어] - CWD : 클라이언트가 서버 접속 후 경로 변경 명령어 - RETR : 서버에서 접속한 클라이언트로 다운로드 명령어 - STOR : 클라이언트에서 서버로 업로드 명령어

  9. 주요 증거파일은 보이는 파일들 입니다. - Users/SysinternalsSuite/Part_list.exe - Users/Desktop/7-Zip/IeList.exe - Users/SysinternalsSuite/pslist2.exe - Program Files/FileZilla Server/Logs/FileZilla Server.log 주요 증거 파일들을 체크한 뒤 우클릭 - Bookmakr - Selected items를 선택한 다음 폴더명을 원하는 것으로 선택하여 저장할 수 있습니다.

    [View] - [Bookmarks] 에서 추가한 내역들을 확인할 수 있으며 각 파일의 정보를 상세히 보기 위해서는 우클릭 Go to file을 선택하여 확인합니다.

4. 문제 답안 작성

  1. 시나리오 관련 파일 중 주관식 답안 작성에 요구하는 것은 아래와 같습니다.

    • 파일명

    • 파일 경로

    • 해시값(MD5, SHA1)

    • 파일의 시간정보(MAC)

    • 시작 섹터 번호

    • 데이터 클러스터 번호

답안 작성에 필요한 부분 찾기
  • 답안 작성에 필요한 부분이 도구에서 어디서 확인 가능한지 살펴보겠습니다.

  • 파일명/경로/시간정보 [Report] 탭에서 확인 가능 - 우클릭 - Copy로 메모장에 복사하여 활용하시면 됩니다.

  • 해시값

    • 해시값 또한 [report]에서 확인이 가능합니다. 만약 시험문제에서 sha245, sha512 같은 다른 알고리즘 계산이 필요한 경우 우클릭 Entries - Hash/Sig Selected 선택 후 [Refresh] 하면 계산된 값이 적용됩니다.

    • 만약 파일을 추출하여 요구하는 알고리즘으로 계산도 가능 합니다. 추출 후 Shift + 우클릭 한 뒤 [여기에 PowerShell 창 열기]를 선택합니다.

      > get-filehash * -algorithm md5 > get-filehash * -algorithm sha1 ( * 은 해당 경로의 모든 파일을 대상으로 하는 것 입니다.) 가능한 알고리즘 종류 : MD5 / SHA1 / SHA256 / SHA384 / SHA512 / RIPEMD160

      드래그 후 우클릭 또는 Ctrl + C 로 복사되며 메모장에 복사하여 답안 작성에 활용합니다.

  • 파일의 시작 클러스터 번호 / 시작 섹터 번호 최근 시험에는 출제되지 않고 있으나 파일의 시작 위치 정보를 묻는 문제가 출제되었습니다.

    FTK Imager에서도 확인 가능 합니다. 클러스터 번호의 경우 파일 선택 후 Start Cluster 또는 하단의 clus를 참고 시작 섹터 번호는 Phy sec 에서 확인하는 것이 빠릅니다.

  1. Part_list.exe

    1. 파일명: Part_list.exe

    2. 파일 경로: Users/SysinternalsSuite/Part_list.exe

    3. 해시값(MD5, SHA1) (MD5) EA3FAE61560DE723C906B64CD61A243D (SHA1) 6FAEB75EB67FB5411CE18360B6BC6661CBD1DB8E

    4. 파일의 시간정보(MAC) - [ USB / 생성한 가상디스크의 경우 시간값 다름] File Created : 2024-10-16 09:29:28 (+9:00 대한민국 표준시) Last Accessed : 2024-10-16 09:29:28 (+9:00 대한민국 표준시) Last Written(Modified) : 2019-05-23 15:22:19 (+9:00 대한민국 표준시)

    5. 시작 섹터 번호: 199,152섹터 - [ USB / 생성한 가상디스크의 경우 시간값 다름]

    6. 데이터 클러스터 번호: 24,878 클러스터 - [ USB / 생성한 가상디스크의 경우 시간값 다름]

  2. IeList.exe

    1. 파일명: IeList.exe

    2. 파일 경로: Users/Desktop/7-Zip/IeList.exe

    3. 해시값(MD5, SHA1) (MD5) C79C8144803A21328C7FE025DA9B688C (SHA1) 540237E766C8E02276F7A62FA7D1FE8A9B996488

    4. 파일의 시간정보(MAC) - [ USB / 생성한 가상디스크의 경우 시간값 다름] File Created : 2024-10-16 09:29:27 (+9:00 대한민국 표준시) Last Accessed : 2024-10-16 09:29:27 (+9:00 대한민국 표준시) Last Written(Modified) : 2017-02-19 13:29:16 (+9:00 대한민국 표준시)

    5. 시작 섹터 번호: 18,576 섹터 - [ USB / 생성한 가상디스크의 경우 시간값 다름]

    6. 데이터 클러스터 번호: 2,306 클러스터 - [ USB / 생성한 가상디스크의 경우 시간값 다름]

  3. pslist2.exe

    1. 파일명: pslist2.exe

    2. 파일 경로: Users/SysinternalsSuite/pslist2.exe

    3. 해시값(MD5, SHA1) (MD5) E798C20CA243E5AB6C459840E089A862 (SHA1) 2CC2E5B3C2162763667F9644C1C72AAC3152EF23

    4. 파일의 시간정보(MAC) - [ USB / 생성한 가상디스크의 경우 시간값 다름] File Created : 2024-10-16 09:29:29 (+9:00 대한민국 표준시) Last Accessed : 2024-10-16 09:29:29 (+9:00 대한민국 표준시) Last Written(Modified) : 2013-03-19 14:19:15 (+9:00 대한민국 표준시)

    5. 시작 섹터 번호: 214,784 섹터 - [ USB / 생성한 가상디스크의 경우 시간값 다름]

    6. 데이터 클러스터 번호: 26,832 클러스터 - [ USB / 생성한 가상디스크의 경우 시간값 다름]

  4. FileZilla Server.log

    1. 파일명: FileZilla Server.log

    2. 파일 경로: Program Files/FileZilla Server/Logs/FileZilla Server.log

    3. 해시값(MD5, SHA1) (MD5) 3ACFA38EC73E7208E0F6A086B59E9A61 (SHA1) 4CD33039127C223822E85F4C08ED227635CFA0C7

    4. 파일의 시간정보(MAC) - [ USB / 생성한 가상디스크의 경우 시간값 다름] File Created : 2024-10-16 09:29:29 (+9:00 대한민국 표준시) Last Accessed : 2024-10-16 09:29:29 (+9:00 대한민국 표준시) Last Written(Modified) : 2019-05-23 15:32:33 (+9:00 대한민국 표준시)

    5. 시작 섹터 번호: 247,280 섹터 - [USB / 생성한 가상디스크의 경우 시간값 다름]

    6. 데이터 클러스터 번호: 30,894 클러스터 - [ USB / 생성한 가상디스크의 경우 시간값 다름]

  1. 유출과정에 대해 관련된 모든 내용을 서술 하시오.

    • 이번 연습에서는 완벽하게 유출과정을 증명하는 것은 사실 어려울 것 입니다. 당연하게도 파일질라라는 FTP 서버를 설치한 윈도우 관련 아티팩트 관련도 없이 오로지 파일만 있기 때문입니다.

    • 파일들이 저장된 것을 살펴보면 몇몇 파일을 고의로 확장자를 변경하였으며, 이 파일들이 FTP 서버를 통해 외부에서 다운로드 한 흔적으로 보이는 로그를 함께 발견한 것 입니다.

사실 이 연습 문제는 약 10년전 초기 실기 문제 수준의 문제를 변형하여 제작한 것으로, 중요한 연습 목표는 사실 직접 증거분석 대상 저장매체(가상디스크/USB)를 만들고 사본 이미지 생성부터 파일시스템 복구, 간단한 분석까지 해보는 것 입니다. 이러한 과정이 기본 과정이며, 실전 연습 문제에서는 보다 많은.. 그리고 기출문제 유형을 참고하여 제작한 문제를 해결 연습을 위해 제작하고 있습니다. 사본 이미지 획득, 파일시스템 복구까지 반복 연습을 통해 최대한 빠르게 분석도구에 이미지를 추가하는 것을 목표로 반복연습 하는 것을 추천합니다. 앞으로 제가 제작한 연습 문제에는 이러한 과정을 무조건 포함하고 있습니다. (실제 시험에서는 파일시스템 복구가 없을 수도 있습니다.)

Last updated