본문 바로가기

[+] Forensic

Mac OS X - Live Response (4)

Mac OS X는 다른 OS와 다르게 프로퍼티 리스트(Property List, .plist)라는 파일들이 존재한다. 해당 파일은 Mac OS X에서 실행되는 어플리케이션 정보들이 저장되는 파일인데 일반 TEXT 프로퍼티 리스트와 실행 파일 프로퍼티 리스트 두개로 종류가 나뉜다.

Text 프로퍼티 리스트 파일은 xml 형태로 되어 있으며 실행 파일 프로퍼티 리스트는 xml 형태로 되어 있지 않으나 plutil 명령어를 이용하여 xml 형태로 변형 시킬 수 있다. 이번에 살펴 볼 사용자 정보나 네트워크 정보등이 모두 프로퍼티 리스트 파일 형태이다. 첫 번째로 네트워크 정보를 한번 살펴보자. Mac OS X의 네트워크 정보는 /Library/Preferences/SystemConfiguration 디렉토리에 존재한다. 


[그림 1 - 네트워크 정보가 담긴 디렉토리]


여기서 포렌식 관점에서 주목해야 할 파일은 preferences.plist 파일과 com.apple.network.identification.plist 파일이다.

preferences.plist 파일은 네트워크의 일반적인 정보, 즉 인터페이스 카드 정보와 컴퓨터 이름등이 저장되어 있고 com.apple.network.identification.plist 파일은 네트워크 정보의 히스토리(이전에 할당 받았던 IP 주소 등)를 저장하고 있다.


[그림 2 - preferences.plist 파일의 일부]


[그림 3 -  com.apple.network.identification.plist 파일의 일부]


이번에는 사용자 정보에 대해서 알아 볼 것이다. 사용자 정보 또한 plist 파일로 저장되어 있는데 /private/var/db/dslocal/nodes/Default/users/ 디렉토리에 사용자 계정명과 동일하게 저장되어 있다. 하지만 users 디렉토리로 가기 위해서는 root 권한이 필요하다. Default 디렉토리 부터 권한이 600(rw-------) 이어서 root 외에는 접근이 불가능하다.


[그림 4 - Default 디렉토리 권한]


root 권한으로 users 디렉토리까지 들어가게 되면 [그림 5]와 같이 사용자 계정명으로 된 plist 파일들이 위치하고 있다.


[그림 5 - 사용자 정보를 담고 있는 plist 파일들]


해당 파일들은 /etc/passwd 파일과 동일하게 사용자 쉘, 권한, 홈디렉토리 등을 저장하고 있다. 또 해당 파일들은 일반 text 프로퍼티 리스트 파일이 아닌 실행 프로퍼티 파일이어서 plutil 명령어로 일반 text 파일로 변환해 주어야 분석이 가능하다.


[그림 6 - 변환 후의 파일 내용 일부분]


 * 참고 : xml 파일로 변환시 -convert xml1 옵션을 사용하면 된다. 바이너리 파일로 변환하려면 -convert binary1 옵션을 사용하면 된다.


사용자 계정 정보가 아닌 그룹 정보는 Default/groups 디렉토리에 존재한다. groups 디렉토리에는 흥미로운 파일이 존재하는데 그 파일은 admin.plist 라는 파일로 root 권한이 어떤 사용자에게 부여 되었는지 기록하는 파일이다. 이 파일 또한 실행 프로퍼티 리스트 파일이므로 변환해주어 보면 파일 맨 마지막에 [그림 7]과 같은 부분이 존재한다.


[그림 7 - admin.plist 파일 마지막 부분]


마지막으로 시스템에 마지막 로그인한 사용자를 저장하는 파일을 살펴보자. /Library/Preferences/com.apple.loginwindow.plist 파일이 이번에 살펴 볼 파일이다. 해당 파일도 일반 text 프로퍼티 리스트 파일로 변환해 주어야 한다.


[그림 8 - 마지막 로그인한 사용자 확인]



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

TSK(The Sleuth Kit) 사용 매뉴얼 한글 버전!!  (4) 2012.05.21
Mac OS X - Live Response (5)  (2) 2012.05.06
Mac OS X - Live Response (3)  (0) 2012.05.03
Memory Forensics PoketBook(KR)  (0) 2012.04.30