울지않는벌새 : Security, Movie & Society

어이쿠!왕자님 프린세스메이커 BL 무설치 버전을 이용한 악성코드 유포 주의 (2013.11.22)

벌새::Analysis

거의 대부분의 PC 사용자들은 다양한 보안 위협으로부터 시스템을 보호할 목적으로 실시간 감시 기능을 제공하는 보안 제품을 최신 업데이트가 이루어지도록 한 상태로 사용하고 있습니다.

 

하지만 이렇게 사용하는 사용자들 중에서 자신이 원하는 게임의 실행을 위해 보안 제품에서 악성코드로 진단을 하는 것을 무시하고 실행하려는 나쁜 버릇은 쉽게 고쳐지지 않는가 봅니다.

 

이번 글에서는 2011년 하반기부터 현재까지도 국내 인터넷 사용자를 대상으로 토렌트(Torrent)를 이용하여 "어이쿠!왕자님 프린세스메이커 BL 무설치 버전"이라는 게임을 유포하는 과정에서 시스템을 감염시키는 사례를 살펴보도록 하겠습니다.

유포 방식으로는 토렌트(Torrent) 파일을 많이 찾는 사용자들이 이용하는 공유 사이트에 "어이쿠!왕자님 프린세스메이커BL버전"이라는 제목으로 무설치판을 배포하는 방식을 이용하고 있으며, 게시글은 2011년 11월 27일경에 등록되어 있는 노병(老兵)입니다.

토렌트(Torrent) 공유를 통해 다운로드된 파일은 ZIP 압축 파일 형태이며, 내부 파일을 보안 제품으로 검사를 해보면 oops!prince.exe 파일<MD5 : e3580c181a09499f7c1b20ca6637ceed - AhnLab V3 : Dropper/Small.Gen (VT : 43/47)>에 대해 악성코드 진단이 이루어지고 있습니다.

 

압축 파일 내부에 존재하는 파일을 보면 대부분 2008년경에 제작되어 있는 반면 악성코드로 진단되는 파일(oops!prince.exe)은 2011년 11월 26일에 제작된 것으로 보이며, AhnLab 클라우드 평판을 기준으로 유추해본다면 수천대의 PC에서 파일이 발견된 것으로 보입니다.

 

이렇게 진단이 이루어진다면 기본적으로 해당 압축 파일은 삭제를 하여 실행하는 일이 없도록 해야하는데, 일부 사용자들은 진단 제외 처리 등을 통해 게임을 실행하는 사람들이 꼭 있을 것이라 생각됩니다.

다운로드된 압축 파일을 해제해보면 게임의 실행 파일(oops!prince.exe)만 유독 다른 아이콘에 비해 사악한 느낌을 풍기고 있으며, 사용자가 보안 제품의 진단을 무시하고 실행을 할 경우 다음과 같은 악의적인 동작이 이루어집니다.

Windows 7 운영 체제 환경에서 oops!prince.exe 파일을 실행하면 "사용자 계정 컨트롤" 창이 생성되어 "C:\Users\(사용자 계정)\AppData\Local\Temp\~__UNINST.EXE" 파일의 실행 여부를 묻는 창이 생성되며, 사용자가 실행을 허용할 경우 시스템 오류창을 통해 "컴퓨터에 d3dx9_31.dll이(가) 없어 프로그램을 시작할 수 없습니다."라는 메시지와 함께 종료 처리됩니다.

 

우선 압축 해제한 파일의 그림을 다시 확인해보면 분명 내부에는 d3dx9_31.dll 파일이 있다는 점에서 해당 메시지는 사용자를 속이기 위한 동작으로 볼 수 있으며, 이 과정에서 어떤 행위가 있었는지 알아보도록 하겠습니다.

 

① 사용자가 게임 실행을 위해 oops!prince.exe 파일을 실행하면 자신을 "C:\Users\(사용자 계정)\AppData\Local\Temp\~__UNINST.EXE" 파일<MD5 : e3580c181a09499f7c1b20ca6637ceed - AhnLab V3 : Dropper/Small.Gen (VT : 43/47)>로 복제를 하여 실행이 이루어집니다.

 

② 실행된 파일(~__UNINST.EXE)은 "C:\Users\(사용자 계정)\AppData\Local\Temp\~pmThis.tmp" 임시 파일<MD5 : e3580c181a09499f7c1b20ca6637ceed - AhnLab V3 : Dropper/Small.Gen (VT : 43/47)>로 재생성하여 다음의 2개의 파일을 생성합니다.

  • C:\Users\(사용자 계정)\AppData\Local\Temp\oops!prince.exe :: 정상 파일
  • C:\Users\(사용자 계정)\AppData\Local\Temp\svchost.exe :: 악성 파일

이렇게 생성된 파일의 목적은 첫째, "C:\Users\(사용자 계정)\AppData\Local\Temp\oops!prince.exe" 파일은 사용자가 실행을 원하는 게임의 정상 실행 파일(MD5 : 3424d002db57fdb2da466b9263a63fd3)이며, 해당 파일을 시스템 감염 후 압축 해제한 위치로 복사하여 사용자가 최초 실행시 오류 발생이 일시적인 문제로 여기도록 한 후 재실행시 게임이 정상적으로 동작하게 할 목적으로 추가하였습니다.

 

둘째, "C:\Users\(사용자 계정)\AppData\Local\Temp\svchost.exe" 생성 파일<MD5 : 45aa8f26ab3ca3e7151305b9c723afde - AhnLab V3 : Dropper/Agent.179181 (VT : 43/45)>은 시스템 감염을 목적으로 제작된 악성 설치 파일입니다.

 

우선 첫 번째 목적으로 생성된 "C:\Users\(사용자 계정)\AppData\Local\Temp\oops!prince.exe" 파일은 시스템 감염이 모두 이루어진 후에는 자동으로 토렌트(Torrent)를 통해 다운로드하여 압축 해제한 ZIP 압축 파일 내부의 oops!prince.exe 악성 파일을 정상적인 파일로 변경을 합니다.

이를 통해 사용자는 최초 oops!prince.exe 파일을 실행하여 오류창이 발생한 경우 재실행을 하였을 때에는 다음과 같이 정상적인 게임 화면이 나오는 것을 통해 일시적인 오류로 착각을 유발하도록 할 목적으로 보입니다.

하지만 이렇게 게임 화면을 보고 있는 순간 이미 시스템은 "C:\Users\(사용자 계정)\AppData\Local\Temp\svchost.exe" 악성 파일 실행을 통해 시스템 감염이 이루어진 상태입니다.

 

③ 생성된 "C:\Users\(사용자 계정)\AppData\Local\Temp\svchost.exe" 파일은 자동 실행되어 다음과 같은 악성 파일을 생성합니다.

  • C:\Windows\System32\inzvgovkd.exe (MD5 : 0f8bbd523ecd8927aa32a64ee12f6771) - Hauri ViRobot : Trojan.Win32.CSon.179181 (VT : 44/47)
  • C:\Windows\System32\inzvgovkd.exe_lang.ini
  • C:\Windows\System32\syslog.dat

④ 생성된 "C:\Windows\system32\inzvgovkd.exe" 악성 파일은 "C:\Users\(사용자 계정)\AppData\Local\Temp\557188_lang.dll" 파일<MD5 : 5016bbb4354aef9292a33c9ffa3cda74 - AhnLab V3 : Trojan/Win32.OnlineGameHack (VT : 44/47)>을 추가적으로 생성하며 감염이 최종적으로 종료됩니다.

 

이제 감염이 이루어진 시스템 환경에서 악성코드는 어떻게 동작하는지에 대해 간단하게 살펴보도록 하겠습니다.

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Active Setup\Installed Components\{49276008-6AC7-41bc-9331-B6DD2816527C}
 - stubpath = C:\Windows\system32\inzvgovkd.exe
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\PCRatStact

악성코드 감염이 이루어진 환경에서는 Windows 시작시 "C:\Windows\system32\inzvgovkd.exe" 파일이 자동 실행되도록 레지스트리 등록값에 자신을 등록하고 있으며, 일반적인 시작 프로그램 등록 위치가 아니므로 사용자가 쉽게 확인이 어렵습니다.

Windows 7 운영 체제 환경에서는 Windows 진입시 사용자 개인 설정창을 통해 "사용자 개인 설정을 만듭니다. C:\Windows\system32\inzvgovkd.exe" 메시지가 표시되어 악성 파일 실행 여부를 묻고 있지만, 사용자 계정 컨트롤(UAC)를 비활성화하거나 Windows XP 운영 체제에서는 자동으로 실행될 것으로 보입니다.

 

실행된 "C:\Windows\System32\inzvgovkd.exe" 악성 파일은 "C:\Users\(사용자 계정)\AppData\Local\Temp\(6자리 숫자)_res.tmp" 임시 파일을 생성하여 "C:\Users\(사용자 계정)\AppData\Local\Temp\(6자리 숫자)_lang.dll" 파일을 부팅시마다 반복적으로 생성하도록 되어 있습니다.

이를 통해 몇 차례 재부팅이 이루어진 환경에서는 (6자리 숫자)_lang.dll 악성 파일이 누적되는 모습을 발견할 수 있으며, 해당 파일의 해쉬(Hash)값은 모두 동일하지만 파일명만 변경하고 있습니다.

 

이후 "C:\Windows\System32\inzvgovkd.exe" 악성 파일은 메모장(C:\Windows\System32\notepad.exe)을 백그라운드 방식으로 실행한 자신은 종료 처리되며, 실행된 메모장 프로세스(notepad.exe)은 "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\PCRatStact" 레지스트리 값을 참조하여 "C:\Users\(사용자 계정)\AppData\Local\Temp\(6자리 숫자)_lang.dll" 파일이 인젝션(Injection)됩니다.

일반적으로 정상적인 시스템 환경에서 사용자가 메모장을 실행할 경우 프로세스에서는 그림과 같이 notepad.exe 메모장 프로세스를 표시하고 있습니다.

하지만 해당 악성코드에 감염된 상태에서 시스템 동작시 사용자가 실행하지 않은 메모장 프로세스(notepad.exe)가 메모리에 상주하며, 해당 프로세스에는 "C:\Users\(사용자 계정)\AppData\Local\Temp\(6자리 숫자)_lang.dll" 악성 파일이 추가되어 국내 IP로 확인되고 있는 "180.230.222.219 :2554" 원격 서버와 통신을 시도하는 모습을 확인할 수 있습니다.

 

이를 통해 원격 서버에서의 추가적인 명령에 따라 파일 다운로드, 사용자 PC에서 발생하는 키로깅(KeyLogging) 정보 유출 등의 다양한 백도어(Backdoor) 기능이 발생할 수 있습니다.

 

대부분의 현명한 사용자들은 보안 제품에서 진단되는 악성 파일을 진단 제외 처리하여 강제 실행하는 일이 없겠지만, 여전히 일부 자기 편의대로 진단을 무시하면서까지 파일 실행을 하는 사용자가 있을 것으로 판단되므로 인터넷 상에서 정상적인 프로그램이 아닌 무설치판과 같이 누군가의 손에 의해 개조된 프로그램은 함부로 실행하는 일이 없도록 주의하시기 바랍니다.