Communitygithub.com

Windows Amcache 아티팩트 분석

Eric Zimmerman의 도구를 사용하여 Windows Amcache.hve 레지스트리 하이브를 파싱합니다.

Windows Amcache 아티팩트 분석란 무엇인가요?

이 스킬은 Windows 시스템의 Amcache.hve 레지스트리 하이브를 분석하여 응용 프로그램 설치, 파일 존재 및 드라이버 로딩 이력을 확인하는 방법을 제공합니다. 침해 대응(Incident Response) 과정에서 악성 소프트웨어 식별, 실행 타임라인 구축, 내부자 위협 조사 등에 활용됩니다. Eric Zimmerman의 AmcacheParser 및 Timeline Explorer를 사용하며, VirusTotal, CIRCL, MISP와 같은 위협 인텔리전스 플랫폼과 SHA-1 해시를 연계할 수 있습니다. 또한 Prefetch 및 ShimCache와 함께 분석하여 실행 증거를 강화하는 방법을 안내합니다.

지원 대상~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/mukul975/Anthropic-Cybersecurity-Skills/tree/main/skills/analyzing-windows-amcache-artifacts

즐겨 사용하는 AI에게 물어보기

이 에이전트 스킬이 미리 로드된 새 채팅을 엽니다.

문서

Windows Amcache 아티팩트 분석은(는) 무엇을 하나요?

사용 시기

  • 침해 대응 중 Windows 시스템에 존재하거나 실행된 프로그램 확인
  • Amcache의 SHA-1 해시를 알려진 악성코드 데이터베이스(VirusTotal, CIRCL, MISP)와 연계
  • 포렌식 조사를 위한 애플리케이션 설치 및 실행 타임라인 구축
  • 파일 삭제 후에도 Amcache에 흔적을 남기는 삭제된 실행 파일 식별
  • 휴대용 또는 승인되지 않은 응용 프로그램의 존재를 문서화하여 내부자 위협 조사
  • 루트킷 또는 악성 커널 모듈 탐지를 위한 드라이버 로딩 기록 분석

프로그램 실행의 유일한 증거로 사용하지 마십시오. Amcache는 파일 존재와 메타데이터 등록을 증명하지만, ShimCache(AppCompatCache)와 Prefetch가 더 강력한 실행 증거를 제공합니다. 최종 분석을 위해 세 가지 아티팩트를 함께 사용하십시오.

사전 요구 사항

  • 포렌식 이미지 또는 라이브 트라이어지 사본 C:\Windows\appcompat\Programs\Amcache.hve (관련 .LOG1, .LOG2 트랜잭션 로그 포함)
  • Eric Zimmerman의 AmcacheParser (AmcacheParser.exe): https://ericzimmerman.github.io/ 에서 다운로드
  • Eric Zimmerman의 Timeline Explorer: 파싱된 CSV 출력 확인용
  • 선택 사항: Registry Explorer: 수동 하이브 검사용
  • 알려진 정상 실행 파일의 SHA-1 화이트리스트(예: NSRL 해시셋): 필터링 용도
  • .NET 6+ 런타임 설치 (현재 EZ 도구에 필요)
  • CSV 결과를 위한 출력 디렉터리에 대한 쓰기 권한

워크플로

1단계: Amcache.hve 파일 획득

포렌식 이미지 또는 라이브 시스템에서 Amcache 하이브를 추출합니다.

# 라이브 시스템에서 (관리자 권한 및 원시 디스크 복사 도구 필요)
# Amcache.hve는 시스템에 의해 잠겨 있음; 원시 디스크 복사 도구 사용
# 옵션 A: FTK Imager - 이미지를 마운트하고 다음으로 이동:
# C:\Windows\appcompat\Programs\Amcache.hve
# 함께 수집: Amcache.hve.LOG1, Amcache.hve.LOG2

# 옵션 B: KAPE를 사용한 자동 트라이어지 수집
kape.exe --tsource C: --tdest D:\Evidence\%m --target Amcache

# 옵션 C: 마운트된 포렌식 이미지에서 (E: = 마운트된 이미지)
copy "E:\Windows\appcompat\Programs\Amcache.hve" D:\Evidence\
copy "E:\Windows\appcompat\Programs\Amcache.hve.LOG1" D:\Evidence\
copy "E:\Windows\appcompat\Programs\Amcache.hve.LOG2" D:\Evidence\

항상 하이브와 함께 트랜잭션 로그 파일(.LOG1, .LOG2)을 수집하십시오. AmcacheParser는 이러한 로그에서 커밋되지 않은 트랜잭션을 재생하여 가장 완전한 데이터를 복구합니다.

2단계: AmcacheParser로 Amcache 파싱

획득한 하이브에 대해 AmcacheParser를 실행합니다.

# CSV 출력을 사용한 기본 파싱
AmcacheParser.exe -f "D:\Evidence\Amcache.hve" --csv "D:\Evidence\Output"

# 알려진 정상 항목(NSRL)을 제외하는 SHA-1 화이트리스트를 사용한 파싱
AmcacheParser.exe -f "D:\Evidence\Amcache.hve" -w "D:\Whitelists\nsrl_sha1.txt" --csv "D:\Evidence\Output"

# SHA-1 포함 목록 사용 (알려진 악성 해시와 일치하는 항목만 표시)
AmcacheParser.exe -f "D:\Evidence\Amcache.hve" -b "D:\IOCs\malware_sha1.txt" --csv "D:\Evidence\Output"

# 삭제된 항목 포함, 고정밀 타임스탬프 사용
AmcacheParser.exe -f "D:\Evidence\Amcache.hve" --csv "D:\Evidence\Output" -i --mp

AmcacheParser는 출력 디렉터리에 여러 CSV 파일을 생성합니다.

출력 파일내용
Amcache_AssociatedFileEntries.csvSHA-1 해시, 경로, 크기 및 타임스탬프가 있는 파일 항목
Amcache_UnassociatedFileEntries.csv이전 Amcache 형식의 분리된 파일 항목
Amcache_ProgramEntries.csv설치된 프로그램 메타데이터 (이름, 게시자, 버전, 설치 날짜)
Amcache_DeviceContainers.csvUSB 및 장치 연결 기록
Amcache_DevicePnps.csv플러그 앤 플레이 장치 드라이버 정보
Amcache_DriverBinaries.csv경로 및 해시가 포함된 로드된 드라이버 바이너리

3단계: 의심스러운 프로그램에 대한 파일 항목 분석

Timeline Explorer에서 AssociatedFileEntries.csv를 열고 주요 열을 검토합니다.

검토해야 할 주요 열:
- ProgramId          : 파일을 상위 프로그램 항목에 연결
- SHA1               : 위협 인텔리전스 조회를 위한 해시
- FullPath           : 디스크상의 원본 파일 위치
- FileSize           : 실행 파일 크기
- FileKeyLastWriteTimestamp : Amcache 항목이 마지막으로 업데이트된 시간
- Name               : 파일 이름
- Publisher           : 코드 서명 게시자 (비어 있음 = 서명되지 않음)
- BinProductVersion  : PE 헤더의 버전 문자열
- LinkDate           : PE 컴파일 타임스탬프 (타임스톰핑 탐지에 유용)

의심스러운 지표에 대해 필터링합니다.

# Timeline Explorer에서 다음 필터를 적용합니다.

# 1. 서명되지 않은 실행 파일 찾기 (잠재적 악성)
Publisher 열 = (비어 있음)

# 2. 의심스러운 경로에서 실행 파일 찾기
FullPath 포함: \temp\, \appdata\, \downloads\, \public\, \programdata\

# 3. 침해 기간 내 최근 타임스탬프가 있는 실행 파일 찾기
FileKeyLastWriteTimestamp 사이: 2026-03-15 00:00:00 and 2026-03-16 00:00:00

# 4. 의심스러운 컴파일 날짜가 있는 실행 파일 찾기 (타임스톰핑)
LinkDate 연도 < 2015 AND FileKeyLastWriteTimestamp 연도 = 2026

4단계: SHA-1 해시를 위협 인텔리전스와 연계

SHA-1 해시를 추출하고 악성코드 데이터베이스와 대조합니다.

# 파싱된 출력에서 고유 SHA-1 해시 추출
# PowerShell을 사용하여 SHA1 열 추출
Import-Csv "D:\Evidence\Output\Amcache_AssociatedFileEntries.csv" |
  Select-Object -ExpandProperty SHA1 -Unique |
  Where-Object { $_ -ne "" } |
  Out-File "D:\Evidence\Output\extracted_hashes.txt"

# vt-cli를 사용하여 VirusTotal에서 해시 확인
foreach ($hash in Get-Content "D:\Evidence\Output\extracted_hashes.txt") {
    vt file $hash --format json | Select-Object -Property meaningful_name, last_analysis_stats
}

# CIRCL hashlookup에서 해시 확인
foreach ($hash in Get-Content "D:\Evidence\Output\extracted_hashes.txt") {
    Invoke-RestMethod -Uri "https://hashlookup.circl.lu/lookup/sha1/$hash"
}

# NSRL과 교차 참조하여 알려진 정상 vs. 알 수 없음 식별
# NSRL에 없는 알 수 없는 해시는 더 자세한 조사가 필요함

5단계: 승인되지 않은 설치에 대한 프로그램 항목 분석

ProgramEntries.csv를 검토하여 공격자가 설치했을 수 있는 소프트웨어를 확인합니다.

ProgramEntries의 주요 열:
- ProgramName        : 설치된 응용 프로그램의 표시 이름
- ProgramVersion     : 버전 문자열
- Publisher          : 소프트웨어 게시자
- InstallDate        : 프로그램이 설치된 시기
- Source             : 설치 소스 (msi, exe 등)
- UninstallKey       : 레지스트리 제거 경로
- PathsList         : 설치 디렉터리

다음을 확인합니다.

  • 원격 액세스 도구 (AnyDesk, TeamViewer, ngrok, Chisel)
  • 해킹 도구 (Mimikatz, PsExec, Cobalt Strike)
  • 터널링 유틸리티 (plink, socat, WireGuard)
  • 침해 기간 동안 설치된 프로그램
  • 비표준 위치에 설치된 프로그램

6단계: 루트킷 증거에 대한 드라이버 바이너리 분석

의심스러운 로드된 드라이버에 대해 DriverBinaries.csv를 검토합니다.

DriverBinaries의 주요 열:
- DriverName         : 드라이버 이름
- DriverInBox        : Windows와 함께 제공되었는지 여부 (false = 타사)
- DriverSigned       : 드라이버에 유효한 서명이 있는지 여부
- DriverTimeStamp    : 컴파일 타임스탬프
- Product            : 드라이버와 관련된 제품
- ProductVersion     : 드라이버 버전
- SHA1               : 드라이버 바이너리의 해시

DriverInBox = false 및 DriverSigned = false로 필터링하여 루트킷이거나 BYOVD(Bring Your Own Vulnerable Driver) 공격에 사용된 취약한 드라이버일 수 있는 서명되지 않은 타사 드라이버를 찾습니다.

7단계: Amcache 데이터에서 타임라인 구축

Amcache 데이터를 다른 아티팩트와 결합하여 포괄적인 타임라인을 만듭니다.

# Timeline Explorer를 사용하여 Amcache CSV를 다른 EZ 도구 출력과 병합
# Timeline Explorer에 다음 CSV를 로드:
# - Amcache_AssociatedFileEntries.csv (파일 증거)
# - Amcache_ProgramEntries.csv (설치 증거)
# - PECmd.exe의 Prefetch 출력 (실행 증거)
# - AppCompatCacheParser.exe의 ShimCache 출력 (실행 증거)

# 모든 항목을 타임스탬프별로 정렬하여 공격 시퀀스 재구성
# Timeline Explorer는 다중 파일 로드 및 열 기반 정렬 지원

# 결합된 타임라인 내보내기
# 파일 > CSV로 저장 > combined_timeline.csv

주요 개념

용어정의
Amcache.hve응용 프로그램 호환성 목적으로 응용 프로그램, 파일 및 드라이버에 대한 메타데이터를 저장하는 C:\Windows\appcompat\Programs\Amcache.hve의 Windows 레지스트리 하이브
연결된 파일 항목 (Associated File Entry)특정 프로그램 설치에 연결된 Amcache 레코드로, 파일 경로, 크기, 해시 및 타임스탬프 포함
분리된 파일 항목 (Unassociated File Entry)이전 형식의 분리된 Amcache 레코드로, 프로그램 항목에 연결되지 않음. Windows 7/8 시스템에서 일반적
프로그램 항목 (Program Entry)설치 메타데이터(프로그램 이름, 버전, 게시자, 설치 날짜 및 제거 키)가 포함된 Amcache 레코드
SHA-1 해시등록된 각 파일에 대해 Amcache에 저장된 암호화 해시로, 위협 인텔리전스 조회를 통한 악성코드 식별 가능
LinkDate실행 파일 헤더에 포함된 PE 컴파일 타임스탬프. 파일 시스템 타임스탬프와의 불일치는 타임스톰핑을 나타낼 수 있음
트랜잭션 로그커밋되지 않은 레지스트리 트랜잭션이 포함된 .LOG1 및 .LOG2 파일. AmcacheParser가 완전한 데이터 복구를 위해 재생
NSRL (National Software Reference Library)알려진 상용 소프트웨어의 SHA-1 해시 데이터베이스(NIST 유지 관리). 무해한 항목을 필터링하는 화이트리스트로 사용

확인 목록

  • Amcache.hve 및 트랜잭션 로그(LOG1, LOG2)가 포렌식 이미지에서 수집되었습니다.
  • AmcacheParser가 오류 없이 예상되는 모든 CSV 출력 파일을 생성했습니다.
  • SHA-1 해시가 추출되어 VirusTotal 또는 CIRCL hashlookup과 대조 확인되었습니다.
  • 의심스러운 경로에 있는 서명되지 않은 실행 파일이 추가 분석을 위해 플래그 지정되었습니다.
  • 프로그램 항목이 침해 기간 내 모든 소프트웨어 설치를 보여줍니다.
  • 드라이버 바이너리가 서명되지 않았거나 기본 제공되지 않은 항목에 대해 확인되었습니다.
  • 타임스톰핑 탐지를 위해 LinkDate와 FileKeyLastWriteTimestamp 비교가 수행되었습니다.
  • Amcache 결과가 실행 확인을 위해 Prefetch 및 ShimCache와 연계되었습니다.
  • 최종 타임라인이 Amcache 데이터를 다른 포렌식 아티팩트와 통합합니다.

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

abusing-dpapi-for-credential-access

Extract and decrypt Windows DPAPI-protected secrets (Credential Manager, browser logins/cookies, Wi-Fi credentials, KeePass keys) online or offline using SharpDPAPI, SharpChrome, Mimikatz, or Impacket

abusing-shadow-credentials-for-privesc

Take over Active Directory accounts by writing attacker-controlled public keys to msDS-KeyCredentialLink (Shadow Credentials) with pyWhisker, Whisker, or Certipy, then authenticate via PKINIT to recover the target

achieving-cmmc-level-2-compliance

>-

acquiring-disk-image-with-dd-and-dcfldd

Create forensically sound bit-for-bit disk images with dd or dcfldd on a Linux forensic workstation, preserving evidence integrity through hash verification (MD5/SHA) during acquisition. Use when imaging a suspect drive, USB device, or memory card for investigation, preserving volatile disk evidence during incident response, or producing a verified copy for legal or law-enforcement proceedings before any destructive analysis.

analyzing-active-directory-acl-abuse

Detect dangerous ACL misconfigurations in Active Directory using ldap3

analyzing-android-malware-with-apktool

Perform static analysis of Android APK malware using apktool for resource decompilation, jadx for Java source recovery, and androguard for manifest inspection, dangerous permission-combination detection, and identification of obfuscated code, dynamic code loading, and reflection-based API calls. Use to statically triage a suspicious APK without executing it or to build mobile malware detection rules.

analyzing-api-gateway-access-logs

Parses API Gateway access logs (AWS API Gateway, Kong, Nginx) to detect

analyzing-apt-group-with-mitre-navigator

Query ATT&CK data with attackcti, mitreattack-python, and stix2, then build MITRE ATT&CK Navigator layers and multi-layer heatmap overlays mapping one or more APT groups

analyzing-azure-activity-logs-for-threats

Queries Azure Monitor activity logs and sign-in logs via azure-monitor-query

analyzing-bootkit-and-rootkit-samples

Analyzes bootkit and advanced rootkit malware infecting the Master

analyzing-browser-forensics-with-hindsight

Parse Chromium-based browser databases with Hindsight to extract and correlate browsing history, downloads, cookies, cached content, autofill data, saved passwords, and extensions from Chrome, Edge, Brave, Opera, and Vivaldi into a unified timeline (XLSX, JSON, or SQLite output). Use during incident response, insider-threat investigations, or criminal cases when you need to reconstruct a user

analyzing-campaign-attribution-evidence

Systematically evaluate cyber-campaign evidence to attribute an operation to a threat actor, using the Diamond Model and Analysis of Competing Hypotheses (ACH) to weigh infrastructure overlaps, TTP consistency, malware code similarity, and timing/language artifacts into confidence-weighted attribution assessments. Use when an incident investigation needs a defensible attribution confidence level.

analyzing-certificate-transparency-for-phishing

Monitor Certificate Transparency logs using crt.sh and Certstream to

analyzing-cloud-storage-access-patterns

Detect abnormal access in AWS S3, GCS, and Azure Blob Storage by analyzing CloudTrail Data Events, GCS audit logs, and Azure Storage Analytics for after-hours bulk downloads, new-IP access, and API-call spikes (e.g. GetObject) via statistical baselines and time-series anomaly detection. Use when investigating suspected cloud data exfiltration or building related detection rules.

analyzing-cobalt-strike-beacon-configuration

Extract and analyze Cobalt Strike beacon configuration from PE files

analyzing-cobaltstrike-malleable-c2-profiles

Parse and analyze Cobalt Strike Malleable C2 profiles with dissect.cobaltstrike (profiles and beacon-payload configs) and pyMalleableC2 (AST parsing) to extract HTTP/DNS transforms, URIs, headers, sleep/jitter, and injection behavior, then generate network detection signatures. Use when reverse-engineering a captured malleable profile or building detections against Cobalt Strike Beacon traffic.

analyzing-command-and-control-communication

Analyzes malware C2 communication over HTTP, HTTPS, DNS, and custom

analyzing-cyber-kill-chain

Analyzes intrusion activity against the Lockheed Martin Cyber Kill Chain

analyzing-disk-image-with-autopsy

Perform comprehensive forensic analysis of raw (dd), E01, or AFF disk images with Autopsy and The Sleuth Kit, recovering deleted files, examining metadata and embedded artifacts, keyword searching, and building investigation timelines with visual reports. Use for structured analysis of a forensic disk image or when stakeholders need visual reports from evidence.

analyzing-dns-logs-for-exfiltration

Analyzes DNS query logs to detect data exfiltration via DNS tunneling,

관련 스킬