ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Jumplist, Prefetch 개념 및 실습
    Digital Forensics/inflearn 2023. 11. 15. 03:35

    개념정리

     

    점프리스트

    점프리스트란?

    최근 사용한 파일/폴더에 빠르게 접근하기 위한 구조

     

     

    종류

    • Automatic : 운영체제가 자동으로 남기는 항목
    • Custom : 응용프로그램이 자체적으로 관리하는 항목

     

    경로

    • %UserProfile%\AppData\Roaming\Microsoft\Windows\Recent\AutomaticDestinations
    • %UserProfile%\AppData\Roaming\Microsoft\Windows\Recent\CustomDestinations

     

    Prefetch

    • 응용프로그램의 빠른 실행을 위해서 존재하는 파일
    • 응용프로그램을 실행할 때에 생성됨

    -실행 파일 이름, 경로 알 수 있음

    -실행 파일의 실행 횟수

    -실행 파일의 마지막 실행 시간(마지막뿐만 아니라 최근 몇개들도 남아있음)

    -실행 파일의 최초 실행 시간

     

     

     

     

    실습 과정

    Jumplist

    FTK Imager 이용하여 추출

    • %UserProfile%\AppData\Roaming\Microsoft\Windows\Recent\AutomaticDestinations
    • %UserProfile%\AppData\Roaming\Microsoft\Windows\Recent\CustomDestinations

     

    JumpList Explorer 이용하여 분석

     

     

     

     

    FTK imager 실행 → Add Evidence Item → Logical Drive → 저번 lnk 실습 때처럼 기본 그대로 두고 finish → 위의 경로 찾아가서 AutomaticDestinations랑 CustomDestinations 둘 다 선택해서 export files → 바탕화면 lnk_jumplist 폴더에 추출 → 추출된 거 보기 전에 저거 두 개 ftk imager에서 각각 들어가보면 처음 보는 확장자명으로 파일 엄청 많음

     

     

     

     

     

     

    위에 링크 들어가서 JumpList Explorer 왼쪽꺼 1.4.0.0 다운로드 → 바탕화면 lnk_jumplist 폴더에 압축풀기 → 들어가서 JumpListExplorer.exe 실행 → file → Load jump lists → 파일 선택은 아까 추출했던 AutomaticDestinations 폴더랑 CustomDestinations 폴더 각각 들어가서 Ctrl+A로 전체선택 후 열기 → 조금 에러 뜨는 건 무시 → App ID별 jumplist가 남게 됨, App ID Description 보면 알려진 App ID들은 표시를 해주는데 안 알려주는 unknown AppId 같은 건 도구도 그게 무슨 응용프로그램에 대한 점프리스트인지를 모른다는 것(실제로 남는 게 App ID라서 App ID Description이 안 남을 수 있음) → 가운데 부분에서 하나 누르면 좌측 하단 부분이 바뀌는데, 좌측은 하나하나가 다 lnk들(윈도우 작업표시줄에서 아이콘 우클릭했을 때 최근 사용한 목록들 뜨던 것들 포함) → 이 중에서 lnk 하나 클릭하면 우측 하단 부분이 바뀌는데, 이때 뜨는 건 지난 바로가기 실습 때 LECmd.exe로 분석했을 때와 같음 → 또는 가운데 부분에서 하나 클릭해놓고 file-export-lnk files 누르고 경로는 바탕화면 lnk_jumplist 밑에 'lnk_export'라는 새폴더 만들어서 선택 → lnk_export 폴더 들어가보면 좌측 하단 부분에 있던 lnk들이 다 추출되어있음 → 이걸 분석하려면 LECmd.exe를 이용해서 이 디렉토리 전체를 지정해서 분석 or JumpList Explorer의 좌측 하단 부분에서 하나하나 봐도 됨

     

     

     

    Prefetch

     

     

     

    위 링크 접속 → 쭉 내려서 Download WinPrefetchView (64-bit) → 바탕화면 ProgramExecution 폴더에 압축 풀기 → 생성된 폴더 들어가서 WinPrefetchView.exe 실행 → 알아서 컴퓨터에 프리패치들 불러옴(But 이 프로그램 실행함으로써 컴퓨터가 변하게 되어서 무결성 훼손 →  write blocker 쓰기방지 장치 달아서 usb내에서 이거 담아와서 실행 or cmd에서 옵션과 함께 WinPrefetchView.exe 실행하면 이 프리패치 파일들을 별도로 수집해서 열어줌) → 파일탐색기로 위의 프리패치 경로 가보면 pf 확장자 파일들이 있는 걸 볼 수 있음(이 파일들을 WinPrefetchView.exe가 자동으로 수집해서 가져오는거임) → 이 프로그램에서 실행했던 거 하나 더블클릭하면 위 사진과 같이 properties 창이 뜸  → 이름, 경로, 생성/변경 시간, 실행 횟수, 마지막 런타임 등을 알 수 있음(마지막 런타임은 딱 마지막 하나만 나오는 게 아닌, 최근 런타임 몇개 같이 나옴)

     

    *예를 들어 악성 프로그램을 분석한다면 삭제/변경 여부와 상관없이 여기서 실행됐던 모든 응용프로그램의 정보들을 알 수 있어서 유용함 → 처음에 프리패치로 한번 보고 MUICache, AmCache & ShimCache 등으로 교차검증을 해서 어떤 사람이 어떤 응용프로그램을 실제로 이때 실행한 게 맞는지 등을 체크하면 됨

     

     

     

     

    새로 알게 된 것

    지난 lnk 실습을 하면서 jumplist는 뭘까 생각하고 있었는데 이렇게 lnk와 밀접한 연관이 있는 줄은 몰랐다. 그리고 Prefetch도 오늘 처음 공부해 보았는데 설명해주신 강의 내용이 재밌고 유익해서 전체적인 개념 이해가 빠르게 잘 되었다. 강의 마지막 부분에서는 배운 툴로 악성 프로그램을 분석할 때의 꿀팁도 알게 되었다.

     

     

     

     

     

    https://www.inflearn.com/course/%EA%B8%B0%EC%B4%88-%EB%94%94%EC%A7%80%ED%84%B8-%ED%8F%AC%EB%A0%8C%EC%8B%9D

     

    [무료] 기초부터 따라하는 디지털포렌식 - 인프런 | 강의

    기초부터 따라하는 디지털포렌식 강의입니다. 강의를 따라하다보면 "물 흐르듯, 자연스럽게" 실력이 늘어가는 강의를 추구합니다., 초보자 눈높이에 딱 맞춘, 원리를 이해하는 디지털포렌식 입

    www.inflearn.com

     

     

    본 글은 위의 인프런 강의를 듣고 작성하였습니다.

     

Designed by Tistory.