일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- CFReDS
- 포렌식
- ISMS-P 인증심사원
- TSK
- ISMS
- AWS EKS
- k8s
- AWS Elasticsearch
- 정보보안
- 해킹
- The Sleuth Kit
- forensic
- 모의해킹
- AWS EKS Udemy
- AWS
- 정보보안기사 실기
- iam
- AWS 쿠버네티스
- 쿠버네티스
- 보안
- artifacts
- hacking case
- 정보보안기사
- SMS-P 인증 기준 안내서 요약
- Autopsy
- isms-p
- AWS Opensearch
- 보안기사
- kubernetes
- 실습
- Today
- Total
Always-Try(정보보안 및 일상)
포렌식/윈도우 - Windows 10 Artifacts 개요 (추출 실습 포함) 본문
본 게시글은 인프런 '맥으로 배우는 윈도우즈 포렌식'를 참고하여 작성했습니다. (www.inflearn.com/course/forensic-2/dashboard)
#1. Windows 10 Artifacts 수집 (수동)
1-1. Artifacts 란?
인공물, 유물이라는 의미를 가지며 디지털 포렌식에는 증거물 정도로 생각하면 될 것 같다.
1-2. Artifacts List
- Prefectch:
- 시스템이 프로그램을 동작시킬 때 필요한 정보를 빨리 찾을 수 있는 위치
- 경로 :: /Windows/Prefetch/ - Eventlog
- 시스템이 동작하는 행위들을 기록
- 경로 :: /Windows/system32/Winevt/Logs/ - Webhistory(EDGE/IE)
- 웹을 사용했을 때 발생하는 정보
- 경로 :: /Users/user_name/AppData/Local/Microsoft/Windows/WebCache/ WebCacheV01.dat - Amcache.hve
- 최근 실행한 파일들의 정보
- 경로 :: /Windows/appcompat/Programs/Amcache.hve - Link File
- 바로가기 파일
- 경로 :: All Link File(LNK) in Volume - Recycle.bin
- 휴지통
- 경로 :: /$Recycle.Bin - Downloads
- 다운로드 폴더
- 경로 :: /Users/user_name/Downloads/ - NTFS meta files
- 경로 :: $MFT, $Logfile, $UsnJrnl - Hibernation file
- 잠자기 모드의 기록을 저장하는 곳
- 경로 :: Hiberfil.sys - Registry
- 윈도우 레지스트리. 시스템의 설정을 기록
- 경로 :: /Windows/System32/config/DEFAULT
경로 :: /Windows/System32/config/SAM
경로 :: /Windows/System32/config/SECURITY
경로 :: /Windows/System32/config/SOFTWARE
경로 :: /Windows/System32/config/SYSTEM
1-3. The Sleuth Kit(TSK)을 통한 Artifacts 추출
The Sleuth Kit의 fls 명령어는 디스크를 대상으로 파일의 메타데이터를 확인해서 디렉토리 및 파일들에 대한 정보를 추출하는 명령어이다. 이를 통해 Artifacts들을 추출해보자.
(참고로 FTK Imager로 디스크를 e01 형태로 추출하고 mac에서 read-only로 마운트 방법은 아래 게시글 참고
2021/01/18 - [Forensic] - 포렌식 기초 - Disk Image, Imaging and mounting, hash)
fls -h -p -r -m '' -z Asia/Seoul /dev/disk2s1 > disk2s1.fls ➡ -h :: Include MD5 checksum hash ➡ -p :: Display full path for each file ➡ -r :: Recurse on directory entries ➡ -m ‘’ :: the actual mount point of the image (여기서 ''는 쌍따옴표 아니고 싱글쿼터 2번) ➡ -z Asia/Seoul :: Time zone of original machine ➡ > disk2s1.fls :: 출력 값을 diusk2s1.fls 로 저장 (system output) |
※ mac에서 fls 진행 시, 아래와 같은 에러가 발생하면서 실패.
왜? 구글에 그 답이 있다. (apple.stackexchange.com/questions/104315/error-opening-image-file-in-terminal)
TSK로 raw data에 접근하기 위해서는 해당 data가 마운트 되어 있으면 안된다고 하여, umount 후 진행 성공!
1-4. awk를 이용한 변수 필터링
Artifacts들을 추출했다면, awk를 통해 가공하여 원하는 정보만 추출하자. awk는 탐색과 처리를 위한 명령어로 간단하게 파일에서 원하는 항목에 대해서 추려내고 가공하여 결과물을 만들어내는 유틸리티이다.
awk -F '|' '{print $2","$3}' disk2s1.fls > disk2s2.awk • -F '|' :: 구분자를 지정한다. 현재는 | 를 구분자로 한다. • '{print $2","$3}' | 구분자로 나누어진 2번째, 3번째 column 을 출력한다. |
1-5. egrep을 이용한 매칭 필터링
여기서 다시 egrep을 이용하여 원하는 경로가 포함되어 있는 행만 필터링 한다. egrep은 문자열을 지정한 패턴으로 추출하는 리눅스 명령어이다.
egrep -i '/Windows/system32/Winevt/Logs/' disk2s1.awk • -i :: Case Insensitive Matching => 대소문자를 가리지 않는다. • 경로 부분에 Artifacts 들의 경로를 하나씩 넣어주면 된다. |
1-6. icat과 file을 이용한 파일 추출 및 확인
그리고 The Sleuth Kit의 icat 명령어를 통해 파일을 추출한다. icat은 Inode 값을 전달해주면 해당 Inode에 해당하는 파일을 추출할 수 있게 도와주는 명령어이다.
icat /dev/disk2s1 64101-128-4 > Application.evtx • inode에 해당하는 파일 추출 file Application.evtx • file 명령어를 통해 추출된 파일 확인 가능 |
위와 같이 수동으로 진행한 결과를 가지고 있으면 분석에 큰 도움이 된다. 하지만 매번 수동으로 진행하기에는 너무 많은 리소스가 소요되기 때문에 파이썬 코드로 짜서 가지고 있는 것이 좋다. 강의에서는 The Sleuth Kit의 fls 명령어 이후의 작업들을 자동화 한 artifactsExtracter.py를 확인할 수 있다. 그리고 정규 표현식이 많이 쓰이니, 이참에 알아두면 좋다.
(매번 공부해도 안쓰니까 계속 까먹는다. ㅠㅠ)
#2. Windows 10 Artifacts 수집 (파이썬)
2-1. artifactsExtracter.py
이것은 #1의 '1-3. The Sleuth Kit(TSK)을 통한 Artifacts 추출'에서 추출한 fls 파일을 대상으로 그 이후의 작업들을 수동으로 진행하는 코드이다. 코드에 대한 자세한 설명은 생략하고 실행 결과에 대해서만 정리한다.
코드를 실행하면 아래와 같이 result라는 폴더에 결과가 남는다. 필터링 조건 변경은 코드 내에서 얼마든지 가능하다.
참고로 위 코드를 실행하기 위해서는 2개의 인자 값이 필요하다. 첫번째는 E01에서 추출한 fls 파일, 두번째는 E01으로 생성한 디스크 이미지의 경로이다. fls 파일 생성은 본 게시글의 상단을 참고하고, 디스크 이미지 경로 생성은 아래 그림의 1~4번을 모두 진행하면 된다. (주의! 마운트는 안해도 되므로 4번 과정의 명령어가 nomout로 되어 있다.) 사실 위에 다 있는 내용이긴하다.
끝.
'Forensic' 카테고리의 다른 글
포렌식/윈도우 - Windows 10 Artifacts - Web History (0) | 2021.02.27 |
---|---|
포렌식/윈도우 - Windows 10 Artifacts - Prefetch (0) | 2021.02.27 |
포렌식 기초 - Slack Space 추출 (0) | 2021.02.27 |
포렌식 기초 - 삭제된 파일 복구 (0) | 2021.02.27 |
포렌식 기초 - FAT32 and NTFS - 실습편 (with 010 Editor) (0) | 2021.02.27 |