윈도우 아티팩트는 윈도우 사용자가 수행한 작업에 대한 정보를 포함하는 개체라고 한다. 또한 아티팩트들은 각기 다른 성격과 유형을 가지고 있으며 운영체제마다 위치도 다르다.
마찬가지로 윈도우 아티팩트에는 사용자의 흔적에 따른 이벤트 및 중요한 정보가 포함되어 있기 때문에 포렌식 분석을 수행할 때 조사관은 특정 아티팩트를 통해 정확한 증거를 찾을 수 있어야 한다.
따라서 다음과 같이 윈도우 아티팩트에 대해 이해하고 발견할 수 있는 위치를 기억하고 분석할 수 있도록 하자.
※ 이 글은 필자 본인이 보기 쉽게 요약 정리 한 글이며, https://www.sans.org/posters/windows-forensic-analysis/ 의 자료를 다운로드하여 참고 후 작성한 글입니다. 또한 아티팩트의 버전은 윈도우 7 이상으로 작성했습니다. 보다 더 자세한 정보는 위의 자료를 참고해주세요! :)
▶ 프로그램 실행 흔적 분석
- UserAssist
: Count키 리스트가 ROT-13으로 인코딩 되어있어 분석하기 위해서는 ROT-13으로 디코딩해야한다.
: 실행파일 실행 기록은 CEBFF5CD 키 값을 가짐
: 바로가기 실행 기록은 F4E57C4B 키 값을 가짐
위치 : NTUSER.DAT\Software\Microsoft\Windows\Currentversion\Explorer\UserAssist\{GUID}\Count - Jump Lists
: 사용자의 최근 및 자주 사용하는 프로그램, 파일을 분석할 수 있다.
: Jump List ID 목록 -> https://dfir.to/EZJumpList
위치 : C:\%USERPROFILE%\AppData\Roaming\Microsoft\Windows\Recent\AutomaticDestinations - Prefetch
: 각 프리패치 파일에는 마지막 실행시간과 횟수가 포함된다.
위치 : C:\Windows\Prefetch - Shimcache
: 윈도우 시스템에서 실행 중인 모든 실행 파일을 찾을 수 있다.
: 특정 malware가 실행된 시스템을 식별할 수 있다. 때문에 침해사고 분석에 활용된다.
위치 : SYSTEM\CurrentControlSet\Control\Session Manager\AppCompatCache - Last-Visited MRU
: 응용 프로그램과 마지막으로 사용된 파일 경로를 추적할 수 있다.
위치 : NTUSER.DAT\Software\Microsoft\Windows\CurrentVersion\Explorer\ComDlg32\LastVisitedPidlMRU - System Resource Usage Monitor (SRUM)
: SRUM 레지스트리는 데이터 보관을 위한 임시 저장 위치이고 데이터는 SRUM.dat 파일에 저장된다.
위치 :
• SOFTWARE\Microsoft\WindowsNT\CurrentVersion\SRUM\Extensions
• C:\Windows\System32\SRU\SRUDB.dat - Windows 10 Timeline
: 30일동안의 사용자의 기록을 확인할 수 있다.
위치 : C:\Users\%USERPROFILE%\AppData\Local\ConnectedDevicesPlatform\<random-name-folder>\ActivitiesCache.db - BAM / DAM
: 시스템에서 실행된 실행 파일의 전체 경로와 마지막 실행 날짜 및 시간을 보여준다.
위치 :
• SYSTEM\CurrentControlSet\Services\bam\UserSettings\{SID}
• SYSTEM\CurrentControlSet\Services\dam\UserSettings\{SID}
▶ 파일 및 폴더 열람 흔적 분석
- Shell Bags
: 사용자가 가장 최근에 탐색한 폴더에 대한 정보를 저장한다.
: NTUSER.DAT은 데스크톱, Windows 네트워크 폴더, 원격 컴퓨터 및 원격 폴더에 대한 ShellBags 정보를 저장
: UsrClass.dat은 데스크톱, zip 파일, 원격 폴더, 로컬 폴더, Windows 특수 폴더 및 가상 폴더에 대한 ShellBags 정보를 저장
위치 :
• USRCLASS.DAT\Local Settings\Software\Microsoft\Windows\Shell\Bags
• USRCLASS.DAT\Local Settings\Software\Microsoft\Windows\Shell\BagMRU
• NTUSER.DAT\Software\Microsoft\Windows\Shell\BagMRU
• NTUSER.DAT\Software\Microsoft\Windows\Shell\Bags - LNK Files
: 바로가기 파일을 이용하여 원본 파일의 정보를 파악할 수 있다.
위치 :
• C:\%USERPROFILE%\AppData\Roaming\Microsoft\Windows\Recent\
• C:\%USERPROFILE%\AppData\Roaming\Microsoft\Office\Recent\ - Recent Files
: [시작] 메뉴의 "최근"의 데이터를 저장하는데에 사용된다.
위치 : NTUSER.DAT\Software\Microsoft\Windows\CurrentVersion\Explorer\RecentDocs - Open/Save MRU
: 사용자가 최근에 열거나 저장한 파일을 확인할 수 있다.
위치 : NTUSER.DAT\Software\Microsoft\Windows\CurrentVersion\Explorer\ComDlg32\OpenSavePIDlMRU - IE|Edge file://
: 인터넷 익스플로러의 사용기록을 분석할 수 있다.
위치 :
• IE6-7 : %USERPROFILE%\Local Settings\History\History.IE5
• IE8-9 : %USERPROFILE%\AppData\Local\Microsoft\Windows\History\History.IE5
• IE10-11 : %USERPROFILE%\AppData\Local\Microsoft\Windows\WebCache\WebCacheV*.dat - Jump Lists
위치 : C:\%USERPROFILE%\AppData\Roaming\Microsoft\Windows\Recent\AutomaticDestinations - Prefetch
위치 : C:\Windows\Prefetch - Last-Visited MRU
위치 : NTUSER.DAT\Software\Microsoft\Windows\CurrentVersion\Explorer\ComDlg32\LastVisitedPidlMRU
▶ 파일 다운로드 흔적 분석
- Email Attachment (이메일 첨부파일)
: 첨부 파일은 MIME/base64 형식으로 인코딩 된다.
: OST 및 PST 파일에서 첨부 파일의 흔적을 찾을 수 있다.
위치 : %USERPROFILE%\AppData\Local\Microsoft\Outlook - Skype History
: Skype는 한 컴퓨터에서 다른 컴퓨터로의 전송된 채팅 세션 및 파일 로그를 보관한다.
위치 : C:\%USERPROFILE%\AppData\Roaming\Skype\<skype-name> - Browser Artifacts
: 각 브라우저의 히스토리에는 링크를 통해 접근한 웹사이트에 파일에 대한 접근 권한이 기록된다.
위치 :
• IE10-11 : %USERPROFILE%\AppData\Local\Microsoft\Windows\WebCache\WebCacheV*.dat
• Firefox : %USERPROFILE%\AppData\Roaming\Mozilla\ Firefox\Profiles\<random text>.default\places.sqlite
• Chrome : %USERPROFILE%\AppData\Local\Google\Chrome\User Data\Default\History - ADS Zone.Identifer
: 각 파일의 Zone.Identifier 값으로 다운로드 여부를 판단하며 Zone.Identifier 값이 3이면 인터넷으로부터 다운로드된 파일이라 할 수 있다.
* 참고 - https://secuworld.tistory.com/31 - Open/Save MRU
위치 : NTUSER.DAT\Software\Microsoft\Windows\CurrentVersion\Explorer\ComDlg32\OpenSavePIDlMRU
▶ 삭제된 파일 또는 파일 정보에 대한 분석
- Recycle Bin
: [폴더 옵션]에서 [보호된 운영 체제 파일 숨기기(권장)]을 체크 해제해주면 $Recycle.Bin 폴더가 나타난다.
위치 : C:\$Recycle.bin - Search – WordWheelQuery
: 키워드들은 유니코드에 추가되고 MRU 목록에 시간 순서대로 나열된다.
위치 : NTUSER.DAT\Software\Microsoft\Windows\CurrentVersion\Explorer\WordWheelQuery - Thumbcache
: 썸네일(Thumbnail)이라고도 불리며 윈도우 자체적으로 파일의 썸네일을 생성하여 데이터베이스 형식으로 보관한다.
위치 : C:\%USERPROFILE%\AppData\Local\Microsoft\Windows\Explorer - Thumbs.db
: 윈도우 XP에서부터 썸네일은 Thumb.db 파일에 저장되었다.
: 원본 파일이 삭제되더라도 썸네일은 삭제되지 않기 때문에 조사에 용이하다.
* 참고 - http://forensic-proof.com/archives/2092 - Last-Visited MRU
위치 : NTUSER.DAT\Software\Microsoft\Windows\CurrentVersion\Explorer\ComDlg32\LastVisitedPidlMRU - IE|Edge file://
위치 :
• IE6-7 : %USERPROFILE%\Local Settings\History\History.IE5
• IE8-9 : %USERPROFILE%\AppData\Local\Microsoft\Windows\History\History.IE5
• IE10-11 : %USERPROFILE%\AppData\Local\Microsoft\Windows\WebCache\WebCacheV*.dat
▶ 계정 사용 분석
- Event log
: 이벤트 ID를 이용하여 의심스러운 서비스에 대한 로그를 분석
- 로그온 실패/성공 이벤트 (Success/Fail Logons)
• 4624 – 성공적인 로그온
• 4625 – 로그온 실패
• 4634 | 4647 – 로그오프 성공
• 4648 – 명시적 자격 증명을 사용하여 로그온 (Runas)
• 4672 – 슈퍼유저 권한으로 계정 로그온 (관리자)
• 4720 – 계정이 생성됨
위치 : %sSystemRoot%\System32\winevt\logs\Security.evtx
- 인증 이벤트 (Authentication Events)
• 4776 - 계정 인증 성공/실패 이벤트 ID 코드 (Kerberos 프로토콜)
• 4768 - 인증 티켓 요청 (로그온 성공).
• 4769 - 요청된 서비스 티켓 (서버 리소스에 대한 액세스)
• 4771 - 사전 인증 실패 (로그온 실패)
위치 : %SystemRoot%\System32\winevt\logs\Security.evtx
- 서비스 이벤트 (Services Events)
• 7034 – 서비스가 예기치 않게 중단됨
• 7035 – 서비스가 Start/Stop 컨트롤을 전송함
• 7036 – 서비스 시작 또는 중지
• 7040 – 시작 유형이 변경됨(부팅 | 요청 시 | 사용 안 함)
• 7045 – 시스템에 서비스가 설치됨(Win2008R2+)
• 4697 – 시스템에 서비스가 설치되었습니다(보안 로그).
위치 : %SystemRoot%\System32\winevt\Logs
- RDP 사용 (RDP Usage)
• 4778 – 세션 연결/재연결
• 4779 – 세션 연결 끊김
위치 : %SystemRoot%\System32\winevt\logs\Security.evtx - Last Login & Last Password Change
: 마지막으로 로그인된 시간과 암호가 변경된 시간을 레지스트리 키에서 확인할 수 있다.
위치 :
• C:\windows\system32\config\SAM
• SAM\Domains\Account\Users
▶ 브라우저 사용 분석
- History
: 사용자가 방문한 사이트를 분석할 수 있다.
위치 :
• IE10, 11, Edge : %USERPROFILE%\AppData\Local\Microsoft\Windows\WebCache\WebCacheV*.dat
• Firefox : %USERPROFILE%\AppData\Roaming\Mozilla\Firefox\Profiles\<random text>.default\places.sqlite
• Chrome : %USERPROFILE%\AppData\Local\Google\Chrome\User Data\Default\History - Cookies
: 사용자의 웹에 대한 활동을 분석할 수 있다.
위치 :
• IE10 : %USERPROFILE%\AppData\Roaming\Microsoft\Windows\Cookies
• IE11 : %USERPROFILE%\AppData\Local\Microsoft\Windows\INetCookies
• Edge : %USERPROFILE%\AppData\Local\Packages\microsoft.microsoftedge_<APPID>\AC\MicrosoftEdge\Cookies
• Firefox : %USERPROFILE%\AppData\Roaming\Mozilla\Firefox\Profiles\<randomtext>.default\cookies.sqlite
• Chrome : %USERPROFILE%\AppData\Local\Google\Chrome\User Data\Default\Local Storage\ - Cache
: 웹 사이트 접속 시 재방문을 편리하게 하기 위해 저장되는 파일로써 캐시를 통해 사용자의 흔적을 분석할 수 있다.
위치 :
• IE10 : %USERPROFILE%\AppData\Local\Microsoft\Windows\TemporaryInternet Files\Content.IE5
• IE11 : %USERPROFILE%\AppData\Local\Microsoft\Windows\INetCache\IE
• Edge : %USERPROFILE%\AppData\Local\Packages\microsoft.microsoftedge_<APPID>\AC\MicrosoftEdge\Cache
• Firefox : %USERPROFILE%\AppData\Local\Mozilla\Firefox\Profiles\<randomtext>.default\Cache
• Chrome : %USERPROFILE%\AppData\Local\Google\Chrome\User Data\Default\Cache - Flash & Super Cookies
: LSO(Local Stored Object)라고도 불리며, 사용자의 컴퓨터에 영구적으로 저장되도록 설계된 브라우저 쿠키 유형이다. (.sol 확장자로 저장됨)
: 제거가 어렵고 일반 쿠키와 같은 방식으로 삭제할 수 없기 때문에 개인 정보 노출에 크다.
위치 : %APPDATA%\Roaming\Macromedia\FlashPlayer\#SharedObjects\<randomprofileid> - Session Restore
: 브라우저에 내장된 자동 충돌 복구 기능이며, 웹이 비정상적으로 종료가 되는 경우를 대비하여 현 시점의 상태를 저장하는 기능이다. 때문에 사용자의 웹 브라우저 기록을 분석할 수 있다.
위치 :
• Internet Explorer : %USERPROFILE%\AppData\Local\Microsoft\Internet Explorer\Recovery
• Firefox : %USERPROFILE%\AppData\Roaming\Mozilla\Firefox\Profiles\<randomtext>.default\sessionstore.js
• Chrome : %USERPROFILE%\AppData\Local\Google\Chrome\User Data\Default\ - Google Analytics Cookies
: GA라고도 불리는 구글 애널리틱스는 고유한 사용자를 식별하고 이들 사용자의 세션과 캠페인 정보를 저장하는데에 쿠키를 사용한다.
* 참고 - https://analyticsmarketing.co.kr/digital-analytics/google-analytics/1655/
▶ 네트워크 활동 분석
- Timezone
: 시스템의 시간대를 식별하여 사용자의 활동을 분석하는데에 유용하므로 매우 중요하다.
위치 : SYSTEM\CurrentControlSet\Control\TimeZoneInformation - Network History
: 사용자의 컴퓨터와 연결된 모든 네트워크를 분석할 수 있다.
위치 :
• SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkList\Signatures\Unmanaged
• SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkList\Signatures\Managed
• SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkList\Nla\Cache - WLAN Event Log
: 이벤트 ID를 이용하여 시스템이 연결된 무선 네트워크를 확인하고 네트워크 특성을 분석할 수 있다.
Event ID :
• 11000 – 무선 네트워크 연결 시작
• 8001 – 무선 네트워크에 성공적으로 연결
• 8002 – 무선 네트워크 연결 실패
• 8003 – 무선 네트워크 연결 해제
• 6100 – 네트워크 진단(시스템 로그)
* 참고 - https://www.sans.org/blog/making-the-most-out-of-wlan-event-log-artifacts/ - Browser Search Terms
: 사용자가 방문한 웹사이트에서 검색한 용어가 기록이 되고 날짜, 횟수 등이 포함되기 때문에 분석에 용이하다.
위치 :
• IE10-11 : %USERPROFILE%\AppData\Local\Microsoft\Windows\WebCache\WebCacheV*.dat
• Firefox : %USERPROFILE%\AppData\Roaming\Mozilla\Firefox\Profiles\<randomtext>.default\places.sqlite - Cookies
위치 :
• IE10 : %USERPROFILE%\AppData\Roaming\Microsoft\Windows\Cookies
• IE11 : %USERPROFILE%\AppData\Local\Microsoft\Windows\INetCookies
• Edge : %USERPROFILE%\AppData\Local\Packages\microsoft.microsoftedge_\AC\MicrosoftEdge\Cookies
• Firefox : %USERPROFILE%\AppData\Roaming\Mozilla\Firefox\Profiles\.default\cookies.sqlite
• Chrome : %USERPROFILE%\AppData\Local\Google\Chrome\User Data\Default\Local Storage\ - System Resource Usage Monitor (SRUM)
위치 :
• SOFTWARE\Microsoft\WindowsNT\CurrentVersion\SRUM\Extensions
• C:\Windows\System32\SRU\SRUDB.dat
▶ 외부 장치/USB 사용 흔적 분석
- Key Identification
: 기기에 연결된 USB 장치의 흔적을 조사할 수 있다.
: 고유 일련 번호가 없는 장치는 일련 번호의 두번째 문자로 "&"가 있다.
위치 :
• SYSTEM\CurrentControlSet\Enum\USBSTOR
• SYSTEM\CurrentControlSet\Enum\USB - First/Last Times
: 시스템에 연결된 특정 USB 장치의 임시 사용량을 확인할 수 있다.
위치 : C:\Windows\inf\setupapi.dev.log - User
: 특정 USB 장치를 사용한 사용자를 조사할 수 있다.
: SYSTEM\MountedDevices 에서 GUID를 찾은 뒤 아래 위치에서 참조할 수 있다.
위치 : NTUSER.DAT\Software\Microsoft\Windows\CurrentVersion\Explorer\MountPoints2 - PnP Events
: PnP는 Plug and Play가 풀네임이며, 꽂으면 실행된다는 뜻을 가지고 있다.
: 플러그 앤 플레이 드라이버가 설치 시도가 되면 이벤트 ID 20001을 기록하고 시스템에게 상태 정보를 제공한다.
위치 : %SystemRoot%\System32\winevt\logs\System.evtx - Volume Serial Number
: USB에서 파일 시스템 파티션의 볼륨 일련 번호를 찾을 수 있다.
위치 : SOFTWARE\Microsoft\WindowsNT\CurrentVersion\ - Drive Letter and Volume Name
: 볼륨 레이블과 드라이브 문자를 확인할 수 있다.
위치 :
• SOFTWARE\Microsoft\Windows Portable Devices\Devices
• SYSTEM\MountedDevices - LNK Files
위치 :
• C:\%USERPROFILE%\AppData\Roaming\Microsoft\Windows\Recent\
• C:\%USERPROFILE%\AppData\Roaming\Microsoft\Office\Recent\
* 참고 - http://forensic-proof.com/archives/3632
SANS DFIR을 참고하여 위와 같이 아티팩트들을 정리해보았다. 부족한 내용은 아래 사이트에서 공부 할 수 있다.
※ https://www.sans.org/posters/windows-forensic-analysis/
※ http://forensic-proof.com/
※ https://www.youtube.com/c/13cubed
모든 버전의 아티팩트는 위 사이트와 구글링으로 쉽게 찾을 수 있다.
또한 Eric Zimmerman에 따르면 현재 윈도우 11 아티팩트는 변화된 점이 크게 없다고 한다.
https://twitter.com/ericrzimmerman/status/1404859472275779584
이러한 아티팩트 분석은 직접 탐색해보고 분석해보는 것도 좋은 공부가 되는 것 같다.
"피드백은 언제나 환영입니다!"
'Forensics > Windows' 카테고리의 다른 글
[Windows Forensic] EventTranscript.db 분석 (0) | 2022.01.31 |
---|---|
CFReDS - Data Leakage Case 문제풀이 #02 (0) | 2021.08.07 |
CFReDS - Data Leakage Case 문제풀이 #01 (0) | 2021.07.30 |
CFReDS - Data Leakage Case 개요 (0) | 2021.07.28 |