- 혹시나 디지털 포렌식 전문가 2급 시험을 준비하는 사람들은 아래 게시물도 추가로 참조하길 바란다
https://isc9511.tistory.com/182
- 추가적으로 Linux OS 계통 Memory Forensic의 정보가 필요하신 분들은 아래 글을 참조하길 바란다
(Kernel로 인해 윈도우처럼 쉽게 메모리 덤프를 분석하기가 불가능한 구조)
https://isc9511.tistory.com/178
* Windows Memory Forensic
- 메모리는 우선 휘발성 정보 저장소라고 보면된다. (입출력 장치의 빠른 데이터 교환을 위한 장치)
- 즉, 활성 상태에서 메모리 덤프를 확보할 수 있어야 전원이 종료되더라도 분석할 메모리의 정보를 추출해서 확인할 수 있다
- 대표적인 활성 정보로, 포렌식 영역에서 확보 및 분석 우선 순위가 높은 편
(단, 포렌식 시험에서는 나온적은 없다. 하지만 제공 툴에 지속적으로 언급이 되어 향후에 한번은 나올 수 있는 점 유의 바란다)
* Forensic Dump 도구
- 윈도우는 정말 Memory Forensic 과정이 간단하고 오류가 날 일이 거의 없다
- Dumpit라는 툴로 단순히 프로그램 실행 후, 메모리 덤프가 가능하다
- 또는 FTK Imager에서 메모리 덤프 하는 기능이 있기 때문에 어려운 부분은 없다
- 이외 .dmg(MacOS), .vmem(Virtual Machine), .img(Disk Dump 포함) 등의 확장자가 있으나 분석 자체에는 큰 차이가 없어 Windows 환경에서는 필수적으로 알아야 할 부분은 아니다
- 다만, 최근 가상화 기기 사용이 많아졌기 때문에 .vmem 정도는 추가로 알면 좋으며 해당 파일은 가상 머신 구동을 일시 정지 한 상태에서, 해당 OS가 설치된 폴더(Vmware 기준 .vmdk)로 가보면 .vmem 파일이 생성되어 있는 것을 확인할 수 있다
* Volatility 2.x
- 사실 최근 3 버전이 잘 사용되는 상황에서 굳이 2.x 버전을 사용해야 하는가 의문이긴 하다
- 시험에서는 2.x 버전만 허용되는 도구이며, 사실 '프로파일' 확인 과정의 유/무만 차이 날 뿐이지 거의 차이가 없긴 하다
- 플러그인 조회 구문도 2.x와 3.x 다르지만 핵심 조회 내용은 동일하니 둘중 하나만 잘 쓸줄 알아도 거의 똑같다고 보면 된다
- 명령어 형식은 vol.exe -f [분석 대상 파일 이름] [플러그인 이름]
명령어 | 설명 |
imageinfo | * OS 등 기본 정보(프로파일) 확인 명령어 - 특히 Volatility 2.x 버전에서는 필수 선행 명령어이다 - Image Info로 확인된 Profile은 매번 다른 플러그인 조회시에도 명령어에 적용이 필요함 |
pslist | * 해당 메모리 캡처 순산까지 작동중이던 모든 프로세스 리스트를 시간 순으로 출력
- offset : offset 번호 - Name : 프로세스 이름 - PID : ProcessID - PPID : Parent ProcessID |
pstree | * pslist 명령어를 트리 형태로 출력 - 마침표(.)의 갯수로 트리 구성 식별이 가능 |
psxview | * 여러 플러그인과 결과를 비교하여, 숨겨진 프로세스 식별에 사용되는 명령어 - pslist 값이 False인데, psscan값이 True인 경우, 숨겨진 프로세스일 가능성이 존재 |
netscan | * 네트워크 연결 정보를 확인 - Win7 이전 버전의 메모리 덤프 분석에서는 Connections와 Conscan으로 지정해야 netscan 결과값을 볼 수 있음(거의 확인할 일은 드물다고 생각함) |
envars | * 프로세스 환경 변수 확인 - CPU 수 - 하드웨어 아키텍처 - 프로세스 현재 디렉토리 - 임시 디렉토리 - 세션 이름 - 컴퓨터 이름 - 유저 이름 등 |
cmdline | * 프로세스 실행 시, 인자값 확인 - 인자값(Argument) : 커맨드가 작동할 대상을 지정할 때 사용 / 옵션값 : 커맨드가 구체적으로 어떤 방식으로 동작할지 지시할 때 사용 |
dllist -p [PID] | * 특정 프로세스가 사용하는 dll 리스트 확인 |
procdump | * 특정 프로세스의 실행 파일을, 파일로써 추출 - D 옵션 : 덤프할 파일의 저장 위치 지정 |
memdump | * 특정 프로세스의 메모리 영역을 파일로 추출 |
- 위의 각각의 명령어는 보통 커맨드 라인에서 결과값의 가독성이 떨어지기 때문에, 별도 파일로 추출하여 다른 뷰어 툴에서 확인한다(Notepad++ 등)
- 각 플러그인의 결과값에 대해 특정 문자열을 타겟팅 하는 경우면 명령어 최후미에 "| findstr 찾을문자열"을 입력해서 확인
- 이외는 어떤 정보를 찾으며 증거물의 범위를 순차적으로 좁혀갈 지, 고민하면서 사용하면 큰 어려움은 없는 영역이다
'Information Security > Digital Forensic' 카테고리의 다른 글
[Digital Forensic] Windows Timeline (With DB Browser for SQLite) (0) | 2024.10.08 |
---|---|
[Digital Forensic] NTFS Log Tracker (1) | 2024.09.27 |
[Digital Forensic] Prefetch (0) | 2024.09.27 |
[Digital Forensic] Jump List (0) | 2024.09.26 |
[Digital Forensic] 네트워크 정보 확인 (0) | 2024.09.26 |