윈도우 레지스트리로부터 PC 사용자의 정보를 추출하기.
http://blog.naver.com/jb8917/120178594220
Registry
윈도우 운영체제에서 운영체제와 응용프로그램 운영에 필요한 정보를 저장하기 위해 고안한 계층형 데이터베이스
시스템 환경 설정 값과 어플리케이션 정보를 보관
모든 시스템/어플리케이션의 작동 기록과 활동 기록을 남기는 방대한 로그로서의 역할도 수행
HKEY_CLASSES_ROOT(HKCR)
시스템에 등록된 파일확장자와 그것을 열 때 사용할 어플리케이션에 대한매핑 정보 저장
HKEY_CURRENT_USER(HKCU)
현재 로그온하고 있는 모든 사용자와 그룹에 대한 정보 저장
패스워드 정보도 포함되어 있으나 관리자도 접근 불가
HKEY_USERS(HKU)
유저들의 SID에 대한 정보 저장
HKCU는 HKEY_USERS의 항목 중 현재 로그 온한 사용자의 SID 항목에 대한 단축경로임
.DEFAULT 항목은 유저들의 공통된 사항(내용)이 들어 있는 키임
HKEY_LOCAL_MACHINE(HKLM)
시스템 전체에 해당하는 환경 설정 정보를 저장
HKLM\HARDWARE
- 부팅 시 수집된 하드웨어 정보가 저장
- Memory에만 저장되며 하드디스크에 저장되지 않으므로 라이브 포렌식에서직접 분석해야 함 HKLM\SAM
- 사용자 패스워드, 소속그룹, 도메인 정보와 같은 로컬 계정 정보와 그룹정보 저장
- 관리자 계정이라도 접근이 불가능하며 오직 시스템 계정만 접근 가능
HKLM\SECURITY
- 시스템 보안 정책과 사용자 권리 할당 정보를 저장하고 있으며,
SAM 항목과마찬가지로 시스템계정만 접근 가능
HKLM\SOFTWARE
- 설치되어 있는 소프트웨어에 대한 정보 저장
HKLM\SYSTEM
- 운영체제에 관련된 정보 저장항목은 바로 위 항목에 위치한
- HKLM\SYSTEM\CurrentControlSet항 ControlSet001 or ControlSet002 목에 대한 바로가기 내용임
: 일반적으로 ControlSet001 항목이 가장 최근 부팅에서 사용된 키 값이고,ControlSet002 항목이 마지막으로
성공한 구성에 대한 키 값일 경우가 많음
- HKLM\SYSTEM\CurrentControlset\Services: 윈도우에 설치된 서비스 정보 출력
HKEY_CURRENT_CONFIG(HKCC)
부팅 시 사용하는 하드웨어 프로파일 정보 저장
HKLM\SYSTEM\Hardware Profiles\Current에 대한 바로가기 항목임
윈도우는 타 OS와 다르게 레지스트리에 의존도가 높은편이다.
때문에 어플리케이션, 계정, 보안, 하드웨어(USB 등) 정보 거의 대부분을 레지스트리에 기록을 남기게 된다.
디지털 포렌식에서는 이를 이용해서 상당히 유용한 정보를 수집할 수 있다.
레지스트리 5대 트리를 간략히 정리 (실행창에 regedit 을 입력하면 레지스트리들을 트리구조로 볼 수 있다)
HKEY_CLASSES_ROOT : 파일 확장자에 대한 정보. 파일과 프로그램 연결에 대한 정보. 마우스 우클릭정보 등
HKEY_CURRENT_USER : 현재 로그인중인 사용자들에대한 정보, 응용프로그램 관련 정보, 보안접근 허용관련 접근 등 설치된 윈도우 환경설정정보들 포함
HKEY_LOCAL_MACHINE : 하드웨어 구성 초기화 파일, 제어판과 밀접한 파일, 드라이버 정보 등
HKEY_USERS : 이전 사용자 초기화 파일 보관, 두 키 사이가 겹치면 HKEY_CURRENT_USER가 우선시됨
HKEY-CURRENT_CONFIG : 윈도우의 디스플레이 정보와 프린터 관련 정보
:HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\ComDlg32\OpenSaveMRU
최근 열리거나 저장된 파일목록 들어있다.(MRU : most recently used)
:HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\UserAssist
사용자가 접근한(실행한) 프로그램
:HKEY_LOCAL_MACHINE\SYSTEM\ControlSet00x\Enum\USBSTOR
usb 장치 정보
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows
의 AppInit_DLLs. 어플리케이션 실행시 로딩되는 dll (dll injection을 이용한 악성코드는 이곳을 이용하기도 한다)
setupapi에 대한 MSDN의 설명
Setupapi.log의 세부적인 로그 메시지
레지스트리에서 USB의 정보를 역으로 추출하는 프로그램
※ 포렌식이란
- 범죄현장에 대해서 객관적인 자료 수집과 수집한 자료를 통해서 사건의 증거자료나 원인 등을 분석 후 사법기관에 제출 할 수 있는 보고서와 제출용 자료를 만드는 방법
-> 전자기기들을 하나의 증거물에서 범죄현장 그 자체로 인식하는 것을 디지탈 포렌식이라 한다.
- 디지털 형태로 정보를 저장하는 모든 기기를 대상으로 조사하는 것을 디지털 포렌식 , 컴퓨터 포렌식의 대상은 오직 컴퓨터에 한정되며, 사이버 포렌식은 컴퓨터 포렌식과 거의 유사하지만 컴퓨터와 네트워크의 결합을 말한다.
-> 디지털 포렌식 ⊃ 컴퓨터 포렌식 ⊇ 사이버 포렌식
- 컴퓨터 포렌식은 OS , 네트워크 , 서버 , e-Discovery 에 따라서 여러 종류로 나눠진다.
※ 라이브 리스폰스
- 휘발성 정보(Volatile Data)를 수집 및 분석하는 방법 ( 비휘발성 정보도 물론 수집한다 )
- 컴퓨터가 꺼져있는 상태라면 라이브 리스폰스 작업을 할 수가 없다. ( 꺼져있는 컴퓨터를 다시 켜서 작업을 실행하는 것은 범죄현장의 증거물을 변화시키지 않는 기본 원칙에 위반된다. )
*휘발성 정보 : 시스템 시간, 네트워크 연결정보, 로그온 사용자정보 등등 컴퓨터가 꺼지거나 로그오프되면 사라지는 정보를 말한
중요성
① 휘발성 정보에서만 얻을 수 있는 Data가 존재한다.
② 시스템의 대략적인 상태를 파악하여 조사 방향을 잡는데 밑거름을 제공한다.
③ 서버컴퓨터와 같이 작동을 정지하면 안되는 컴퓨터를 조사할 때 유용하다 ( 금전적 손실 방지 )
@라이브 리스폰스는 항상 해야 좋지만 수행해서 안되는 경우가 있다.
① 비휘발성 저장장치에서 증거의 수정 및 삭제가 일어나는 경우( 디스크포맷 , 안전삭제 등 )
범죄자가 침입한 상태라면 제한적인 휘발성 정보( 네트워크 연결 정보 , 메모리 덤프를 우선적으로 수집 )
을 빨리 수집한 후 플러그를 OFF시킨다.
-> 플러그 OFF란 전원 플러그를 뽑는다. 하지만 서버용 OS나 서버 어플리케이션이 설치된 컴퓨터는 정상종료
( 데이터의 손실이 심각할 수 있으므로. DB는 큰 문제가 된다. )
② 사용하려는 도구들이 조사하고자 하는 윈도우 버전에서 충분한 검토가 이루어지지 않은 경우.
컴퓨터에 어떠한 영향을 주고 그것이 증거의 무결성이 훼손될 가능성이 있으므로.
원칙
- 원본에 미치는 영향을 최소화 한다. ( 로카르드 교환 법칙 )
▶메모리 : 데이터의 수정삭제 ① 프로세스의 실행으로 인한 이전 data의 손실
② 커널 오브젝트를 관리하는 시스템 테이블 갱신
▶네트워크 : 네트워크 기능이 있다면 로그파일의 생성으로 인한 이전 로그 삭제와
커널 오브젝트에 의해 관리되므로 커널 테이블이 갱신된다.
▶프리패치 : 윈도우는 프로그램 실행시 prefetch라는 파일이 생선된다 -> 프리패치파일의 삭제가 일어난다.
▶레지스트리 : 레지스트리 접근 - 하이브 파일의 접근 시간 갱신
레지스트리 쓰기작업 : 레지스트리 키의 마지막 쓰기 시간 변경
▶DLL(Dynamic Link Library) : 정적 링킹(static linking)으로 컴파일 되지 않는
프로그램은 외부함수를 이용하려면 DLL이 필요
- > 접근시 접근 시간 갱신
*DLL은 크게 상관 없지만 해커나 악성프로그램에 의해 교체됐다면 문제발생
▶로그파일 : 도구의 에러, 이벤트 로그 등으로 기록을 남김 -> 기록의 삭제,수정
포렌식 개론 - 1 http://boanin.tistory.com/48
포렌식 개론 -2 http://boanin.tistory.com/62
포렌식 - 파일시스템 http://boanin.tistory.com/78
포렌식 - 윈도우포렌식1 http://boanin.tistory.com/85
댓글 영역
획득법
① NFT 발행
작성한 게시물을 NFT로 발행하면 일주일 동안 사용할 수 있습니다. (최초 1회)
② NFT 구매
다른 이용자의 NFT를 구매하면 한 달 동안 사용할 수 있습니다. (구매 시마다 갱신)
사용법
디시콘에서지갑연결시 바로 사용 가능합니다.