본문 바로가기

[+] Forensic

휘발성 정보 수집 (4)

현재 윈도우를 중심으로 각종 휘발성 정보 수집 방법을 알아보고 있는데 이번에는 아래와 같은 정보들의 대해 수집방법을 

알아볼 것이다.

- 윈도우의 서비스 목록 정보
- 시작프로그램 목록 정보
- 라우팅 테이블 정보
- 네트워크 인터페이스 정보
- 클립보드 정보
- 네트워크 공유폴더 정보
- NetBios 정보

[윈도우의 서비스정보]
서비스들의 정보를 수집, 분석 함으로써 얻을 수 있는 것은 어떠한 악성프로그램이 서비스에 등록되어 사용자 몰래 실행되고 있는지를 판단할 수 있다.
서비스 목록을 얻기 위해서는 Psservice라는 도구를 사용하면 된다.


[그림 1 - Psservice.exe 실행 결과]


종종 서비스의 설명(DISPLAY_NAME)이 없는 서비스가 있는데 그 서비스는 악성 프로그램 서비스 일수도 있고 
아닐수도 있다. 
그렇다고 하여 설명이 있는 서비스가 꼭 정상적인 서비스라고도 할 수 없다. 
일단 의심을 해봐야 한다는 것이다.


[시작프로그램 목록 정보]
시작 프로그램 목록에 등록된 서비스는 시스템이 시작할 때마다 사용자가 따로 실행하지 않아도 OS에 의해 자동으로 시작되는 서비스를 말한다.
악성프로그램이나 해커는 이 목록에 자신의 악위적인 행위를 하는 프로그램을 등록시켜 시스템이 시작할 때마다 악위적인 프로그램이 시작되어 행위를 하도록 해놓기 때문에 이 목록의 프로세스들을 필수적으로 분석해봐야 한다.
시작 프로그램 목록에 대한 정보는 autorunsc.exe 도구로 얻을 수 있다.

 

[그림 2 - autorunsc.exe 실행 결과]



[라우팅 테이블 정보 / 네트워크 인터페이스 정보]
개인 PC에도 라우팅 테이블이 있다. 또 이 정보는 손쉽게 조작이 가능해 네트워크의 데이터 흐름을 조절 할 수 있다.
게이트웨이등이 내부 개인 PC등으로 설정되어있거나 하면 중계 컴퓨터 의심을 해봐야 한다.
해당 정보를 수집 할 수 있는 방법으로는 cmd에서 기본적으로 지원하는 netstat -r(print  route)가 있다.
두 명령어 모두 결과가 똑같다. 그러므로 어느걸 사용해도 무방하다.
네트워크 인터페이스 정보를 분석해야 하는 이유는 MAC의 변조 유무를 파악하기 위해서이다. 분석하는 시스템의 MAC이 다른 시스템의 MAC과 동일하다면 sniffer(promiscuous mode) 기능을 하고 있는 것을 의심해야 한다.
일반사용자는 일반적으로 MAC을 바꾸지 않는다.
네트워크 인터페이스 정보를 얻는 방법은 ipconfig /all 명령어를 사용하면 되고, 만약 promiscuous mode 유/무를 파악하고 싶다면 PromiscDetect 도구를 사용하면 된다.

 [그림 - 3 netstat -r 명령어 실행 결과]

참고로, 이미지 하단 부분에 Persistent Routes 부분이 있는데 이 부분은 정적 라우팅 정보를 담는 부분으로 NIC이
1개인 경우 불필요한 부분이다. 

 

[그림 4 - ipconfig /all 명령어 실행 결과]

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

만약 Promiscuous mode가 발견되면 WARING 문구와 함께 알려준다. 



[클립보드 정보]
클립보드는 복사/붙여넣기 한 정보들이 저장되어 있는 곳으로, 시스템이 종료되기 전까지 정보가 유지되어 있다.
해당 정보를 분석함으로써 어떠한 중요한 정보가 나올지 모르므로 필수적으로 정보를 수집해야 한다.
XP에서는 기본적으로 클립보드 정보를 볼 수 있는 명령어가 있는 반면, XP 이후의 윈도우에는 없어 따로 도구를 사용해야 한다. 
XP에서는 clipbrd를 사용하면 된다. 

 [그림 6 - clipbrd 명령어 실행 결과]



[네트워크 공유폴더 정보]
요즘은 내부네트워크 등에서 공유폴더를 많이 쓴다. 그렇기에 분석 시스템이 공유폴더를 사용하고 있다면 분석 범위를 공유를 하고 있는 컴퓨터에게까지 넓혀야 한다.
정보 수집하는 방법은 net use 명령어를 사용하면 된다.

[그림 7 - net use 명령어 실행 결과]

net share 명령어와 다른점은 net use 명령어의 경우 원격 컴퓨터의 공유폴더 목록을 확인 할 수 있고 net share 명령어는 로컬 컴퓨터의 공유폴더 목록을 확인 할 수 있다는 점이다.



[NetBios 정보]
NetBios는 데이터를 교환할 때 정하는 이름으로 TCP/IP 프로토콜을 사용한다.
NetBios를 통해 데이터를 교환 할 경우 상대방의 IP와 NetBios 이름을 테이블형태로 저장하며, 이것을 Cached NetBios Name Table이라고 부른다.
테이블의 정보는 600초동안 유지되며 600초가 지나면 자동으로 삭제된다. 또, 테이블에서 찾고자 하는 컴퓨터의 정보가 없다면 네트워크에 브로드캐스팅 트래픽을 발생시켜 찾고자 하는 컴퓨터를 찾는다.
해당 정보 수집 방법은 cmd 기본명령어인 nbtstat -c 이다.


[그림 8 - nbtstat -c 명령어 실행 결과]

내 PC는 NetBios로 데이터를 교환하지 않아 테이블에 아무런 정보가 없다.

NetBios의 이름은 윈도우 2000부터는 DNS이름과 기본적으로 같아지도록 설정되어져 있다.
DNS와 NetBios이름을 구별하는 방법은 아래와 같다.
1. DNS 이름은 255자인 반면, NetBios는 16자 이다.
2. NetBios는 접미사가 붙는데 형태는 이름뒤에 <>가 붙고 16진수의 숫자가 <>사이에 들어가 있다.
    ex) NetBios<21>

해커나 악성프로그램은 NetBios 이름에서 여러가지 정보를 알아낼 수 있는데 접미사의 숫자에 따라 어떤 서비스가 사용되고 있는지 알 수 있다.

접미사에 따른 서비스 목록은 아래와 같다.

이름                16진수    종류  사용법 
--------------------------------------------------------------------------
<컴퓨터 이름>         00       U    워크스테이션 서비스 
<컴퓨터 이름>         01       U    메신저 서비스 
<\\--__MSBROWSE__>    01       G    마스터 브라우저 
<컴퓨터 이름>         03       U    메신저 서비스 
<컴퓨터 이름>         06       U    RAS 서버 서비스 
<컴퓨터 이름>         1F       U    NetDDE 서비스 
<컴퓨터 이름>         20       U    파일 서버 서비스 
<컴퓨터 이름>         21       U    RAS 클라이언트 서비스 
<컴퓨터 이름>         22       U    Microsoft Exchange Interchange(MSMail 
                                     커넥터) 
<컴퓨터 이름>         23       U    Microsoft Exchange Store 
<컴퓨터 이름>         24       U    Microsoft Exchange Directory 
<컴퓨터 이름>         30       U    모뎀 공유 서버 서비스 
<컴퓨터 이름>         31       U    모뎀 공유 클라이언트 서비스 
<컴퓨터 이름>         43       U    SMS 클라이언트 원격 제어 
<컴퓨터 이름>         44       U    SMS 관리자 원격 제어 
                                     도구 
<컴퓨터 이름>         45       U    SMS 클라이언트 원격 이야기방 
<컴퓨터 이름>         46       U    SMS 클라이언트 원격 전송 
<컴퓨터 이름>         4C       U    Windows NT의 DEC Pathworks TCPIP 
                                     서비스 
<컴퓨터 이름>         52       U    Windows NT의 DEC Pathworks TCPIP 
                                     서비스 
<컴퓨터 이름>         87       U    Microsoft Exchange MTA 
<컴퓨터 이름>         6A       U    Microsoft Exchange IMC 
<컴퓨터 이름>         BE       U    네트워크 모니터 에이전트 
<컴퓨터 이름>         BF       U    네트워크 모니터 응용 프로그램 
<사용자 이름>         03       U    메신저 서비스 
<도메인>              00       G    도메인 이름 
<도메인>              1B       U    도메인 마스터 브라우저 
<도메인>              1C       G    도메인 컨트롤러 
<도메인>              1D       U    마스터 브라우저 
<도메인>              1E       G    브라우저 서비스 선택 
<INet~서비스>         1C       G    IIS 
<IS~컴퓨터 이름>      00       U    IIS 
<컴퓨터 이름>         [2B]     U    Lotus Notes 서버 서비스 
IRISMULTICAST         [2F]     G    Lotus Notes 
IRISNAMESERVER        [33]     G    Lotus Notes 
Forte_$ND800ZA        [20]     U    DCA IrmaLan 게이트웨이 서버 서비스



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

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

Memory Analysis (1)  (0) 2011.12.23
휘발성 정보 수집 (5)  (0) 2011.12.23
휘발성 정보 수집 (3)  (0) 2011.12.21
휘발성 정보 수집 (2)  (2) 2011.12.20