[서비스 및 드라이버 목록]
이 정보는 라이브 리스폰스 단계에서 수집되는 정보이며, 레지스트리에서도 수집 할 수 있는 정보이다.
아래 키로 가면 서비스와 드라이버 목록들이 서브키로 나열되어 있다.
드라이버 목록과 서비스를 구별하는 방법은 각 서브키의 Value 중 type이란 Value의 값을 보면 판단 할 수 있다.
키 : HKLM\System\CurrentControlSet\Service
Start Value 값에 따라 자동 시작되는 서비스가 될 수도 있고 안될 수도 있다.
* 타입별 자세한 설명은 http://support.microsoft.com/kb/103000 참조하기 바란다.
[로그온 자동 시작점]
윈도우는 사용자가 로그온을 하면 HKCU 레지스트리 해당 사용자의 하이브 파일을 읽고 그 안에 있는 자동시작 항목등을 차례대로 실행한다. 사용자별 자동시작 프로그램 목록은 서로 다르며, 그 이유는 아래처럼 여러가지의 키가 존재하기 때문이다.
키 : HKLM\Software\Microsoft\Windows\CurrentVersion\Run
키 : HKLM\Software\Microsoft\Windows\CurrentVersion\Runonce
이 두 키의 경우 로그온한 사용자 상관없이 프로그램이 실행되게끔 하는 키이다.
키 : HKCU\Software\Microsoft\Windows\CurrentVersion\Run
키 : HKCU\Software\Microsoft\Windows\CurrentVersion\Runonce
이 두 키의 경우 해당 사용자가 로그온 했을 때만 실행되게끔 하는 키이다.
그리고 Run, Runonce 서브키로 나뉘는 것을 볼 수 있는데 Run 키의 경우 시스템이 부팅될 때마다 실행시키는 키 이고,
Runonce는 한번만 실행되게끔 하는 키이다.
그리고 RunonceEx 라는 키가 HKLM과 HKCU에 또 존재한다. 이 키는 Runonce와 같은 성격의 키 이지만, 프로그램을 처리하는 방식이 다르다. Runonce의 경우 프로그램의 연관성을 무시하고 실행시키지만, RunonceEx의 경우 연관성 있는 프로그램끼리 그룹으로 묶어 처리하고, 처리 과정을 GUI 방식으로 사용자에게 보여 줄 수 있다.
[감사 정책]
다른 OS와 마찬가지로 윈도우도 시스템 내부에서 일어나는 여러 이벤트에 대한 보안 로그를 남긴다.
보안 로그 기록의 기준이 감사 정책인데 관리자 도구를 이용해서도 알 수 있지만, 레지스트리에서도 알 수 있다.
키 : HKLM\Security\Policy\PolAdtEv
Value : (기본값)
Windows 버전마다 레지스트리에서의 감사정책별 offset이 다르다. 아래는 XP의 감사정책 별 오프셋 목록표 이다.
아래는 Win Vista/7의 감사 정책 별 offset이다.
모든 버전의 윈도우들은 위 오프셋중에서 0을 제외한 나머지 오프셋의 값들은 아래와 같은 의미를 지닌다.
- 0x00 : 감사 정책 없음
- 0x01 : 성공 이벤트 감사
- 0x02 : 실패 이벤트 감사
- 0x03 : 성공, 실패 이벤트 감사
감사별 자세한 항목은 아래 문서를 참조하면 된다.
[무선 네트워크 정보]
만약 공격자의 컴퓨터를 조사한다고 하였을 때 대부분의 용의자는 공개 AP등을 이용하여 자신의 위치정보를 속여 공격을 하려고 할 것이다. 이러한 이유를 근거로 공격자는 범죄 행위를 부인 할 것이며, 조사관은 공격자가 어느 장소에서 접속했다는 증거를 공격자에게 제시하여 공격자의 주장을 무효화 시킬 수 있다.. 이러한 경우 공격자의 컴퓨터에서 용의자가 접속한 AP 정보를 찾아야 하며 윈도우의 경우 레지스트리에 그 정보가 있다.
해당 정보는 아래의 키에 있다.
키(XP) : HKLM\Software\Microsoft\WZCSVC\Parameters\Interface\{GUID}
Value : Static#000X
키(Vista/7) : HKLM\Software\Micrsoft\Windows NT\NetworkList\Nla<Wireless, Signature, Profile>
XP의 경우 해당 Value의 데이터만 보면 SSID 문자열을 찾을 수 있다.
하지만 Vista/7의 경우 Profile과 GUID(Globally Unique Identification Number)등이 나눠져 있어 한번에 SSID를 찾기가 쉽지 않다. 아래에는 Vista/7에서 네트워크 정보에 관한 서브키들의 연관성을 보여주는 이미지이다.
해당 순서는 서브키의 값을 따라 이동한 순서로 아래에 이미지를 참고하면 이해가 갈 것이다.
Wireless 서브키의 하위키의 이름이 무선 네트워크 식별자이며 Unmanaged와의 연관성으로 여러 정보를 확인 할 수 있다.
Unmanaged 하위키에서 찾고자 하는 무선 네트워크 식별자를 찾은 뒤 Value와 data를 확인 해 보면 아래와 같다.
ProfileGuid의 data 값을 Profile 서브키에서 찾아 data를 보면 접속한 AP에 대한 정보가 나온다.
이 순서가 2번 순서이다.
마지막 접속시간의 경우 hex값을 우리가 알아 볼 수 있는 시간으로 바꾸려면 아래와 같은 과정을 거쳐야 한다.
1. 기존의 값을 2바이트씩 끊어 Little Endian 방식을 적용하여 변경한 뒤 10진수로 바꿔준다.
2. 변환한 값을 각 자리가 뜻하는 것으로 맞추면 된다.
각 네트워크 카드를 확인하여 해당 네트워크 카드에 할당된 네트워크 정보를 보면 된다.
키 : HKLM\Software\Microsoft\Windows NT\CurrentVersion\NetworkCards
위 빨간색 박스안에 있는 문자열이 네트워크 카드 GUID이다. 해당 GUID를 아래 키에서 찾으면 된다.
키 : HKLM\System\CurrentControlSet\Service\Tcpip\Parameters\Interface\<GUID>
Value 중에 DhcpIPAddress가 있는데 이것이 해당 네트워크카드에 dhcp가 할당해준 IP 주소이다.
이 Value 말고 IPAddress가 있을수도 있는데 이 Value는 사용자가 직접 수동으로 설정해준 IP주소를 뜻한다.
하지만 여기서 끝이 아니다. 위 처럼 사설아이피라면 모든 공유기와 연결지어도 말이 되기 때문에 증거로서 효력이 없다.
정확하게 특정한 AP와 아이피를 연결시켜야한다. 이는 DhcpNetworkHint에 나와있다.
DhcpNetworkHint Value의 data를 2자리씩 끊어 리틀엔디안으로 변환하면 다음과 같다.
이렇게 변환한 값을 가지는 Wireless의 서브키를 찾으면 된다.
이런 후에 위에 AP찾는 방법을 이용하여 찾으면 모든 네트워크 정보가 연결 된다.
'[+] Forensic' 카테고리의 다른 글
Registry (11) (0) | 2012.01.07 |
---|---|
Registry (10) (0) | 2012.01.07 |
Registry (8) (2) | 2012.01.06 |
Registry (7) (0) | 2012.01.04 |