본문 바로가기

벌새::Analysis

PC방에서 플레이되는 고포류 게임을 노리는 악성코드 정보 (2018.9.14)

2018년 8월 말부터 유포되었을 것으로 추정되는 국내에서 서비스되고 있는 고포류 게임을 통해 금전적 수익을 얻는 악성코드가 확인되어 살펴보도록 하겠습니다.

 

정확한 유포 경로는 확인되지 않고 있지만 기존에 이미 감염된 경로를 통해 패치되는 방식으로 전파가 이루어질 것으로 보이며, 특히 PC방 환경을 고려하여 제작된 것으로 보아 일반 개인 사용자에게는 노출되지 않았을 것으로 보입니다.

 

확인된 설치 파일(SHA-1 : 3a7fa60a969d9a51a570e74d5ee35a1d30cadfa6 - AhnLab V3 : Trojan/Win32.Downloader.C2433135) 또는 업데이트 파일(SHA-1 : e8ade2580be93921b51ff889130c3464e3b5cf25)을 통해 다음과 같은 사전 작업이 이루어집니다.

 

우선 "C:\Users\%UserName%\AppData\Local\Temp\syswnt.exe" 파일(SHA-1 : 7242cd786e494064cce7ebf5d5f0dc960acdafa4 - ESET : a variant of Win32/TrojanDownloader.Small.AYF) 생성 및 실행이 이루어집니다.

 

 

실행된 파일은 특정 프로세스가 실행 중인 경우 종료(taskkill.exe /f /im sysnt.exe, taskkill.exe /f /im AdobeDistiller.exe) 및 삭제가 이루어지며, 악성코드에서 사용할 SQLSVC 서비스명이 등록되어 있는 경우 중지(stop SQLSVC) 및 삭제(delete SQLSVC)가 이루어집니다.

 

 

작업이 완료된 후에는 "C:\Users\%UserName%\AppData\Local\Temp\killfile2.bat" 배치 파일 생성을 통해 임시 폴더에 생성되어 실행되었던 "%Temp%\syswnt.exe" 파일 삭제 후 자신도 자가 삭제되며, 위의 동작 중간에 다음과 같은 추가적인 악성 파일 다운로드가 진행됩니다.

 

 

먼저 특정 단축 URL 서비스 주소에 접속하여 일본(Japan)에 위치한 특정 IP 서버와 통신을 시도합니다.

 

 

연결된 IP 서버에서는 ip.txt 파일을 받아와 "C:\Windows\mtemp.db" 파일에 저장되며, 내부 정보에는 IP 서버 정보와 클라이언트에 설치될 서비스 이름과 파일 정보가 포함되어 있습니다.

 

 

  • h**p://103.*.251.**:*****/down10/sqlservice.exe (SHA-1 : f89ff7fb3e39fba9aeb723690afb6f9357376fe3 - Microsoft : Trojan:Win32/Skeeyah.A!rfn)
  • h**p://103.*.251.**:*****/down10/GInsert.exe (SHA-1 : 77c1304dbee0ec0c42e01e781ec21bc42b71ab4b - Microsoft : Trojan:Win32/Tiggre!rfn)

 

이를 통해 2개의 악성 파일 다운로드가 진행된 후 다음과 같은 악성 파일 생성 및 실행이 이루어지며, 처음 악성코드 설치를 담당한 드랍퍼(Dropper)는 "C:\Users\%UserName%\AppData\Local\Temp\_uninsep.bat" 배치 파일을 통해 자동 삭제된 후 배치 파일도 자가 삭제 처리됩니다.

 

 

추가 다운로드된 sqlservice.exe 서비스 파일은 "C:\Program Files (x86)\Common Files\Services" 폴더(x64 기준) 또는 "C:\Program Files\Common Files\services" 폴더(x86 기준) 내에 "C:\Program Files (x86)\Common Files\Services\smss.tmp" 임시 파일로 생성된 후 "C:\Program Files (x86)\Common Files\Services\sqlservice.exe" 정식 파일명으로 생성 및 실행(/install /silent)되어 서비스로 등록됩니다.

 

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\SQLSVC

 

"SQLSVC (표시 이름 : SQL Service Application)" 서비스 이름으로 등록되어 시스템 시작 시마다 "C:\Program Files (x86)\Common Files\Services\sqlservice.exe" 파일을 자동 실행하도록 구성되어 있습니다.

 

 

함께 추가 다운로드된 GInsert.exe 파일은 "C:\Windows\GInsert.exe" 파일로 생성되어 실행되며, 추가적으로 Windows 폴더 내에 핵심 기능을 수행하는 모듈 다수를 생성합니다.

 

 

GInsert.exe 파일의 기능은 감염된 PC에 존재하는 Ghost 복구 프로그램의 복구 이미지 파일(*.GHO)을 통해 감염 이전 상태로 복구하는 것을 방해할 목적으로 보입니다.

 

 

생성된 "C:\Windows\kmon.dll" 모듈 파일(SHA-1 : c23fbe7cc6f185123fb9c8001fe6430afd75071e - McAfee : Trojan-FPYE)을 확인해보면 고포류 게임방에 자동 접속하는 기능이 포함되어 있습니다.

 

 

"C:\Windows\mmc.dll" 모듈 파일(SHA-1 : 2a09963cbcc2634a87513b9a7ee519c103b05b81 - McAfee : Trojan-FPYE)은 프로세스를 감시하다가 특정 프로세스(taskkiller.exe /f /im smspacker.exe) 차단 기능이 포함되어 있습니다.

 

"C:\Windows\msic.dll" 모듈 파일(SHA-1 : 457f1e6462c9b8abff3adc578e6d36370d5d9963 - Avast : Win32:Malware-gen)은 "C:\Program Files\ngdi32.dll" 정상 모듈 파일과 함께 연동되어 동작하며, "Baduki(바둑이) + PlusPoker(포커) + Matgo(맞고) + Vanilla(바닐라 게임)" 및 적토마 게임을 서비스하는 사이트를 표적으로 하고 있습니다.

 

위와 같은 고포류 게임을 노리는 악성코드에는 PC방 관리 프로그램(pmclient.exe) 체크와 Shadow Defender, Norton Ghost 시스템 복구 프로그램에 대한 기능을 무력화하여 자신의 생존률을 높이는 것으로 판단됩니다.

 

 

실제 감염된 환경에서는 서비스로 동작하는 sqlservice.exe 프로세스의 자식 프로세스로 "C:\Program Files (x86)\Windows Sidebar\sidebar.exe" Windows 바탕 화면 가젯을 불러와 기능 수행 및 자신의 동작을 최대한 숨기고 있습니다.

 

 

이로인하여 사용자가 코드 인젝션된 sidebar.exe 프로세스를 종료 시도할 경우 액세스 거부가 발생하므로 부모 프로세스인 sqlservice.exe 서비스 프로세스를 먼저 종료한 후 종료해야 합니다.

 

해당 악성코드에 감염된 환경에서 표적이 되는 게임을 플레이할 경우 해당 게임방으로 접속하여 상대방의 패를 훔쳐보기하여 게임 승률을 높여서 게임 머니 획득을 통해 금전적 이득을 볼 것으로 보입니다.

 

 

해당 악성코드를 백신을 통해 깨끗하게 제거할 수 없는 경우에는 AppCheck 안티랜섬웨어 제품에서 제공하는 AppCheck 클리너 또는 Malware Zero Kit (MZK) 도구를 통해 제거할 수 있습니다.

 

고포류(고스톱, 포커) 게임을 노리는 악성코드는 과거부터 지속적으로 제작되어 유포되고 있으며, 특히 PC방과 같은 공용 PC를 표적으로 잠복하고 있다가 플레이가 이루어질 경우 동작하여 돈벌이를 진행하는 경향이 강하므로 PC방 이용 시 주의하시기 바랍니다.

  • 감사합니당 2018.09.15 14:30 댓글주소 수정/삭제 댓글쓰기

    질문있습니다.
    1. sqlsvc 서비스를 중지, 삭제하는 이유가 뭔가요??? 기존에 있던거를 지우고 새로 서비스 등록하기 위한건지요??
    2. killfile2.bat 처럼 배치파일이 하는 역할이 뭔가요???? 배치파일이라는게 악성행위를 도와주는건가요??? 드랍퍼??? 이게 무슨의미죠??
    3. GET /down10/sqlservice.exe http/1.1 이라는 의미가 해당 sqlservice.exe파일을 다운로드 됬다는 의미인가요?????
    200 ok니까 다운로드 완료되었다는 의미인가용???

    • 1. 자신이 사용할 서비스명으로 이미 다른 파일이 사용하고 있는 경우를 피하기 위해서 사전에 서비스 삭제를 하는 것 같습니다.

      2. 배치 파일 코드를 보면 파일 삭제 기능이 포함되어 있습니다.

      3. 200은 서버에 파일 요청을 하였을 경우 파일이 존재하여 응답한 결과를 뜻합니다.

  • 벌새님 감사합니다. 2018.09.15 17:51 댓글주소 수정/삭제 댓글쓰기

    저 파란색 부분 unicode랑 명령어 적힌 저것은 어떤 프로그램으로 보시는건가요????
    그리고 어셈블리어 공부 하셨을거 같은데... 어떤 책으로 공부하셨는지 궁금합니다. 어셈블리 나오니까 이해가 넘 어려워서요

  • 비밀댓글입니다

  • 비밀댓글입니다

    • 내용을 봐서는 결국 어떤 경로로 악성 파일이 설치되어 고포류 게임 등을 할 경우 악의적인 동작을 하는 것 같습니다.

      게임 중 튕기는 부분은 오류이거나 고의적인 어떤 이유가 있지 않을까 싶습니다.

      관리 업체에서 원인을 찾을 수 없고 관리 프로그램쪽도 문제가 없지만 백신 프로그램에서 탐지하여 치료 후 재부팅을 하면 발견되지 않는걸 봐서는 손님이 지속적으로 설치하거나 아니면 예전처럼 관리 프로그램 취약점을 통해 원격에서 네트워크 상으로 들어와서 자동 설치하는게 아닌가도 싶습니다.

      가장 확실한 방법은 해당 PC를 포맷하신 후 손님이 바뀔 때마다 백신으로 검사를 해보시거나 아니면 AutoRuns 프로그램(https://docs.microsoft.com/en-us/sysinternals/downloads/autoruns)으로 빠르게 부팅 시 자동 실행되도록 설치된 악성 파일이 몰래 설치되어 있는지 기존 클린 상태로 비교하면 되지 않을까 싶습니다.