본문 바로가기
악성코드 정보

WFA로 악성코드 감염시간을 알수 있다?

by 알 수 없는 사용자 2009. 8. 11.

윈도우 파일 분석툴 Windows File Analyzer(이하 WFA)는 Thumbs.db, Prefetch, index.DAT, Shortcut 파일 등 윈도우에서 제공하는 여러가지 기능의 파일을 분석할 수 있는 유용한 분석툴이다.

먼저, 실험에 앞서 WFA툴을 이용하여 분석할 대상인 Prefetch 파일에 대해 살펴보고 가자~
Prefetch 파일은 윈도우 부팅시, 어플레케이션 실행시에 속도를 개선하기 위해 실행 가능한 파일의 정보를 담고 있는 파일이다. 이 Prefetch 파일은 c:\windows\prefetch 폴더에 존재하며, 확장자는 .pf 이다.

<그림 1. C:\WINDOWS\Prefetch폴더에 존재하는 .pf 파일>

이 폴더에 존재하는 파일을 자세히 살펴보면 자주 보던 프로그램들의 실행 파일명을 찾아 볼 수 있다.
그 파일명은 아래와 같은 형식으로 존재한다.

 [실행 파일명.exe-Hash].pf

Hash값은 파일이 존재하는 패스(디렉토리 정보)의 해쉬값이다. 그리고 파일의 수정한 날짜와 만든 날짜 정보도 볼 수 있는데 WFA툴을 이용하면 탐색기에서 볼 수 없는 정보까지 확인이 가능하다. 우리는 이러한 정보를 이용하여 악성코드가 언제 감염되었는지 판단할 수 있는 것이다.

자~ 그럼.. WFA툴이 어떻게 생겼는지 알아보자!
먼저, 아래 주소에서 WFA툴을 다운로드 받아서 직접 PC에 설치하고 실행해 보자!
단, WINDOWS XP에서 실행해 주길 바란다.(VISTA의 Prefetch파일은 파일의 헤더정보가 달라서 정확한 정보를 얻을 수 없다!)

http://www.mitec.cz/Downloads/WFA.zip

WFA툴은 Michal Mutl님이 Forensic을 위해 만든 툴이라고 적혀있고, 프리웨어라고 명시하고 있다.

<그림 2. WFA툴 About>

그리고 File메뉴를 클릭하면 우리가 분석하고자 하는 Prefetch 분석하기 메뉴를 찾을 수 있다.

<그림 3. WFA툴 File 메뉴>

"Analyze Prefetch.."를 클릭하면 자동으로 C:\WINDOWS\Prefetch 폴더를 검색해서 확인만 클릭해 주면 되겠다. 클릭과 동시에 WFA툴은 .pf 파일을 읽어와서 탐색기에서 볼 수 없었던 Embedded Date 정보와 Runs 값을 함께 보여준다. Embedded Date는 .pf 파일의 특정 영역에 저장되어 있는 값으로 파일의 메타정보인 수정한 날짜와 유사한 값을 가지고 있다. Runs값은 해당 실행파일이 몇 번이나 실행되었는지를 확인할 수 있는 Count값이다.

각각의 Embedded Date, Runs값이 어느 위치에 존재하고 있는지 살펴보고 넘어가자!

<그림 4. XP와 Vista의 Embeded Date, Runs값의 Offset값은 다르다.>

참고로 Embeded Date값은 64bit Hex Value로 Little Endian방식의 UTC 표준시로 기록되어 있으므로 Decoding시에 대한민국 표준시로 변환하기 위해서 9시간을 더해주면 된다. 또한, Runs값도 Hex Value로 기록되어 있다.


WFA를 이용하여 악성코드가 언제 처음 내 PC에 설치(감염)된 것인지 알아보자!

먼저, 테스트에 사용될 악성코드는 USB등의 이동식저장매체를 통해 감염되는 악성코드인 11.exe 파일이다. 이 파일은 Autorun.inf 파일과 함께 USB에 이미 감염되어 있으며, USB를 시스템에 설치하는 순간 자동실행 기능에 의해 실행되어 Prefetch 폴더에 11.exe파일이 생성된 Created Time을 확인하고, 가장 최근에 실행된 시간정보인 Embedded Date값과 Runs값을 확인하면 악성코드에 언제 감염되었는지 판단할 수 있다.

<그림 5. USB에 저장된 악성코드인 11.exe가 실행된 기록을 확인>

Autorun계열의 악성코드에 감염되었다는 사실이 V3로그에 남아 있다면 Prefetch폴더를 확인하여 언제 감염되었는지 WFA툴을 사용해서 확인하면 Forensic의 한분야인 침해사고대응에 많은 도움이 될 수 있을 것이다.

그럼 다음에는 USB를 통해 감염된 악성코드를 위와 같이 확인하였다면 어떤 USB를 통해 내 PC가 감염되었는지, 내 PC에 저장된 setup.api 정보와 Registry정보를 활용하여 확인할 수 있는 시간을 가져보도록 하겠다.

댓글