2-2) 물리이미징(raw) 실습
Last updated
Last updated
이전 페이지에서 실습한 가상 디스크 사용법 : 2-1) 가상 디스크 설정
이전 시간에 만들어둔 "test"만 저장되어 있는 가상디스크 이미지 [생성하기 어려울 경우 아래 가상디스크활용] 만약 가상디스크가 인식이 되지 않는 경우 눈으로만 따라하셔도 됩니다.
동일하게 실습 할 수 있는 가상 디스크
우선 이전에 생성한 가상 디스크가 증거 USB라고 생각하고, 물리 이미징을 해보도록 합시다.
우선 해당 가상 디스크를 인식
또는 vhd 파일 우클릭 - 탑재를 하여 연결
당연하게도 현재 우리가 인식한 가상디스크에는 아무런 데이터 없이 오직 test 아스키코드에 해당하는 데이터만 저장해 두었기 때문에 에러가 날 수 있습니다. 깔끔하게 무시해줍시다.
HxD를 관리자권한 으로 실행
[도구] - [디스크 열기] 에서 인식한 가상디스크를 선택하고 읽기전용 체크를 한 뒤 수락합시다.
Ctrl + A를 눌러 전체 선택을 한 뒤 [복사]
파일 - 새로 만들기 또는 를 눌러 새 파일을 만들고 Ctrl + V 붙여넣기 한 뒤 저장
원하는 파일명, 원하는 확장자로 저장 주로 물리이미징 파일의 확장자는 Raw, DD, 001 등을 쓰긴하나.. 당연하게도 정해진 것은 없습니다. 다만 본인이 이것은 어떤 방식으로 물리이미징을 이용하여 생성한 이미지 파일임을 인지하고 있어야 합니다. (아직은 확장자에 관해 고민하지 말도록 합시다.)
추가로.. 위의 이미지를 해시값을 획득해봅시다. (아래는 참고만 하자. 실습까지 할 필요는 없습니다.)
PowerShell의 get-filehash 로 획득 해당 폴더에서 shift + 우클릭 후 [여기에 PowerShell 창 열기]
이후 아래 명령어 실행하여 hash.txt 에 결과 저장 > get-filehash "파일명" -algoritm md5 > hash.txt
chatGPT를 이용하여 파이썬 소스로 만들어서 확인 (간단하게 파일 "파이썬으로 해시 계산해주는 소스 알려줘" 를 통해 만든 파이썬 소스로 계산 *전에 Hex Viewer로 만든 소스는 너무 느려서 사용 불가.
당연하게도 디스크 드라이브에 해시값과, 위에서 생성한 물리이미징 파일의 해시값은 동일해야 무결성을 담보할 수 있기 때문에 해시값 획득은 필수입니다.
이전 준비사항에서 설치한 FTK Imager를 활용해볼 것이다.
FTK Imager는 상당히 사용이 편리한 무료 이미지 획득 도구이며 기본적인 파일시스템 분석도 잘 해주어, 추후에 계속 활용하는 도구입니다.
먼저 FTK Imager를 관리자 권한으로 실행.
File - Create Disk Image 를 선택 한 뒤 Physical Drive 선택 후 우리가 연결한 가상디스크를 선택
Create Image 창에서 Add 를 선택 후 Raw (dd) 를 선택. 기본적으로 Raw는 bit 전체를 압축 없이 그대로 복사합니다. 다른 옵션은 공부를 하다보면 자연스럽게 알게 되기 때문에 우선은 확실히 이해하고 있는 부분만 실습하도록 합시다. 추후 Evicence Item Information은 모두 빈값으로 두고 다음
저장할 경로, 저장하려는 파일명을 지정 그리고 Image Fragment Size 에서 분할하여 저장할 용량을 설정 할 수 있습니다. 우리 이미지는 용량이 적은편 이므로 0으로 지정하고 Finish 하도록 합시다.
Verify images after they are created. 말그대로 물리이미지 만들고 잘 만들어 졌는지 재확인합니다. 즉, 이미지 파일에 대한 해시값 계산을 하게 되는 것입니다. 실제 물리이미지 파일의 경우 매우 용량이 크기 때문에 해시값 계산이 오래 걸립니다. 다만 우리가 설정한 저장매체의 용량은 작으니 체크하고 진행하도록 합시다. (디지털포렌식 2급과 같이 시간이 부족한 경우에는 잘 하지 않는 옵션이나 언제 써야 하는지 정확히 이해하고 사용하도록 합시다. )
아래와 같이 진행상황이 나오며 환경에 따라 다르지만 최근 정말 넉넉하게 잡아서 대략적으로 1GB에 1분 정도 소모되는 것 같습니다. (SSD냐, HDD냐, USB 2.0이냐, USB3.0이냐, C타입이냐 등등 다양한 요소로 속도 차이가 나니 이러한 인터페이스를 잘 알고 있으면 물리이미징 획득을 조금이라도 빨리 하는데 도움이 됩니다.)
이미지 파일을 생성한 경로를 확인하면 물리 이미지 파일이 생성되어 있으며, txt로 로그가 있고 MD5 해시값이 있습니다. (추후에 보다 상세히 살펴보도록 하자. ) 당연하게도 우리가 정상적으로 물리이미징을 했다면 위에서 수동으로 물리이미징한 해시값과 동일할 것입니다.
DD 를 이용한 물리이미지 획득
if : 입력 파일이나 디바이스를 지정
of: 출력(저장)할 파일명
bs : 한 번에 읽고 쓸 블록 크기를 지정합니다. (bytes 용량으로 지정)
bs가 작으면(512 - 1섹터) : 느리지만,세밀한 작업가능, 작은 블록 크기에서 정확한 오류 검출이 용이
bs가 크면(4M) : 데이터 처리 속도가 빨라집니다.
설치가 안되어 있으면 아래 파일 포스팅을 참고하여 다운 받아서 설치
DD.exe - 굉장히 역사가 오래된 데이터 복사 프로그램 [사용법 및 다운로드] DD.exe 가 있는 폴더를 환경변수에 추가하거나, DD.exe 가 있는 폴더에서 명령어를 실행해서 물리이미지 획득
윈도우에서 물리드라이브를 지정할 때는 \\.\PhysicalDrive{번호} 로 지정하며 번호를 확인하는 방법은 여러가지가 있습니다. [디스크 관리] [wmic 명령어를 통해서 확인가능] > wmic diskdrive get DeviceID, Model, Size > wmic diskdrive get DeviceID, Size