본문 바로가기

포렌식

Memory Analysis (2) 메모리 분석에 앞서 해야 할 작업은 메모리 덤프 파일을 시스템으로부터 얻는 것이다. 메모리 덤프를 얻기 위해서는 다음과 같은 방법들이 있다. - 하드웨어를 이용한 방법 - 소프트웨어 도구를 이용한 방법 - OS 크래시 덤프를 이용한 방법 - 하이버네이션 파일을 이용한 방법 각 방법은 장단점이 있어 조사관의 판단에 따라 상황에 맞게 적절하게 사용해야 한다. 위 방법들을 순서대로 차근차근 알아보도록 하자. 먼저 하드웨어를 이용한 방법이다. 하드웨어를 이용한 방법을 알아보기 전에 장단점이 무엇인지 부터 알아보고 어떠한 세부적인 방법들이 있는지 알아보도록 한 다. [하드웨어를 이용한 메모리 덤프 장단점] 1. 장점 - 커널 투르킷과 같은 악성 프로그램에 의해 방해를 받거나 잘못된 메모리 정보를 덤프할 가능성이 .. 더보기
Memory Analysis (1) 포렌식에서 빼놓을 수 없는 부분이 있는데 그 부분이 바로 메모리 분석 부분이다. 메모리에는 프로세스의 데이터(임시 데이터일수도 있음), 사용자 패스워드, 복호화된 데이터 등이 기록되어 있다. 메모리 분석 분야는 최근에 들어서 관심과 기술이 발전하기 시작 했는데 그 이유는 다음과 같다. [메모리 분석 분야 관심 이유] 1. 하드 드라이브에 실행파일이 저장되지 않고 메모리에 바로 로드 되어 실행되는 악성 프로그램이 존재하기 때문 - 조사대상 시스템에서 프로그램은 실행되고 있으나 하드 드라이브에 실행파일이나 실행 코드가 없다면 분석에 난항을 겪게 될 것이다. 이때 메모리 분석을 통해 어떠한 프로그램이 실행되고 있는지 파악 할 수 있다. 이러한 식으로 하드 드라이브에 자신을 상주시키지 않고 메모리에 상주하는 프.. 더보기
휘발성 정보 수집 (5) 마지막으로 휘발성 정보 수집은 프로세스 덤프가 있다. [프로세스 덤프] 프로세스는 소스코드와 DLL 파일, 실행전체경로 등을 가상메모리에 업로드해 동작한다. 프로세스 덤프란 정확히 말하면 프로세스가 사용하는 가상메모리를 덤프하는 것이며, 덤프를 분석함으로써 좀 더 정확하고 중요한 정보를 얻게 될 수 있다. 덤프 방법으로는 MS사에서 개발한 userdump.exe 도구를 사용하는 것인데, 이 도구는 일반적으로 OS에 포함되어 있지 않기 때문에 별도로 다운받아 설치를 해야 한다. 이 도구는 32bit 환경의 시스템과 64bit 환경의 시스템을 지원하기 때문에 호환성이 좋다. 해당 도구를 사용할 때는 프로세스가 정지상태이어야만 정확한 덤프가 가능하다. 프로세스가 동작하고 있다면 메모리에 내용이 덤프 중 변경 .. 더보기
휘발성 정보 수집 (4) 현재 윈도우를 중심으로 각종 휘발성 정보 수집 방법을 알아보고 있는데 이번에는 아래와 같은 정보들의 대해 수집방법을 알아볼 것이다. - 윈도우의 서비스 목록 정보 - 시작프로그램 목록 정보 - 라우팅 테이블 정보 - 네트워크 인터페이스 정보 - 클립보드 정보 - 네트워크 공유폴더 정보 - NetBios 정보 [윈도우의 서비스정보] 서비스들의 정보를 수집, 분석 함으로써 얻을 수 있는 것은 어떠한 악성프로그램이 서비스에 등록되어 사용자 몰래 실행되고 있는지를 판단할 수 있다. 서비스 목록을 얻기 위해서는 Psservice라는 도구를 사용하면 된다. [그림 1 - Psservice.exe 실행 결과] 종종 서비스의 설명(DISPLAY_NAME)이 없는 서비스가 있는데 그 서비스는 악성 프로그램 서비스 일수도.. 더보기
휘발성 정보 수집 (3) 휘발성 정보중에 로그온 사용자, 파일핸들, Open 포트와 프로세스 맵핑, 명령어 히스토리에 대한 정보 수집도 중요하다. 이를 위해 많은 툴들과 명령어들이 있는데 차근차근 살펴보도록 할 것이다. [로그온사용자 정보] 로그온 사용자 정보를 수집하는데에 필요한 명령어는 net session이라는 명령어와 도구로는 Psloggedon, Logonsession이라는 도구가 있다. net session의 경우 원격에서 로그온한 사용자의 정보를 보여주고, psloggedon과 Logonsession 도구는 로컬로그온 사용자와 원격로그온 사용자의 정보를 보여준다. 하지만 자세한 정도에서는 Logonsession이 더 앞선다. 이유는 Logonsession은 해당 사용자가 실행한 프로세스까지 출력해주기 때문이다. [그.. 더보기