저널링(jounaling)
데이터 변경을 디스크에 반영하기 전에 행위를 기록하여 추후 오류 복구에 활용
• 데이터를 기록하는 동안 시스템에 문제가 생기면 데이터가 손실됨
• 문제가 발생하기 전에 “어떤 데이터를, 언제, 어디에 쓰는지” 기록
• 문제가 발생하면 기록을 토대로 작업이 이루어지기 전 상태로 시스템을 복원
트랜잭션(Transaction)
"쪼갤 수 없는 업무 처리의 최소 단위”
파일이나 디렉토리 생성, 수정, 삭제, MFT 레코드 변경 등
$LogFile : 메타데이터의 트랜잭션 저널 정보
$UsnJrnl
• 파일이나 디렉토리에 변경 사항이 생길 때 이를 기록하는 로그 파일
• 파일 복원의 목적이 아니라, 단순 파일 작업이 있었다는 사실을 확인하기 위함
• 시간 순서대로 엔트리를 저장하고, 기본 크기는 32MB
• 하루 8시간 사용시 4~5일 정도의 데이터를 저장하고 있음
NTFS Log Tracker에 $LogFile과 $J 파일을 넣고 결과 db를 생성하고 db browser로 확인
파일 생성, 변경, 삭제, 접근 시간 등에 대한 기록 정보 확인 가능
기록 전체를 살펴보는 것이 아니라 선행 분석 결과를 갖고 검색하거나 특정 시간대의 기록을 확인
바로가기(LNK)
'Windows Shortcut’ 라고 칭함
.lnk 확장자
생성하는 방법 : 사용자가 직접 생성, 프로그램 설치 시에 생성, 운영체제가 자동으로 생성
자주 생성되는 위치
바탕 화면
• %UserProfile%\Desktop
시작 메뉴
• %ProgramData%\Microsoft\Windows\Start Menu
• %UserProfile%\Appdata\Roaming\Microsoft\Windows\Start Menu
최근 실행
• %UserProfile%\AppData\Roaming\Microsoft\Windows\Recent
빠른 실행
• %ProgramData%\Microsoft\Internet Explorer\Quick Launch
• %UserProfile%\AppData\Roaming\Microsoft\Internet Explorer\Quick Launch
• %UserProfile%\AppData\Roaming\Microsoft\Internet Explorer\Quick Launch\User Pinned\TaskBar
FTK Imager 이용하여 추출(root에서 아래 경로 내 바로가기 폴더 가져옴)
• %UserProfile%\Desktop
• %UserProfile%\AppData\Roaming\Microsoft\Windows\Recent <- 디렉토리 전체 추출도 가능
LECmd 이용하여 분석
• https://ericzimmerman.github.io/#!index.md
lnk 정보로 드라이브 볼륨 일련번호를 알 수 있어 증거 효력 가질 수 있음
Jumplist
점프리스트 : 최근 사용한 파일/폴더에 빠르게 접근하기 위한 구조
종류
• Automatic : 운영체제가 자동으로 남기는 항목
• Custom : 응용프로그램이 자체적으로 관리하는 항목
경로
• %UserProfile%\AppData\Roaming\Microsoft\Windows\Recent\AutomaticDestinations
• %UserProfile%\AppData\Roaming\Microsoft\Windows\Recent\CustomDestinations
FTK Imager 이용하여 추출
• %UserProfile%\AppData\Roaming\Microsoft\Windows\Recent\AutomaticDestinations
• %UserProfile%\AppData\Roaming\Microsoft\Windows\Recent\CustomDestinations
JumpList Explorer 이용하여 분석
• https://ericzimmerman.github.io/#!index.md
app id별로 살펴볼 수 도 있고, 하단에서 각 app들의 lnk 목록을 볼 수 있다.
응용프로그램을 실행했을 때 남는 흔적을 추적할 수 있는 아티팩트
Prefetch
응용프로그램의 빠른 실행을 위해서 존재하는 파일
응용프로그램을 실행할 때에 생성
• 실행 파일 이름, 경로
• 실행 파일의 실행 횟수
• 실행 파일의 마지막 실행 시간
• 실행 파일의 최초 실행 시간
프리패치의 경로 : %SystemRoot%\Prefetch
WinPrefetchView 이용하여 분석 : https://www.nirsoft.net/utils/win_prefetch_view.html
항목별로 클릭하면 실행횟수, 마지막 실행횟수, 수정 시간 등 실행에 대한 상세 정보 확인 가능
프로그램 삭제나 경로 변경 여부와 상관 없이 프리패치 기록은 유지된다.
MUICache
Windows에서 다중 언어를 지원하기 위해 존재하는 캐시
• MUI(Multilingual User Interface)
• 실행 파일 별로, 유저 언어(한국어) 이름을 별도로 저장하고 있음
응용프로그램을 실행하면 캐시에 기록이 남음
• 실행 파일 경로, 이름
• 실행 파일이 삭제되거나, 경로가 변경된 경우에도 기록이 지워지지 않음
MUICache 경로
• HKCU\Software\Classes\Local Settings\MuiCache
• HKCU\Software\Classes\Local Settings\Software\Microsoft\Windows\Shell\MuiCache
MUICache View 이용하여 분석 : https://www.nirsoft.net/utils/muicache_view.html
시간 정보는 나오지 않지만 다른 도구를 통한 분석 결과를 교차검증 할 때 활용할 수 있다.