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

RunOnce 레지스트리 값을 이용한 광고 프로그램 설치 방식

벌새::Analysis
PC를 이용하여 다양한 소프트웨어를 설치하는 과정에서 사용자 몰래 설치된 특정 파일이 RunOnce 레지스트리 값에 등록되어 시스템 재부팅 과정에서 1회 동작을 통한 광고 프로그램을 설치하는 방식에 대해 살펴보도록 하겠습니다.

  무료 문자 보내요(Boneyo) 프로그램을 이용한 악성코드 유포 (2011.5.17)

위와 같은 방식에 대해서는 기존에 무료 문자 프로그램 "보내요(Boneyo)"를 설치한 환경에서 사용자 몰래 RunOnce 등록을 통해 다양한 수익성 프로그램이 사용자 동의없이 설치되는 사례를 소개한 적이 있었으므로 참고하시기 바랍니다.

테스트에서는 최근 사용자 몰래 설치가 이루어지는 설치 파일(MD5 : 21e5fbd3e1f36f3ff20d7920d1183a66)을 통해 살펴보겠으며, 해당 파일에 대하여 Hauri ViRobot 보안 제품에서는 Adware.Agent.239228 (VirusTotal : 24/43) 진단명으로 진단되고 있습니다.

[생성 폴더 / 파일 등록 정보]

C:\Documents and Settings\(사용자 계정)\Application Data\ckjsukd :: 숨김(H) 속성 폴더
C:\Documents and Settings\(사용자 계정)\Application Data\ckjsukd\setup_victory_dual.exe

[생성 레지스트리 등록 정보]

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce
 - ckjsukd = "C:\Documents and Settings\(사용자 계정)\Application Data\ckjsukd\setup_victory_dual.exe"

감염된 PC 환경에서는 사용자가 확인하기 어려운 숨김(H) 속성 폴더 값을 가지는 "C:\Documents and Settings\(사용자 계정)\Application Data\ckjsukd" 폴더 내에 setup_victory_dual.exe 파일을 생성하도록 되어 있습니다.

이렇게 설치된 파일은 "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\
RunOnce"
레지스트리 값에 자신을 등록하여 시스템 시작시 자동으로 실행되도록 구성되어 있습니다.

여기에서 주목할 점은 일반적으로 시스템 시작시 자동으로 실행되도록 등록하는 레지스트리 값은 다음의 2개의 값이 일반적입니다.
  • HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run
  • HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run

해당 Run 레지스트리 값은 시스템 시작시마다 반복적으로 실행되어 자동으로 실행되도록 하는 반면, RunOnce 값에 등록된 값은 등록된 시점을 기준으로 1회에 한해서만 동작한다는 점이 다릅니다.

일반적으로 사용자들이 시작 프로그램에 등록된 파일을 확인하기 위하여 msconfig 명령어를 이용하여 시스템 구성 유틸리티를 실행하여 시작 프로그램 항목에 등록된 부분을 체크하는데, 해당 악성 파일이 등록된 경우 그림과 같이 표시되지 않는 것을 확인할 수 있습니다.

이를 통해 사용자 눈을 속인 환경에서 시스템 재부팅을 시도할 경우, 사용자 몰래 추가적인 파일을 다운로드하여 광고성 프로그램이 설치되는 것을 확인할 수 있습니다.

실제 시스템 부팅 과정에서 사용자 몰래 동작하는 과정을 확인해보면 그림과 같이 특정 광고 서버로부터 설치 파일(MD5 : 1722e4518b411af5c69dce82932e7dc0)을 다운로드하는 동작을 확인할 수 있습니다.

참고로 해당 파일에 대하여 TrendMicro 보안 제품에서는 ADW_OPENTAB (VirusTotal : 9/43) 진단명으로 진단되고 있습니다.(※ 바보같은 국내 백신은 진단할 의지가 참 없습니다. )

시스템 부팅이 완료된 상태에서 사용자 몰래 설치된 프로그램을 찾아보면 사용자가 확인하기 어려운 숨김(H) 속성의 폴더값을 가지는 "C:\Documents and Settings\(사용자 계정)\Application Data\Dual Matching" 폴더 내에 파일을 생성한 것을 확인할 수 있습니다.

  검색 도우미 : Dual Matching (2011.12.17)

해당 프로그램은 인터넷 검색시 광고창 생성 동작을 하는 "Dual Matching" 검색 도우미 프로그램이므로 기존 분석 정보를 참고하시기 바랍니다.(※ 참고로 해당 프로그램은 최근에 뭔가 찔리는게 있는 모양인지 DualMatching 이라는 이름으로 설치 폴더의 위치를 변경하여 배포가 이루어지고 있는 것도 확인할 수 있습니다. )

이렇게 임무 완수를 한 setup_victory_dual.exe 파일은 자신이 등록하였던 "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce" 레지스트리 값에서 자신의 흔적을 삭제 처리하는 것을 확인할 수 있습니다.

이를 통해 자신도 모르게 설치된 광고 프로그램이 어떤 경로를 통해 설치되었는지 사용자가 뒷조사를 하여도 "C:\Documents and Settings\(사용자 계정)\Application Data\ckjsukd\setup_victory_dual.exe" 파일은 찾을 수 있지만 어떻게 파일이 실행되었는지는 모를 것으로 보입니다.

이처럼 단 1회의 동작 후 자신의 행위를 숨기는 방식으로 다양한 수익성 프로그램이 설치될 수 있으므로 시작 프로그램을 점검하시기 위해서는 시스템 구성 유틸리티의 시작 프로그램 항목만 확인할 것이 아니라 AutoRuns와 같은 전문 툴을 이용하여 시스템을 점검하시는 것을 추천해 드립니다.