선릉역 1번 출구
Window Artifacts(1) 본문
아티팩트란?
디지털 포렌식에서 아티팩트의 의미는 운영체제나 애플리케이션을 사용하면서 생성되는 흔적을 의미
시스템에 생성되는 증거
- 생성 증거: 시스템이나 애플리케이션이 자동으로 생성한 데이터 -> 레지스트리, 이벤트 로그 등
- 보관 증거: 사람의 사상이나 감정을 표현하기 위해 작성한 데이터 -> 블로그 작성 내용
생성 증거는 보관 증거와는 달리 전문 법칙이 적용되지 않아 증거로의 가치가 높음
(http://forensic-proof.com/archives/3710)
대표적인 아티팩트
1. LNK 파일
- 특정 응용 프로그램 실행시 바탕화면에 자동으로 생성되는 파일
- 사용자가 바로 가기 만들기를 하였을 때 생성되는 파일
- 로컬 및 원격 데이터 파일 및 문서를 열기 했을 때 생성되는 파일
- 바탕화면 외에도 최근 문서 폴더, 시작 프로그램, 빠른 실행 등 다양한 곳에 생성됨
2. Jumplist(http://forensic-proof.com/archives/1904)
- Windows 7에서 새롭게 추가된 아티팩트
- 작업 표시줄에 표시되는 아이콘을 우클릭 시 최근 항목, 자주 사용하는 항목 등이 바로 점프리스트임
- 응용 프로그램별로 그룹화되어 있음
- 사용자가 자주 사용하거나 최근에 사용한 문서 or 프로그램을 관리하는 링크 파일임
-> 문서, 프로그램 실행 유무
-> 자주 사용하는 문서, 프로그램 정보
-> 최근에 사용한 문서, 프로그램 정보
-> 사용자의 행위 파악
경로
1. %UserProfile%\AppData\Roaming\Microsoft\Windows\Recent
2. %UserProfile%\AppData\Roaming\Microsoft\Windows\Recent\AutomaticDestinations
- 운영체제가 자동으로 남기는 항목으로 최근 사용한 목록(recent)이나 자주 사용되는 목록(frequent)임
3. %UserProfile%\AppData\Roaming\Microsoft\Windows\Recent\CustomDestinations
- 응용프로그램이 자체적으로 관리하는 항목으로 작업(task) 목록임
*각 파일의 이름은 무작위 값이 아닌 응용프로그램별로 고유한 값을 가짐 -> 총 610개의 점프 파일이 데이터 테이블에 업데이트 됨(https://github.com/EricZimmerman/JumpList/blob/master/JumpList/Resources/AppIDs.txt)
3. Shellbags
- 사용자가 로컬, 네트워크 및 이동식 저장 장치에서 접근한 폴더 정보를 Shellbags 레지스트리에 기록
-> 사용자가 특정 폴더에 접근한 시간 정보 확인
-> 존재하는 폴더의 삭제/덮어쓰기에 대한 증거 추적
-> Explorer를 통한 폴더 접근에 대한 MAC 타임 추적
BagMRU: 폴더 이름과 레코드 폴더 경로 저장
Bags: 보기 기본 설정(창 크기, 위치 및 보기 모드) 저장
4. Open / Save MRU
Windows XP 의 OpenSaveMRU -> Windows Vista부터 OpenSavePidMRU로 변경됨
- Windows 탐색기 공용 대화 상자를 통해 최근에 열거나 저장된 파일 정보 저장
- Web browsers 및 Applications을 통해 열거나 저장한 파일 정보 저장
- 파일의 확자 별로 그룹화
-> 사용자가 최근에 열거나 저장한 파일 확인
하위 키는 확장자 별로 그룹화가 이루어져 있음, 최근에 열거나 저장된 파일이 저장되어 있음
5. Recent Files
- 사용자가 Windows 탐색기를 통해 열거나 실행한 파일, 폴더 정보 저장
- 최근 문서[recent]와 동일하지만 확장자별로 그룹화
-> 사용자가 열거나 실행한 파일, 폴더 확인
-> 문서, 폴더 실행 유무 확인
-> 사용자의 행위 파악
HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\RecntDocs
NTUSER.DAT\Software\Microsoft\Windows\CurrentVersion\Explorer\RecntDocs
MRUListEx를 통해 실행 순서 확인 가능
06 -> 1C -> 78 ...
6. UserAssist(http://blog.plainbit.co.kr/archives/3649)
- 최근에 실행한 프로그램 목록, 마지막 실행 시간, 실행 횟수 등이 기록됨
- 각 사용자의 NTUSER.DAT 레지스트리 파일에 응용 프로그램의 실행 횟수가 저장
-> 최근 실행한 응용프로그램 이름, 목록 확인
-> 마지막으로 실행한 응용프로그램 시간
-> 응용프로그램 실행 횟수
HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\UserAssist
NTUSER.DAT\Software\Microsoft\Windows\CurrentVersion\Explorer\UserAssist
*GUID(globally unique identifier): 응용 소프트웨어에서 사용되는 유사 난수로 항상 유일한 값이 만들어진다는 보장은 없지만 수가 매우 크기 때문에 같은 숫자를 두 번 생성할 가능성은 매우 적음
레지스트리 접근시 운영체제별로 GUID 기반의 키가 존재하는데 아래 2가지를 주목해서 봐야함
Windows 7 / 8 / 10 / 11 | { CEBFF5CD-ACE2-4F4F-9178-9926F41749EA }\Count -> 실행파일 실행 기록 { F4E57C4B-2036-45F0-A9AB-443BCFE33D9F }\Count -> 바로가기 실행 기록 |
값의 이름은 ROT13으로 인코딩되어 있음
참고 사이트
'Hacking & Security > Digital forensics' 카테고리의 다른 글
모바일 포렌식 (0) | 2022.12.12 |
---|---|
라이브 포렌식 (2) | 2022.12.11 |
Remind) FAT 구조 (0) | 2022.12.11 |
디지털 포렌식 기본 원칙 (0) | 2022.12.10 |
Window Artifacts(2) (0) | 2022.11.30 |