본문 바로가기

[+] Forensic

휘발성 정보 수집 (2)

휘발성 정보 수집에는 여러가지가 있는데 이에 대해 간단히 알아 볼 것이다.

[시스템 시간]
시스템 시간은 포렌식에서 중요한 의미를 갖는다.
시스템 시간은 윈도우 cmd에서 기본적으로 지원하는 data와 time 명령어로 수집 가능하다.
윈도우 하단에 있는 트레이바의 시간패널을 조작하면 레지스트리에 기록이 남지만, cmd 명령어로 수정할 경우 레지스트리에 기록이 남지 않는다.

 [그림 1 - 시스템 시간 수집 화면]


[네트워크 연결 정보]
휘발성중에 휘발성이라 할 수 있는 정보이다. 만약 개별적으로 운영하는 방화벽이나 방화벽 어플리케이션이 있다면 해당 정보보다 더 우선적으로 방화벽 로그의 분석이 수행 되어야 한다. 해당 정보는 순간 정보이지만, 방화벽의 정보는 장기간에 걸친 정보이기 때문이다.
네트워크의 연결 정보는 윈도우 cmd의 netstat 명령어로 수집 할 수 있으며 여러가지 옵션이 있으므로 한번씩 테스트 해보는 것이 좋다.
 

[그림 2- netstat 명령어의 결과]



[프로세스 목록]
프로세스 분석은 기본중에 기본이며, 어떠한 행위가 어떠한 이유에서 일어났는지에 대한 근거가 될 수 있다.
만약 syetem32 폴더에 없는 시스템 프로세스나, 부모 프로세스가 될 수 없는 프로세스에 자식 프로세스가 있는 등 이상현상 등을 탐지 할 수 있기에 프로세스 목록은 중요하게 다뤄진다.
프로세스 목록을 수집하는 방법은 여러가지가 있으며 윈도우 cmd에서 기본적으로 지원하는 Tasklist가 있고, 다른 도구로서는 Pslist가 있다.
Tasklist Pslist는 프로세스의 전체경로는 나오지 않는다.
Pslist의 경우 -t 옵션을 주면 Tree 형식으로 프로세스를 보여줘, 부모 프로세스와 자식 프로세스의 관계를 직관적으로 파악할 수 있다.
GUI형태의 도구로는 Process Monitor, Process Explorer가 있다. GUI 형태의 CLI 보다 시스템에 영향을 많이 주게 되지만 프로세스의 전체경로와 DLL, TCP 동작 등 여러가지 정보를 제공한다.
아래는 CLI 형태의 도구들의 동작 이미지이다.

[그림 3 - tasklist 명령어 결과]

[그림 4 - Pslist 프로그램 실행 결과]


[Handle(핸들) 정보]
핸들은 프로세스에 기본적으로 여러개가 있으며, 핸들이 실제로 가리키고 있는 오브젝트는 레지스트리에 기록되어있다.
핸들정보를 수집 할 때에는 sysinternals.com에서 만든 Handle.exe 파일을 주로 사용한다.

 [그림 5 - Handle.exe 실행 결과]

※ 기존에 다른 도구들을 테스트 했던 Win7에서 이 도구는 관리자권한을 요구 해 runas로 하려 했으나
    Win7 Home 버전이어 관리자계정 정책을 바꾸지 못하여 부득이 하게 Win XP SP2에서 테스트 하였다. 


[DLL 목록]
만약 침해사고가 일어난 시스템에서 DLL Injection으로 인해 사고가 일어난 것이라면, 프로세스 목록만으로는 원인 분석등을 하기 어렵다. 그렇기에 DLL 목록을 얻어와 분석을 해야 한다.
DLL 목록은 Sysinternals.com에서 만든 ListDlls.exe 라는 도구로 쉽게 얻을 수 있다.

 [그림 6 - ListDlls.exe 실행 결과]


위 도구들 중 sysinternals.com에서 만든 도구들은  http://live.sysinternals.com/ 에서 다운로드 할 수 있다.
 

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

휘발성 정보 수집 (4)  (0) 2011.12.21
휘발성 정보 수집 (3)  (0) 2011.12.21
휘발성 정보 수집 (1)  (0) 2011.12.20
Dynamic-Link Library Redirection  (0) 2011.12.19