메모리 분석에 앞서 해야 할 작업은 메모리 덤프 파일을 시스템으로부터 얻는 것이다.

메모리 덤프를 얻기 위해서는 다음과 같은 방법들이 있다.

 - 하드웨어를 이용한 방법
 - 소프트웨어 도구를 이용한 방법
 - OS 크래시 덤프를 이용한 방법
 - 하이버네이션 파일을 이용한 방법

각 방법은 장단점이 있어 조사관의 판단에 따라 상황에 맞게 적절하게 사용해야 한다.

위 방법들을 순서대로 차근차근 알아보도록 하자.

먼저 하드웨어를 이용한 방법이다.

하드웨어를 이용한 방법을 알아보기 전에 장단점이 무엇인지 부터 알아보고 어떠한 세부적인 방법들이 있는지 알아보도록 한

다.

[하드웨어를 이용한 메모리 덤프 장단점]
1. 장점
    - 커널 투르킷과 같은 악성 프로그램에 의해 방해를 받거나 잘못된 메모리 정보를 덤프할 가능성이 매우 낮음.
    - 메모리 덤프 속도가 빠름
    - DMA(Direct Memory Access) 기능을 사용하므로 OS 특성과 무관하게 메모리에 직접 접근이 가능함.
    - 프로그램을 실행하지 않으므로 시스템 메모리에 영향을 미치지 않음.

2. 단점
    - 아직 그 안정성이 완전히 검증되지 않음
    - 간혹 시스템 크래시를 일으킴
    - 최신 마더보드 칩셋들이 가지는 MIMO 기능으로 인해 해커나 악성 프로그램이 메모리에 덤프 작업을 방해할 가능성이
       있음. 

* DMA(Direct Memory Access) : CPU의 도움없이 메모리에 접근하는 방법으로 입출력장치들이 많이 쓰며,
                                            이 기능을 사용함으로써 입출력장치와 CPU의 속도차가 개선된다.
                                            이 기능의 메모리 맵핑은 OS가 아닌 하드웨어에서 이루어진다.
* MIMO(Memory Mapped IO) : I/O를 하기 위한 특별장치 없이 레지스터 설정만으로 메모리와 맵핑하여
                                         입출력이 가능하게 하는 기능



하드웨어를 이용한 메모리 덤프의 좋은점과 나쁜점을 알아봤으니 이제 어떠한 세부적인 방법들이 있는지 알아볼 차례이다.

[하드웨어를 이용한 메모리 덤프 방법 종류]
1. PCI 장치
    - 일반적으로 잘 알려진 메모리 덤프 방법으로 Joe Grand와 Brian Carrier이 함께 저술한  'A Hardware-Based Memory
      Acquisition Procedure for Digital Investigations' 논문으로 일반에 알려졌다.
      Tribble라는 장치를 사용하며 이 장치는 실험적인 장치여서 구매가 불가능하다.



2. FireWire 장치
    - IEEE1394 인터페이스를 사용하며, Adam Boileau가 최초로 Python 프로그램이 설치된 리눅스 머신을 이용하여
       Firewire로 시스템 메모리를 복사하는 방법을 개발 하였다. 이 장치는 윈도우에서도 사용가능하며, 대상 컴퓨터에
       무언가를 설치할 필요가 없고, PCI 장치 방법보다 간편하다.



하드웨어를 이용한 방법은 실습을 할 방법이 없어 이렇게 설명만으로 공부를 해야한다.

직접 실습을 해보기 위해서는 개인적으로 하드웨어 장비를 구해서 해본다던가 회사를 다닌다면 회사를 통해 하드웨어 장비를

구해 실습해 보는 수밖에는 없다.

포렌식 사업을 하는 회사라면 포렌식 장비가 있을 것이므로 실습하기 좋겠지만, 그렇지 않다면 실습하기가 힘들것이다. 

일단 하드웨어를 이용한 메모리 덤프 방법들은 이런것이 있다는 것만 알고 넘어가는 것이 좋을 듯 하다. 

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

Memory Analysis (3)  (2) 2011.12.25
HardDisk 구조  (0) 2011.12.24
Memory Analysis (2)  (0) 2011.12.24
Memory Analysis (1)  (0) 2011.12.23
휘발성 정보 수집 (5)  (0) 2011.12.23
포렌식에서 빼놓을 수 없는 부분이 있는데 그 부분이 바로 메모리 분석 부분이다.

메모리에는 프로세스의 데이터(임시 데이터일수도 있음), 사용자 패스워드, 복호화된 데이터 등이 기록되어 있다.

메모리 분석 분야는 최근에 들어서 관심과 기술이 발전하기 시작 했는데 그 이유는 다음과 같다.

[메모리 분석 분야 관심 이유]
1. 하드 드라이브에 실행파일이 저장되지 않고 메모리에 바로 로드 되어 실행되는 악성 프로그램이 존재하기
    때문

    - 조사대상 시스템에서 프로그램은 실행되고 있으나 하드 드라이브에 실행파일이나 실행 코드가 없다면 분석에
       난항을 겪게 될 것이다. 이때 메모리 분석을 통해 어떠한 프로그램이 실행되고 있는지 파악 할 수 있다.
       이러한 식으로 하드 드라이브에 자신을 상주시키지 않고 메모리에 상주하는 프로그램들이 생겨났기 때문에
       메모리 분석이 중요시 되고 있는 것이다.

2. 사용자 응용 프로그램의 프라이버시 보호 기능이 강화되고 있기 때문
    - 요즘은 일반 회사에서 응용 프로그램을 개발 할 때 프라이버시 보호 기능때문에 응용 프로그램 사용기록등을
       예전처럼 평문이 아닌 암호화나 아예 하드 드라이브에 남기지 않게끔 개발하고 있다. 
       하지만 필요치 않기 때문에 하드 드라이브나 외부 저장장치에 남기지 않는 것이 아니기 때문에 메모리에는 존재하기
       마련이다(존재하지 않을 수도 있음)

3. 안티 포렌식 기술의 확산으로 하드 드라이브에 존재하고 있는 데이터의 무결성 등이 완전하지 못하기 때문
    - 안티 포렌식 기술 중 루트킷과 데이터 안전삭제가 있는데, 루트킷이 라이브 리스폰스로 얻을 수 있는 정보에 어떠한
       변형을 일으켰다면 해당 정보의 원형을 찾기 위해 메모리를 분석해야 한다. 또 데이터 안전삭제는 기존의 데이터를
       덮어씌우는 것으로 데이터가 덮어씌어지면 복구할 방법이 없어 조사를 진행하기가 어렵다. 이때도 메모리 분석을 하여
       지워진 데이터를 복구하여야 한다(메모리에 완전한 데이터가 있는 것이 아닌 일부 데이터만 있는 것을 복구)


위와 같은 이유로 포렌식 관점에서의 메모리 분석 분야가 관심을 받기 시작 했지만 아직까지는 발전단계가 높은 편이 아니다.

메모리 분석에 관심을 가진 시간이 짧을 뿐더러 메모리 분석을 하기 위한 선행지식이 너무 방대하고 메모리 구조는

운영체제마다 다르고 세부적으로 패치에 따라 달라질 수 있기 때문에 아직까지 발전단계가 낮은 것이다. 

메모리 분석과 라이브 리스폰스를 비교 해 봤을 때 메모리 분석 과정이 라이브 리스폰스 과정에 포함될 수 있다.

메모리 분석을 통해 얻는 정보는 대부분 라이브 리스폰스에 정보와 일치하기 때문이다.

하지만 메모리 분석을 위한 선행지식, 기술들을 봤을 때 라이브 리스폰스 과정에 메모리 분석을 넣는 것은 조사관 판단에 달려있다.

얻어지는 정보가 비슷하거나 일치한다고 하여 메모리 분석을 라이브 리스폰스로 대체하는 것은 불가능하며, 그 반대의 경우도

마찬가지 이다.(이론적으로는 가능하지만, 현실적으로는 불가능) 

라이브 리스폰스는 메모리 분석과 비교하였을 때 아래와 같은 약점을 지니고 있다.

[라이브 리스폰스의 약점]
1. 윈도우 API(DLL)에 의존
    - 라이브 리스폰스 도구들은 대부분 윈도우에서 기본적으로 제공하는 API에 의존하고 있다. 그렇기에 악의적인 해커나
      악성 프로그램이 윈도우의 DLL 파일들을 변조하거나 교체한다면 그 DLL을 사용하는 라이브리스폰스 도구의 결과는
      신뢰성이 떨어질 것이다.
 
2. 동일한 시스템에서 반복 수행 불가
    - 라이브 리스폰스의 정보는 모두 휘발성으로 시간이 지나고 다시 같은 방법으로 수집하여도 데이터가 일치한다고
      보장하지 못한다. 이로 인해 라이브 리스폰스의 데이터가 합법적인 절차를 통해 수집되었다는 증명을 하지
      못 할 수도 있다.
      객관적인 증명을 하려면 동일한 환경에서 동일한 수행이나 입력이 되었을 때 동일한 결과가 나와야 하는데 라이브
      리스폰스는 그렇지 못하다. 

3. 조사관은 나중에 더 이상 새로운 조사 진행 불가 
    - 조사관은 하나의 휘발성 정보를 수집하기 위해 여러가지 방법을 사용해야 한다. 이유는, 휘발성 정보를 증거나
      참고용으로 제출했으나, 상대편에서 반박을 하면 객관적인 증명을 하기 위해 다른 방법으로 조사하여 동일한 결과값을
      얻은 증거를 제출해야 한다. 하지만 라이브 리스폰스는 수행과정에서는 여러 방법을 사용해 정보를 수집할 수 있지만 그
      조사가 끝나고 나면 다시 정보를 수집할 방법이 없다.
      (물론 반박을 대비해 여러가지 방법을 사용해 정보를 수집하면 좋지만, 경과시간 등을 비교 해 봤을 때 썩 좋은 방법은
      아니다) 


위와 같이 라이브 리스폰스는 약점을 가지고 있는 반면 메모리 분석은 라이브 리스폰에 대해 다음과 같은 강점을 가지고 있다.

[메모리 분석의 강점]
1. 윈도우 API(DLL)에 의존하지 않음
   - 메모리를 분석하기 위해 사용되는 API는 윈도우의 프로세스/메모리에 관련된 API가 아닌, 파일시스템의 API이기 때문에
     API의 변조와 상관이 없어 얻어진 결과에 대해 신뢰성을 가질 수 있다.

2. 반복조사 가능
   - 메모리 분석 대상은 변하지 않는 것이기 때문에 언제든지 조사를 반복 할 수 있으며, 라이브 리스폰스와 달리 언제든지
     동일한 입력값을 통해 동일한 결과를 얻을 수 있다. 

3. 다양한 조사 가능
   - 메모리 분석 대상은 조사가 끝나도 존재하기 때문에(라이브 리스폰스는 존재하지 않음) 언제든지 다른 조사방법이나
     새로운 조사방법을 적용하여 조사를 다시 할 수 있다.  

 
위와 같이 메모리 분석에 강점이 있긴 하지만, 아주 큰 약점이 있다.

아직까지 메모리 분석 발전단계가 높지 않아 메모리 분석을 위해 덤프파일을 생성하는 메모리 덤프 도구등에 발전이 낮아

덤프파일의 완성도가 높지 않다는 것이다.

그렇기에 라이브 리스폰스와 메모리 분석을 적절히 상호작용해가며 조사를 해야 할 것이다.

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

HardDisk 구조  (0) 2011.12.24
Memory Analysis (2)  (0) 2011.12.24
Memory Analysis (1)  (0) 2011.12.23
휘발성 정보 수집 (5)  (0) 2011.12.23
휘발성 정보 수집 (4)  (0) 2011.12.21
마지막으로 휘발성 정보 수집은 프로세스 덤프가 있다.

[프로세스 덤프]
프로세스는 소스코드와 DLL 파일, 실행전체경로 등을 가상메모리에 업로드해 동작한다.
프로세스 덤프란 정확히 말하면 프로세스가 사용하는 가상메모리를 덤프하는 것이며, 덤프를 분석함으로써 좀 더 정확하고 중요한 정보를 얻게 될 수 있다.
덤프 방법으로는 MS사에서 개발한 userdump.exe 도구를 사용하는 것인데, 이 도구는 일반적으로 OS에 포함되어 있지 않기 때문에 별도로 다운받아 설치를 해야 한다.
이 도구는 32bit 환경의 시스템과 64bit 환경의 시스템을 지원하기 때문에 호환성이 좋다.
해당 도구를 사용할 때는 프로세스가 정지상태이어야만 정확한 덤프가 가능하다.
프로세스가 동작하고 있다면 메모리에 내용이 덤프 중 변경 될 수 있어 정확도가 떨어진다.
다운로드 :  http://www.microsoft.com/download/en/details.aspx?displaylang=kr&id=4060 
사용법 : userdump <PID> <저장할이름.dmp>    ----> 덤프 수행 명령어
            userdump -p                                     ----> 프로세스 PID 출력

 

[그림 1 - userdump.exe 파일로 PID 출력한 결과]

[그림 2 - httpd 프로세스 덤프 수행 모습]

 [그림 3 - httpd 프로세스 덤프 결과]


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

Memory Analysis (2)  (0) 2011.12.24
Memory Analysis (1)  (0) 2011.12.23
휘발성 정보 수집 (5)  (0) 2011.12.23
휘발성 정보 수집 (4)  (0) 2011.12.21
휘발성 정보 수집 (3)  (0) 2011.12.21
현재 윈도우를 중심으로 각종 휘발성 정보 수집 방법을 알아보고 있는데 이번에는 아래와 같은 정보들의 대해 수집방법을 

알아볼 것이다.

- 윈도우의 서비스 목록 정보
- 시작프로그램 목록 정보
- 라우팅 테이블 정보
- 네트워크 인터페이스 정보
- 클립보드 정보
- 네트워크 공유폴더 정보
- 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
휘발성 정보 수집 (4)  (0) 2011.12.21
휘발성 정보 수집 (3)  (0) 2011.12.21
휘발성 정보 수집 (2)  (2) 2011.12.20
휘발성 정보중에 로그온 사용자, 파일핸들, Open 포트와 프로세스 맵핑, 명령어 히스토리에 대한 정보 수집도 중요하다.

이를 위해 많은 툴들과 명령어들이 있는데 차근차근 살펴보도록 할 것이다.

[로그온사용자 정보]
로그온 사용자 정보를 수집하는데에 필요한 명령어는 net session이라는 명령어와 도구로는 Psloggedon, Logonsession이라는 도구가 있다.
net session의 경우 원격에서 로그온한 사용자의 정보를 보여주고, psloggedon과 Logonsession 도구는 로컬로그온 사용자와 원격로그온 사용자의 정보를 보여준다. 하지만 자세한 정도에서는 Logonsession이 더 앞선다. 이유는 Logonsession은 해당 사용자가 실행한 프로세스까지 출력해주기 때문이다.

[그림 1 - net session 명령어 실행 결과]

현재 접속한 원격로그온 사용자가 없기 때문에 목록에 항목이 없다고 표시되는 것이다.

 

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

현재 원격로그온 사용자는 없고, 로컬 사용자만 있어 위와 같은 결과가 나온 것이다.

 

[그림 3 - Logonsession.exe 실행 결과]

위 이미지에서 보듯이 /p 옵션을 프로그램에 주게 되면 해당 사용자가 실행하고 있는 프로세스까지 보여준다.


[파일 핸들]
파일 핸들의 정보를 수집하고 분석함으로써 해당 사용자가 어떠한 행동과 목적이 무엇인지 대략적으로 파악이 가능하다.
파일 핸들 정보를 수집하는데에는 net file명령어가 있고 도구로는 Psfile가 있다.

 

[그림 4 - net file 명령어 실행 결과]

따로 열어둔 파일이 없어 목록이 없는 것이다.

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

역시 마찬가지로 열어둔 파일이 없기에 아무것도 표시되지 않는다.


[Open 포트와 프로세스 맵핑 정보]
해당 정보를 수집하고 분석하여 어떠한 프로세스가 어떤 포트로 어떤 서버와 연결하여 어떤 작업을 하고 있는지 파악 할 수 있다. 분석 할 때 well-known port라고 하여 모두 믿어서는 안되며(설정으로 변경 가능하기 때문) 하나하나 자세히 살펴보는 것이 좋다.
해당 정보를 수집하기 위해서는 netstat -b 명령어가 있고, Openport 도구를 사용하여 수집할 수도 있다.
netstat -b 명령어는 간단하게 정보를 수집할 수 있어 편리하지만, 프로세스의 전체경로를 제공하지 않기 때문에 추후에 또다른 작업을 해야 하기 때문에 번거로움이 생긴다.
그에 비해 Openport는 fport 출력형식을 지정해주면 프로세스의 전체경로를 제공하기 때문에 여러모로 편리하다.

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

Openports.exe 도구는 현재 제공하는 사이트에서 접근을 막고 있어 구할 수가 없었다..
인터넷에 올려진 Openports.exe는 뭔가 믿을만한 구석이 없어 테스트 해보지 않았다.
나중에 순정으로 구하게 되면 다시 포스팅 하겠다.


[히스토리]
히스토리 정보를 수집하는 것은 매우 중요하면서 간단한 일이다. 어떠한 행동들을 하였는지 직관적으로 파악 할 수 있는 것이 히스토리 정보이기 때문에 중요하다. 윈도우에서 기본적으로 지원하는 doskey 명령어를 사용하면 cmd에서 어떠한 명령어를 사용하였는지 보여준다.

 [그림 7 - doskey/history 명령어 실행 결과] 


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

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

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

+ Recent posts