본문 바로가기

[+] Forensic

윈도우 계정

이번글에서는 윈도우의 계정 관리 체계를 알아 볼 것이다.

윈도우는 사용자가 알기 쉽도록 이름으로 계정을 표기해주며 자신이 계정을 이해 할 때에는 SID라는 것을 사용하여 계정을 관리 한다.

이름으로 나열하는 경우 하나의 시스템에서는 문제가 되지 않지만, 도메인등의 다른 컴퓨터와 그룹형식으로 묶여 있을 경우 이름의 중복이 생길 수 있어 윈도우는 SID라는 것을 사용하여 관리하는 것이다. 

SID의 형식과 의미는 다음 이미지에서 볼 수 있다.

[그림 1 - SID 형식]

SID 부분 중에 3번째(위에서 21로 시작하는 부분)에 해당하는 Sub-authority value는 다른 부분들과 다르게 랜덤으로 결정된다.

위 이미지의 SID는 XP SP2에서 가져온 것이지만, Win 7에서도 아직까지 위 SID 형식을 그대로 사용한다.

Identifier Authority value에는 여러가지 권한에 따른 값이 있는데 목록은 다음과 같다.

 - 0 : NULL Authority
 - 1 : World Authority
 - 2 : Local Authoirty
 - 3 : Creator Authority
 - 4 : Non-unique Authority
 - 5 : NT Authority
 - 6 : Resource Manager Authority


RelativeID(RID)도 보안권한 값과 마찬가지로 기본계정들에 대해서는 값이 미리 정해져 있다. 

[그림 2 - 기본 RID]

위 목록표에 SID도 같이 나와 있는데 이처럼 미리 정해져 있는 SID들이 존재하고 그 존재하는 SID를 '잘 알려진 SID(Well-known SID)'라고 한다.

SID의 목록은 꽤 많아 아래 링크를 참조하기 바란다.

http://support.microsoft.com/kb/243330 



지금까지 SID에 대해서 알아 봤는데 이 형식은 컴퓨터가 이해하는 형식이고 조사관들처럼 사람이 인식하는 형식은 아니다.

사람들이 인식할 수 있게끔 SID와 명칭을 연결지어줘야 하는데 이 방법을 지금부터 알아 볼 것이다.

첫번째 방법으로는 HKLM 루트키의 서브키 중 ProfileList 키를 찾는 것이다.(SID를 알고 계정명을 모를 때)

키 : HKLM\Software\Microsoft\Windows NT\ProfileList

[그림 3 - ProfileList 키]

키의 Value 중 ProfileImagePath라고 있는데 이 Value의 data를 보면 계정명을 알 수 있다.

* 참고 : ProfileList 키는 시스템의 모든 계정을 보여주지 않고, Local System, Local Service, Network Service 계정과 사용자 계정만 보여준다.


두번째 방법으로는 윈도우 탐색기를 이용하는 방법이 있다.(계정명을 알고 SID를 모를 때)

위치 : Document and Settings\<UserName>\Application Data\Microsoft\Credentials

위 위치를 탐색기로 가면 하위 폴더 이름명이 SID 인것을 발견 할 수 있다. 해당 계정명에 SID인 것이다.

[그림 4 - 탐색기를 이용한 방법]

* 참고 : 이 방법도 첫번째 방법과 마찬가지로 모든 사용자 계정에 적용하지 못한다.


세번째 방법으로는 포렌식 전문 도구를 이용하는 것이다.

포렌식 통합 분석도구도 괜찮고 계정 정보 연결을 위한 전용 분석 도구를 사용해도 문제는 없으나, 활성시스템에서 사용하기에는 조금 바람직하지 못하다.

대부분 포렌식 이미징을 통해 하기 때문에 도구들도 포렌식 이미징에 계정정보들을 파싱해서 보여준다.

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

이벤트 로그  (1) 2012.01.11
휴지통 분석  (0) 2012.01.10
Registry (11)  (0) 2012.01.07
Registry (10)  (0) 2012.01.07