1. 레지스트리를 활용한 시스템 및 사용자 분석
1.1 분석의 필요성
- 레지스트리는 운영체제와 사용자 활동을 기록하는 중요한 데이터 저장소
- 포렌식 분석에서는 레지스트리를 활용하여 컴퓨터 사용 기록, 로그인 정보, 실행된 프로그램 등을 확인 가능
- 주요 분석 대상은 운영체제 설정, 사용자 계정 정보, 네트워크 연결 기록, 최근 실행 프로그램 등
1.2 주요 분석 키
- 시스템 정보: 운영체제 버전, 설치 날짜, 컴퓨터 이름
- 사용자 계정 정보: 로그인 기록, 사용자 프로필
- 네트워크 연결 정보: IP 주소, 무선 네트워크 접속 이력
- 프로그램 실행 기록: 자동 실행 프로그램, 최근 실행된 파일
2. 시스템 기본 정보 분석
2.1 운영체제 및 설치 정보
- 운영체제 버전 및 설치 날짜
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion
- 활성 시스템의 경우 cmd의 sysinfo를 통해 시스템의 기본 정보 확인 가능
- 컴퓨터 이름 확인
HKLM\SYSTEM\CurrentControlSet\Control\ComputerName\ComputerName
HKLM\SYSTEM\CurrentControlSet\Control\ComputerName\ActiveComputerName
HKLM\SYSTEM\ControlSet00#\Control\ComputerName\ComputerName
HKLM\SYSTEM\ControlSet00#\Control\ComputerName\ActiveComputerName
HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
- 환경변수
- 사용자 계정 환경 변수 :
HKCU\\Environment
- 시스템 환경 변수 :
HKLM\\SYSTEM\\CurrentControlSet\\Control\\Session Manager\\Environment\
- 사용자 계정 환경 변수 :
- 설치된 프로그램 목록
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths
- 설치된 프로그램 목록, 버전, 설치 폴더 및 설치 시간 :
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall
- MSI를 이용하여 설치한 프로그램:
HKLM\SOFTWARE\Classes\Installer\Products
2.2 사용자 계정 정보
- 사용자 프로필 목록 확인
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList\[SID]
- SID(Security ID, 보안 식별자)
- Windows에서 사용자, 그룹 및 컴퓨터 계정의 고유 식별값
- 시스템 계정
S-1-5-18
: systemprofileS-1-5-19
: LocalServiceS-1-5-20
: NetworkService- 사용자 계정
S-1-5-21-2597749115-3850017851-3674950291-1001
- SID 생성 규칙
- 마지막 로그인한 사용자 정보
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon
- “LastUsedUsername” 값에는 마지막으로 로그인한 사용자 계정이자, 다음 운영체제 부팅 후 로그인 할 기본 사용자의 계정이 저장
- 사용자 로그인 시간 및 마지막 로그아웃 시간
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Authentication\LogonUI\LastLoggedOnSAMUser
3. 사용자 활동 분석
3.1 실행된 프로그램 및 최근 사용 문서
- 최근 실행된 프로그램 기록 (UserAssist 키 활용)
- ROT-13으로 암호화된 실행 기록 저장
- 실행을 한 적이 있는 프로그램의 목록과 실행경로, 실행 횟수, 최근 실행 시간 정보를 저장
- GUID subkey
- {CEB~}으로 시작되는 subkey는 실행파일 실행 기록
- {F4E~}으로 시작되는 subkey는 바로가기 실행 기록
HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\UserAssist
- 최근 사용 문서 목록 (MRU 키 활용)
- Windows 탐색기를 통해 최근에 실행되었거나 열린 파일 목록, 최근에 실행한 모든 네트워크 및 외부 저장매체 파일을 저장
%USERPROFILE%\Recent
(My Recent Documents, 내 최근 문서)와 동일- MRUListEx 값을 파싱하여 분석 가능
HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\RecentDocs
- Windows 탐색기에서 실행된 검색어 기록
- 사용자가 Windows 탐색기에서 입력한 검색어 저장
- MRUListEx 값을 파싱하여 검색어 순서 확인 가능
HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\WordWheelQuery
- 프로그램에서 팝업된 대화 상자 기록
- Word, Powerpoint, Excel 등을 사용할 때. 생성되는 "열기”나 “다른 이름으로 저장” 등의 대화 상자 기록을 저장
HKU\Software\Microsoft\Windows\CurrentVersion\Explorer\ComDlg32
- Internet Explorer나 FireFox에 의해서 Open되거나 Save된 파일
- 최근 Open되거나 Save된 파일 목록
- Windows에서 기본으로 제공하는 Open/Save Dialog Box에 의해서 Open되거나 Save된 파일을 대상
HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\ComDlg32\OpenSavePidlMRU
3.2 네트워크 연결 정보 분석
- 네트워크 카드 및 IP 주소 확인
- 할당된 IP 주소, 서브넷 마스크, DHCP 서버 정보 확인
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkCards
HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces
HKLM\SYSTEM\ControlSet00#\Services\Tcpip\Parameters\Interfaces{GUID}
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkList\Profiles
- MAC 주소 확인
- MAC(Media Access Control)주소는 IP 정보에 비해 상대적으로 변경이 어려워 분석 대상 컴퓨터를 특정하는 용도로 활용
HKLN\SYSTEM\ControlSet001\Control\Class\{4d36e972-e325-11ce-bfc1-08002be10318}
- 네트워크 공유기 연결 정보
- 공유기 MAC 주소 및 네트워크 이름 확인
- 단, 공인 IP와 사설 IP를 구분하여 분석 (사설은 관리 업체에 정보 요청)
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkList\Signatures\
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkList\Lla\Wireless
4. 자동 실행 프로그램 및 악성코드 분석
4.1 자동 실행 프로그램 확인
- 모든 사용자의 “시작 프로그램” 위치
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders\Common Startup
%ProgramData%\Microsoft\Windows\Start Menu\Programs\Startup
- 현재 로그인 되어 있는 개별 사용자의 “시작 프로그램” 위치
HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User ShellFolders\Startup
%USERPROFILE%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
- Windows가 구동되면서 실행되어야 하는 프로그램 목록 기록
- Windows가 구동되면 항상 실행:
HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
- Windows가 구동되면 1회 실행된 후, 해당 항목이 Registry에서 삭제:
HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce
- Windows가 구동되면 항상 실행:
- Windows가 구동되면서 실행되어야 하는 서비스 형태의 프로그램 목록 기록
- Windows가 구동되면 항상 실행:
HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\RunServices
- Windows가 구동되면 1회 실행된 후, 해당 항목이 Registry에서 삭제:
HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\RunServicesOnce
- Windows가 구동되면 항상 실행:
4.2 USB 및 외부 저장 장치 연결 흔적
- 연결된 USB 장치 목록
HKLM\SYSTEM\ControlSet00?\Enum\USB
- 연결된 USB 저장 장치의 제조사 및 제품명 확인
VID_XXXX&PID_XXXX
형태로 USB의 제조사(Vendor) ID와 제품(Product) ID를 의미
HKLM\SYSTEM\CurrentControlSet\Enum\USBSTOR
Ven_XXXXX&Prod_XXXXX&Rev_XXX
형태
- 최근 연결된 저장 장치 확인
HKLM\SOFTWARE\Microsoft\Windows Portable Devices\Devices
FriendlyName
필드에서 시스템에 마운트된 볼륨 이름을 확인 가능- 고유 인스턴스 ID (Unique Instance Identifier) 확인 가능
- 시리얼 번호가 있을 때 :
#{SerialNumber}&{?}#
- 시리얼 번호가 없을 때 : `#{?}&{RandomNumber}&{?}#
- 시리얼 번호가 있을 때 :
C:\Windows\INF\setupapi.dev.log
5. 결론
- 레지스트리 키를 분석하면 운영체제 정보, 사용자 활동, 네트워크 연결 기록 등을 확인할 수 있음
- 악성코드 및 불법적인 활동 여부를 확인하기 위해 자동 실행 프로그램 및 USB 연결 흔적 분석이 필수적
- 다음 포스트에서는 악성코드 탐지를 위한 레지스트리 활용 방법을 다룰 예정
📎 참고 자료
'Forensic > Registry' 카테고리의 다른 글
[Registry Forensic] 악성코드 탐지를 위한 레지스트리 활용 방법 (0) | 2025.02.24 |
---|---|
[Registry Forensic] 레지스트리 데이터 수집과 하이브 파일 분석 (0) | 2025.02.17 |
[Registry Forensic] 레지스트리의 기초 이해와 구조 분석 (0) | 2025.01.14 |