이메일을 적으시면 보안관련 소식을 받을수 있습니다.
이메일:
















JohnG 입니다.
먼저 이번 블로그의 악성코드 샘플은 지난 5월 13~14일 2009 KISA 해킹방어대회 및 컨퍼런스때 "나도 정보보호 분석가"라는 이벤트로 사용되어진 문제입니다.

환경 :
Windows XP (32bit)
VMware 가상 컴퓨터

분석 대상:
Backdoor/W32.Prorat.525824 (nProtect)
Backdoor.Prorat.19.AC (BitDefender)
Backdoor.Win32.Prorat.19ac (Kaspersky)
BackDoor.ProRat.32 (바이러스 체이서)

사용 툴:
ProcessExplorerNt
IceSword122en
Filemon
Regmon
Autoruns
TcpView
RegScanner

 

   

프로세스 외형적 분석

Analysis by Process Explorer

 

Analysis by IceSword


설명: Process Explorer에서 확인한 service 프로세스는 두 개가 존재합니다.
service.exe (PID:484) , service.exe (PID:692) 시스템 파일인 service.exe는 한 프로세스만 존재하기 때문에 둘 중 하나는 가짜(악성코드)임을 알 수 있죠.
각 파일의 위치를 확인해 보면 PID가 692인 service.exe 가 가짜임을 확인합니다.
(정상적으로 \\WINDOWS\system32\service.exe 로 저장되어 있습니다.)
service.exe 파일이 어떤 행동을 하는지 확인해 보기 위해 Filemon.exe 툴을 이용하여 모니터링을 합니다.

먼저 Filemon툴을 실행하고 필터(Filter : Ctrl +L)에 service.exe를 입력하고 OK버튼을 눌러 줍니다.

   

1초 간격으로 service.exe(PID:692)는 fservice.exe과 sservice.exe를 생성시키고 있습니다. 

 

Regmon.exe 툴을 이용하여 service.exe(PID:692)프로세스가 Path하는 행동을 조사 해보면 fservice.exe와 sservice.exe를 등록하는 것을 확인할 수 있습니다.

먼저 fservice.exe를 등록하는 레지스트리를 확인해 본 결과 윈도우즈에서 기본적으로 제공하는 레지스트리 편집기로는 확인할 수 없습니다.
IceSword툴을 이용하여 해당 레지스트리로 확인해보면 DirectX For Microsoft?Windows에 fservice.exe의 주소가 저장되어 있음을 확인 할 수 있었습니다.
같은 방법으로 나머지 fservice.exe과 sservice.exe에 관한 레지스트리를 찾을 수 있습니다.
(IceSword의 왼쪽창을 확인해 보면 Funtions, Registry, File로 나누어져 있으며 Registry에서 마우스 오른클릭을 하여 Find...를 클릭하여 fservice.exe를 찾으면 차례대로 레지스트리를 찾을 수 있습니다.)


프로세스 내부 분석
 

services.exe 파일이 메모리에 적재된 이후 어떤 활동을 하는지를 분석합니다.
먼저 Process Explorer 툴을 이용하여 services.exe 프로세스가 불러들이는 파일 목록을 검색해 봅니다.

Process Explorer 툴의 View->Lower Pane View->DLLs (Ctrl+D)를 설정하면 위 그림과 같이 아래 패널에 services.exe 프로세스가 불러들인 dll파일 목록을 확인할 수 있으며, 먼저 dll파일의 기본 정보가 있지 않은 dll부터 분석합니다. 이유는 제작자가 프로그램을 제작하면서 함께 만들었을 가능성이 높기 때문입니다.


services.exe 프로세스에 연결된 winkey.dll 파일을 string분석을 해보면 아래 그림과 같습니다.

 

fsclose, fwrite, fprintf, fopen 문자열은 이 winkey.dll파일이 어떤 파일을 열어 입력하고 있음을 알 수 있고, 또한 아래 GeyKeydoardState부터 UnhookWindowsHookEx까지의 문자열은 이 dll파일이 어떤 함수를 사용하는지 확인할 수 있으므로 내부적인 행동을 분석할 수 있습니다.
아래는 winkey.dll파일에서 수행하는 함수 정보를 MSDN에서 검색한 링크 주소입니다. 

GetKeyboardState()
http://msdn.microsoft.com/en-us/library/ms646299.aspx 

GetWindowText()
http://msdn.microsoft.com/en-us/library/ms633520(VS.85).aspx 

GetActiveWindow()
http://msdn.microsoft.com/en-us/library/ms646292.aspx 

SetWindowsHookEx()
http://msdn.microsoft.com/en-us/library/ms644990(VS.85).aspx

또한 여기서 의심할 만한 문자열로 [Windows title: "%s"] 와 \ktd32.atm 이라는 문자열 입니다.
문자열 [Windows title: "%s"]는 파일 입력부분에 해당되는 문자열로 추측되며 \ktd32.atm은 파일임을 짐작할 수 있었습니다. 

실제 파일을 검색해보면 아래 그림과 같이 C:\WINDOWS 디렉토리에 존재 하는 것을 확인 할 수 있습니다.

 

C:\WINDOWS\ktd32.atm

ktd32.atm파일을 notepad로 열어보면 지금껏 사용자가 키보드 입력한 내역과 윈도우즈 창을 열어본 목록을 볼 수 있습니다.

 
services.exe 프로세스에 연결된 reginv.dll 파일을 string분석을 해보면 아래 그림과 같습니다.

 파일의 이름에 의해 레지스트리를 조작하는 파일임을 짐작할 수 있습니다.
내부 string을 확인해 본 결과 RegEnumKeyW함수와 policies, Winlogon,
{5Y99AE78-58TT-11dW-BE53-Y67078979Y}를 확인할 수 있습니다. 

RegEnumKeyw는 레지스트리 관련 함수임을 짐작됩니다.
http://msdn.microsoft.com/en-us/library/ms724861(VS.85).aspx

 

이전에 3개의 레지스트리를 다시 한번 확인 해보면 각각 fservice.exe와 sservice.exe에 관한 레지스트리 주소임을 확인할 수 있습니다. 

HKLM\SOFTWARE\Microsoft\Windows\CurrenVersion\Policies\Explorer\Run\
fservice.exe 

HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\
fservice.exe

 

HKLM\SOFTWARE\Microsoft\Active Setup\Installed Conponents\{5Y99AE78-58TT-11dW-BE53-Y67078979Y}

sservice.exe

나머지 아래 파일들을 분석해 본 결과 별다른게 이상한 점을 발견하지 못하였습니다.

악성코드:

C:\WINDOWS\services.exe
C:\WINDOWS\system\sservice.exe
C:\WINDOWS\system32\fservice.exe
C:\WINDOWS\system32\winkey.dll
C:\WINDOWS\system32\reginv.dll

결과물:
C:\WINDOWS\ktd32.atm

해결방법:
프로세스인 services.exe를 강제로 지운다 해도 fservice.exe와 sservice.exe에 의해 다시 파일이 생성되고 실행되어지므로  결국 프로세스 services.exe를 강제로 지우면서 즉시 파일 services.exe , fservice.exe , sservice.exe를 한꺼번에 지워줘야 합니다.
또한 dll파일인 winkey.dll 과 reginv.dll 파일 그리고 생성된 파일인 ktd32.atm을 삭제 합니다.
마지막으로 레지스트리 값을 정리해주면서 마무리 해주면 됩니다.



****************************************************************************************************

본 포스팅의 저작권은 보안인닷컴과 작성자에 있으며 상업적 이용을 배제하며 콘텐츠 이용시에는 반드시 출처와 링크를 이용해 주시기 바랍니다. 무단도용은 저작권법에 저촉을 받습니다..

****************************************************************************************************

Posted by John_G
,