0Pricing
Security+ Academy · 강의

Windows 포렌식 아티팩트: 레지스트리, 이벤트 로그, 프리페치

레지스트리 실행 키, 보안 이벤트 로그 항목, 실행된 항목과 시점을 보여 주는 프리페치 파일 등 공격자 활동을 드러내는 주요 Windows 아티팩트를 식별합니다.

Windows 포렌식 아티팩트: 레지스트리, 이벤트 로그, 프리페치은(는) CoddyKit의 무료 Security+ Academy 강의입니다. 이것은 4개 중 3번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 Security+ Academy 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. Security+ Academy 강의에는 총 4개의 강의가 포함되어 있습니다.

Windows 아티팩트가 중요한 이유

Windows 시스템은 사용자 활동, 프로그램 실행, 파일 접근, 네트워크 연결을 기록하는 풍부한 포렌식 아티팩트를 생성합니다. 이러한 아티팩트가 존재하는 이유는 Windows가 성능과 기능을 고려하여 설계되었기 때문입니다. Prefetch(더 빠른 앱 실행)와 Registry(중앙 집중식 구성) 같은 기능이 부수적인 결과로 포렌식 기록을 생성합니다. 숙련된 분석가는 공격자가 숨기거나 삭제하려는 증거를 어디에서 찾아야 하는지 알고 있습니다. Windows 아티팩트를 이해하는 것은 엔드포인트 포렌식의 기본입니다.

포렌식 자료로서의 Windows Registry

Windows Registry는 OS와 애플리케이션 구성 설정을 저장하는 계층형 데이터베이스입니다. 다음과 같은 정보를 기록하므로 포렌식 조사관에게 매우 중요한 자료입니다. 최근에 접근한 파일과 URL, 시스템에 연결된 적이 있는 USB 장치, 설치된 프로그램과 제거 기록, 자동 실행/시작 항목(지속성 메커니즘), 사용자 활동 패턴, 네트워크 연결입니다. Registry는 디스크에 지속적으로 저장되는 하이브 파일(NTUSER.DAT, SYSTEM, SOFTWARE, SAM, SECURITY)에 보관됩니다.

# Key forensic Registry locations
# Persistence (autorun) locations:
# HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
# HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
# HKLM\SYSTEM\CurrentControlSet\Services  (services/drivers)

# Recently accessed files (user activity):
# HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\RecentDocs
# HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\RunMRU

# USB devices ever connected:
# HKLM\SYSTEM\CurrentControlSet\Enum\USBSTOR

Registry 지속성 키

공격자는 Registry 자동 실행 키를 사용하여 지속성을 확보하고, 재부팅 후에도 악성 코드가 다시 실행되도록 합니다. 가장 자주 악용되는 키는 HKLM\...\Run(모든 사용자에 대해 실행)과 HKCU\...\Run(현재 사용자에 대해서만 실행) 아래에 있습니다. 조사관은 이러한 키에서 예상하지 못한 항목을 확인하고, 방어 담당자는 Autoruns (Sysinternals) 같은 도구를 사용하여 항목을 열거하고 신뢰할 수 있는 기준선과 비교합니다. 의심스러운 위치(%TEMP%, %APPDATA%)를 가리키는 항목은 모두 조사해야 합니다.

# Examine autorun keys (PowerShell)
Get-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Run'
Get-ItemProperty -Path 'HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Run'

# Look for entries pointing to unusual paths:
# 'svchost32' = 'C:\Users\User\AppData\Local\Temp\evil.exe'
# vs legitimate:
# 'SecurityHealth' = '%windir%\system32\SecurityHealthSystray.exe'

# Autoruns.exe (Sysinternals) shows ALL autostart locations

Windows 이벤트 로그

Windows 이벤트 로그는 시스템, 보안, 애플리케이션 이벤트를 기록합니다. 보안 포렌식에서는 Security 이벤트 로그가 가장 중요합니다. 이 로그에는 인증 이벤트, 계정 관리 변경, 권한 사용, 정책 변경이 기록됩니다. 주요 위치는 %SystemRoot%\System32\winevt\Logs\입니다. 이벤트 로그는 Event Viewer 또는 포렌식 도구로 읽을 수 있는 이진 형식(.evtx)을 사용합니다. 공격자는 이벤트 로그를 지우려는 경우가 많으며, 지워진 Security 로그 자체가 Event ID 1102를 생성하므로 즉시 ALERT를 발생시켜야 합니다.

# Query Security event log for failed logins (PowerShell)
Get-WinEvent -FilterHashtable @{LogName='Security'; Id=4625} |
  Select-Object TimeCreated, Message |
  Where-Object { $_.TimeCreated -gt (Get-Date).AddDays(-7) }

# Key Security Event IDs for forensics:
# 4624: Successful logon (logon type matters!)
# 4625: Failed logon
# 4634/4647: Logoff
# 4720: User account created
# 4732: Member added to security-enabled group
# 1102: Audit log cleared (attacker cleanup!)

Event ID 4624의 Logon 유형

Event ID 4624 (Successful Logon)에는 Logon이 어떻게 발생했는지 보여 주는 logon 유형 필드가 포함됩니다. Logon 유형은 포렌식 측면에서 중요한 의미를 가집니다. Type 2 = 대화형(키보드 앞의 사용자), Type 3 = 네트워크(파일 공유, 원격 API), Type 4 = 일괄 처리(예약된 작업), Type 5 = 서비스(서비스 시작), Type 7 = 잠금 해제, Type 10 = 원격 대화형(RDP), Type 11 = 캐시된 자격 증명입니다. 외부 IP에서 발생한 네트워크 Logon(Type 3)은 측면 이동이나 원격 액세스를 나타냅니다.

# PowerShell: Find RDP logons (Type 10) from external IPs
Get-WinEvent -FilterHashtable @{LogName='Security'; Id=4624} |
  Where-Object {
    $msg = $_.Message
    $msg -match 'Logon Type:\s+10' -and
    $msg -match 'Source Network Address:\s+(?!192\.168|10\.|172\.1[6-9]|172\.2[0-9]|172\.3[0-1])'
  } |
  Select-Object TimeCreated, Message

Windows Prefetch 파일

Prefetch 파일(%SystemRoot%\Prefetch\*.pf)은 최근 실행된 프로그램에 대한 데이터를 캐시하여 애플리케이션 실행 속도를 높이기 위해 Windows가 생성합니다. 각 Prefetch 파일에는 실행 파일 이름, 전체 경로, 마지막 실행 시간, 최대 8개의 실행 타임스탬프(Windows 8 이상), 실행 횟수, 실행 파일이 참조한 파일과 디렉터리가 기록됩니다. 포렌식 측면에서 Prefetch는 프로그램 자체가 삭제된 경우에도 해당 프로그램이 실행되었음을 입증하므로 악성 코드 실행을 입증하는 데 매우 중요합니다.

# List Prefetch files with last run times (PowerShell)
Get-ChildItem C:\Windows\Prefetch\*.pf |
  Select-Object Name, LastWriteTime, Length |
  Sort-Object LastWriteTime -Descending

# Parse with PECmd (Eric Zimmerman's tool) for full details:
PECmd.exe -d C:\Windows\Prefetch --csv C:\forensics\prefetch_output

# Output shows: executable path, last 8 run times, run count,
# files and directories accessed during execution

Shimcache와 Amcache

Shimcache (AppCompatCache)는 시스템에서 실행된 실행 파일을 기록하며, Registry의 HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\AppCompatCache에 저장됩니다. 파일 경로와 마지막 수정 시간을 기록합니다. Amcache.hve(%SystemRoot%\AppCompat\Programs\에 있음)는 실행된 프로그램, 해당 SHA-1 해시, 최초 실행 시간을 기록하는 Registry 하이브입니다. 두 아티팩트 모두 악성 코드 파일이 삭제된 경우에도 악성 코드 실행을 입증하는 데 유용합니다.

# Parse ShimCache with AppCompatCacheParser.exe (Eric Zimmerman)
AppCompatCacheParser.exe --csv C:\forensics

# Parse Amcache with AmcacheParser.exe
AmcacheParser.exe -f C:\Windows\AppCompat\Programs\Amcache.hve \
  --csv C:\forensics

# Look for executables in unusual locations:
# C:\Users\username\AppData\Local\Temp\*.exe
# C:\Users\username\Downloads\*.exe
# C:\ProgramData\*.exe (malware staging area)

Windows 이벤트 포렌식: 측면 이동

측면 이동을 탐지하려면 여러 시스템의 이벤트를 서로 연관 지어 분석해야 합니다. 주요 패턴은 다음과 같습니다. 원본 시스템의 Event 4648(명시적 자격 증명을 사용한 Logon)은 공격자가 runas 또는 Pass-the-Hash 도구를 사용했음을 보여 줍니다. 대상 시스템의 Event 4624 Type 3은 네트워크 인증이 성공했음을 보여 줍니다. 대상 시스템의 Event 7045(새 서비스 설치)는 공격자가 PsExec 또는 이와 유사한 원격 실행 도구를 통해 지속성을 확보했음을 보여 줍니다. SIEM에서 시스템 간 타임스탬프를 연관 지으면 측면 이동 경로가 드러납니다.

# SIEM query: detect PsExec lateral movement pattern
# Source system: Event 4648 (explicit creds)
# Target system: Event 4624 Type 3 + Event 7045 (PSEXESVC service)

# PowerShell: find PSEXESVC service creation (attacker lateral movement)
Get-WinEvent -FilterHashtable @{LogName='System'; Id=7045} |
  Where-Object { $_.Message -match 'PSEXESVC' } |
  Select-Object TimeCreated, Message

LNK 파일과 점프 목록

LNK(바로 가기) 파일은 사용자가 파일을 열 때 Windows가 자동으로 생성하며, 대상 파일의 경로, 생성 및 수정 시간, 볼륨 일련 번호를 기록합니다. 대상 파일이 이후 삭제된 경우에도 기록은 남습니다. 점프 목록은 애플리케이션별로 최근에 자주 접근한 파일을 기록하며, %APPDATA%\Microsoft\Windows\Recent\AutomaticDestinations\에 저장됩니다. 이러한 아티팩트는 공격자의 파일 접근을 보여 주고, 파일 자체가 정리된 후에도 침입 중 유출되었거나 접근된 파일을 식별할 수 있게 해 줍니다.

MFT와 삭제된 파일 복구

Master File Table (MFT)은 삭제된 파일을 포함하여 모든 파일과 디렉터리의 메타데이터를 기록하는 NTFS 파일 시스템 인덱스입니다. Windows에서 파일을 '삭제'하면 MFT 항목이 재사용 가능 상태로 표시되지만, 파일 데이터는 덮어써질 때까지 디스크에 남아 있을 수 있습니다. 포렌식 도구(Autopsy, FTK)는 삭제된 파일의 MFT 항목을 복구하고 해당 콘텐츠의 복구를 시도할 수 있습니다. 이는 공격자가 삭제한 악성 코드, 로그 또는 유출 데이터 준비 파일을 복구하는 데 중요합니다.

# Analyze the MFT to find deleted files
# Using Autopsy or The Sleuth Kit (tsk)
fls -r /forensics/disk.img | grep '\*'  # deleted files marked with *

# Recover a specific deleted file by inode number
icat /forensics/disk.img 12345 > /forensics/recovered_file
sha256sum /forensics/recovered_file

# Parse MFT with MFTECmd.exe (Eric Zimmerman)
MFTECmd.exe -f C:\$MFT --csv C:\forensics\mft_output

Browser 아티팩트와 사용자 활동

웹 Browser는 공격자나 내부 사용자의 온라인 활동을 보여 주는 포렌식 아티팩트를 남깁니다. Browser 기록에는 방문한 URL과 타임스탬프가 기록됩니다. 다운로드 기록에는 웹에서 가져온 파일이 표시됩니다. 캐시된 파일에는 공격자가 조회한 웹 페이지나 파일의 사본이 포함될 수 있습니다. Browser의 저장된 자격 증명은 공격자가 접근한 계정을 보여 줄 수 있습니다. 이러한 아티팩트는 프로필 디렉터리(%LOCALAPPDATA%\Google\Chrome\User Data\Default\)에 저장되며 ChromeCacheView 또는 BrowsingHistoryView 같은 도구로 분석하여 공격자의 온라인 활동을 재구성할 수 있습니다.

# Browser artifact locations (Windows)
# Chrome history database:
# %LOCALAPPDATA%\Google\Chrome\User Data\Default\History
# (SQLite database)

# Parse with sqlite3
sqlite3 History 'SELECT url, title, last_visit_time FROM urls ORDER BY last_visit_time DESC LIMIT 50'

# Firefox places.db (SQLite):
# %APPDATA%\Mozilla\Firefox\Profiles\*.default\places.sqlite

# BrowsingHistoryView.exe (Nirsoft) parses all browsers at once

빠른 확인

이 수업에서 다룬 CompTIA Security+ (SY0-701) 개념을 얼마나 이해했는지 확인해 보십시오.

수업 요약

이 수업에서는 다음을 배웠습니다. Windows Registry는 포렌식 가치가 높은 하이브 파일에 지속성 메커니즘, USB 기록, 사용자 활동을 기록합니다. 또한 Security 이벤트 로그의 Event ID 4624/4625/4720/1102는 인증 및 계정 활동 포렌식에 중요합니다. 그리고 Prefetch, Shimcache, Amcache는 악성 코드가 삭제된 후에도 프로그램 실행을 입증합니다. 다음으로는 네트워크 및 메모리 포렌식을 살펴보겠습니다.

자주 묻는 질문

“Windows 포렌식 아티팩트: 레지스트리, 이벤트 로그, 프리페치” 강의는 무료인가요?

네 — “Windows 포렌식 아티팩트: 레지스트리, 이벤트 로그, 프리페치” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 Security+ Academy 강의 전체를 잠금 해제할 수 있습니다. Security+ Academy 강의에는 총 4개의 강의가 포함되어 있습니다.

“Windows 포렌식 아티팩트: 레지스트리, 이벤트 로그, 프리페치”에서 뭘 배우나요?

레지스트리 실행 키, 보안 이벤트 로그 항목, 실행된 항목과 시점을 보여 주는 프리페치 파일 등 공격자 활동을 드러내는 주요 Windows 아티팩트를 식별합니다. 브라우저에서 직접 실행하는 실습 코드로 Security+ Academy을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.

Security+ Academy을(를) 시작하는 데 경험이 필요한가요?

사전 경험은 필요하지 않습니다. CoddyKit의 Security+ Academy은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 3번째 강의입니다.

“Windows 포렌식 아티팩트: 레지스트리, 이벤트 로그, 프리페치” 강의는 얼마나 걸리나요?

대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.

이 Security+ Academy 강의에서 코드를 작성하고 실행할 수 있나요?

네. 모든 Security+ Academy 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.

이 강의의 모든 강의

  1. 휘발성 순서와 증거 확보
  2. 증거 보관 연속성과 법적 증거 능력
  3. Windows 포렌식 아티팩트: 레지스트리, 이벤트 로그, 프리페치
  4. 네트워크와 메모리 포렌식
← Security+ Academy(으)로 돌아가기