본문 바로가기

[+] Forensic

Registry (11)

[MRU(Most Recently Used)]
윈도우는 사용자가 특정 행위를 하였을 때 마지막 행위를 레지스트리에 기록해 두는데 이 목록이 MRU List이다.
이제부터 소개하는 것들이 MRU List에 포함 되는 것들이다.

[검색 목록]
윈도우의 검색 목록은 레지스트리에 XP의 경우 검색 종류에 따라 각각 기록되는 서브키가 다르며, Win 7의 경우 통합적으로 기록이 된다.

키(XP) : HKCU\Software\Microsoft\Search Assistant\ACMru\5603  --> 모든 파일과 폴더 검색 기록
키(XP) : HKCU\Software\Microsoft\Search Assistant\ACMru\5001  --> 로컬 인터넷 검색
키(XP) : HKCU\Software\Microsoft\Search Assistant\ACMru\5647  --> 컴퓨터와 사람들 검색
키(XP) : HKCU\Software\Microsoft\Search Assistant\ACMru\5604  --> 음악, 그림, 동영상 검색


[그림 1 - ACMru 키의 서브키]


키(Win 7) : HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\WordWheelQuery

[그림 2 - Win 7의 WordWheelQuery 키]

위 이미지에 나와 있는 것처럼 검색 순서는 MRUListEx data에서 알 수 있다. 

* 참고 : Vista는 검색 기록을 레지스트리에 남기지 않는다. 

 

[최근 문서]
윈도우 버튼을 누르면 각 윈도우마다 내 최근 문서라고 하여 최근에 열었던 파일들을 나열해주는 기능이 있다.
이 기능또한 레지스트리를 참조하는 기능으로서 레지스트리를 통해 확인이 가능하다.

키 : HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\RecentDocs
 

[그림 3 - RecentDocs 키]

각 Value의 data를 확인 해 보면 파일을 확인 할 수 있으며 순서는 MRUListEx를 참고하면 된다. 


[최근 실행명령어]
윈도우 버튼을 누르면 실행이란 부분을 볼 수 있다. 일반 사용자들은 이 부분을 잘 사용하지 않지만 관리자나 컴퓨터에 대해서 조금만 알고 있는 사람들은 이 실행창을 자주 이용한다. 이 실행창에서의 명령어 리스트를 아래 키에서 볼 수 있다.

키 : HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\RunMRU

[그림 4 - RunMRU 키]

이 키의 MRUList Value는 위의 MRUListEX Value와 다르게 순서가 알파벳으로 저장된다. 물론 실행된 기록들 또한 알파벳으로 저장된다.


[원격 데스크탑 연결 목록]
이 기능도 의외로 많이 사용하는 기능중 하나이다. 이 기능을 사용하여 원격 PC에 접속하고 나중에 다시 접속하려고 보면 예전에 접속했던 IP가 목록화 되어 남아 있는 것을 볼 수 있는데 이 정보 또한 레지스트리에 기록되는 정보이다.

키 : HKCU\Software\Microsoft\Terminal Server Client\Default

MRUx 형태로 Value가 되어 있는데 x는 0부터 시작한다. 숫자가 작을수록 최근에 접속한 IP이다. 


[대화상자를 통한 접근 기록]
대부분 프로그램에서 사용자에게 파일을 열도록 유도할 때 대화상자를 이용하는데 대부분의 프로그램이 윈도우 기본 대화상자를 사용한다. 이 대화상자를 통해 접근한 최근 폴더나 파일의 기록 또한 레지스트리에 남는다.

키(Vista/7) : HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\ComDlg32\LastVisitedPidMRU --> 최근 접근한 폴더
키(Vista/7) : HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\ComDlg32\OpenSavePidlMRU --> 최근 저장하거나 읽은 파일


이 키의 Value 또한 알파벳으로 표현되며, 두 키의 내용은 거의 비슷하나 OpenSavePidlMRU의 경우 확장자 별로 확인 할 수 있다. 

* 참고 : XP의 경우 키 이름에서 Pid만 제거하면 XP의 키 이름이 된다. 


[네트워크 드라이브 맵핑 정보]
윈도우는 원격에 있는 다른 컴퓨터의 하드디스크나 폴더를 로컬 컴퓨터의 드라이브로 맵핑 하여 사용한 정보를 레지스트레 기록한다. 

키 : HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Map Network Drive MRU

이 키또한 Value가 알파벳으로 표현된다. 



[마지막으로 접근한 레지스트리 키 정보]
아래 키에서 확인 할 수 있다.

키 : HKCU\Software\Microsoft\Windows\CurrentVersion\Applet\Regedit

LastKey Value의 data로 알 수 있다. 


[파일 접근 시간 업데이트 여부]
이 기록은 Win Vista/7에서만 사용하는 것으로 아래 키에서 확인 할 수 있다.

키 : HKLM\System\CurrentControlSet\Control\FileSystem

[그림 5 - FileSystem 키]

NtfsDisableLastAccessUpdate Value의 값에 따라 업데이트 여부가 결정 된다.
 - 0 : 업데이트
 - 1 : 업데이트 하지 않음(Default) 


디렉토리 리스닝의 속도를 빠르게 하기 위해 기본적으로 사용하지 않음. 


[휴지통 우회]
휴지통을 통해 삭제가 되는가, 휴지통을 거치지 않고 삭제가 되는가를 결정해주는 키가 있다.

키(XP) : HKLM\Software\Microsoft\Windows\CurrentVersion\Explorer\BitBucket
키(Vista/7) : HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\BitBucket\Volume\<GUID>


[그림 6 - Volume 키]

 - 0 : 삭제시 휴지통으로 이동(Default)
 - 1 : 삭제시 휴지통을 거치지 않고 바로 삭제 


XP의 경우 레지스트리 한번의 설정으로 모든 사용자가 동일하게 적용 받지만, Vista/7은 Volume과 사용자 별로 설정 할 수 있다.


[삭제된 프로그램 정보]
원래 이 키의 목적은 프로그램의 이름을 다국적 언어로 지원하기 위해 한번 실행된 프로그램의 이름을 이 키에 저장해 두었다가 후에 해당 프로그램이 실행되면 이 키를 읽어 프로그램의 이름을 다국적 언어로 표현하기 위한 것이다.
하지만 이 키에 등록된 Value는 한번만 등록되더라도 지워지지 않는 특성이 있어 포렌식적으로 중요한 의미를 지닌다.

키 : HKCU\Software\Classes\Local Setting\Software\Microsoft\Windows\Shell\MuiCache

[그림 7 - MuiCache 키]

실행 전체경로와 실행 파일명까지 나와 있는 것을 볼 수 있다. 


지금까지 알아 본 레지스트리들만이 포렌식적으로 의미를 갖는 것은 아니다.

여기서 다루지 않은 레지스트리 키들도 다른 정보와 결합하거나 의미를 갖지만 아직 알려지지 않았을 뿐이다. 

'[+] Forensic' 카테고리의 다른 글

휴지통 분석  (0) 2012.01.10
윈도우 계정  (0) 2012.01.10
Registry (10)  (0) 2012.01.07
Registry (9)  (0) 2012.01.06