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

해외 악성코드 : Assistant

벌새::Analysis

최근에 해외에서 배포되는 광고 프로그램을 살펴보던 중 함께 설치가 이루어질 수 있는 Assistant 악성 프로그램<SHA-1 : 6d04d56668e67e0d634a6914e54f503ec43cac8d - AhnLab V3 : Trojan/Win32.Generic.R112045 (VT : 45/53)>에 대해 살펴보도록 하겠습니다.

Assistant 악성 프로그램은 GoSave 해외 광고 프로그램과 같은 다양한 광고 솔루션과 함께 설치될 수 있으며, 2014년 3월 초부터 국내에서도 발견된 기존의 SProtector, GS_Sustainer 1.80 악성 프로그램의 변종으로 추정됩니다.

 

프로그램 설치가 진행되면 "C:\Users\(사용자 계정)\AppData\Local\Temp\tf00294823.dll" 파일<SHA-1 : 32f99788c6d45851a067c84fffa1116e54ca3ef3 - avast! : Win32:BProtect-J [Trj] (VT : 38/54)>을 임시 생성하여 다음과 같은 프로그램을 설치한 후 자동 삭제 처리됩니다.

 

또한 설치 과정에서 네덜란드(Netherlands)에 위치한 "proffidrivergold.info" 서버에서 암호화된 추가적인 정보를 체크합니다.

 

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

 

C:\ProgramData\Assistant
C:\ProgramData\Assistant\Assistant.dll
C:\ProgramData\Assistant\AssistantSvc.dll :: 서비스(랜덤한 8자리 영문+숫자) 등록 파일, 메모리 상주 프로세스

 

[생성 파일 진단 정보]

 

C:\ProgramData\Assistant\Assistant.dll
 - SHA-1 : 32f99788c6d45851a067c84fffa1116e54ca3ef3
 - AhnLab V3 : Adware/Win32.SProtector.R96582 (VT : 38/52)

 

C:\ProgramData\Assistant\AssistantSvc.dll
 - SHA-1 : ae82906dae69a9fe214cb7196444c1d71b0d7a8a
 - BitDefender : Gen:Variant.Adware.Symmi.41119 (VT : 38/54)

 

해당 프로그램은 숨김(H) 속성값을 가진 폴더 내의 "C:\ProgramData\Assistant" 폴더에 파일을 생성합니다.

"699fd52f (표시 이름 : Assistant)" 서비스 항목을 등록하여 시스템 시작시 ["C:\Windows\system32\rundll32.exe" "c:\progra~2\assist~1\AssistantSvc.dll",service] 명령어를 통해 Windows 호스트 프로세스(Rundll32) 파일(C:\Windows\System32\rundll32.exe)을 로딩하여 서비스 파일(AssistantSvc.dll)을 실행합니다.(※ 서비스 이름은 랜덤한 "8자리 영문+숫자" 형태로 등록되므로 표시 이름으로 서비스 항목을 찾으시기 바랍니다.)

 

실행된 서비스 파일(AssistantSvc.dll)은 메모리에 상주하여 핵심 기능을 수행하는 "C:\ProgramData\Assistant\Assistant.dll" 광고 모듈을 로딩하며, 이를 통해 추가적으로 함께 설치된 특정 광고 솔루션의 동작(홈 페이지, 검색 공급자 설정값)을 보호하는 기능을 수행할 수 있습니다.

Assistant 악성 프로그램이 설치된 환경에서 정상적인 rundll32.exe 프로세스를 이용하여 동작하므로 설치 여부를 판단하기 매우 어려우며, 프로그램 이름으로도 광고 솔루션과 관련된 프로그램으로 추정하기 어려울 것으로 보입니다.

 

■ Assistant 악성 프로그램 삭제 방법

 

(a) "보조 프로그램 → 명령 프롬프트" 메뉴를 "관리자 권한으로 실행"하여 생성된 명령 프롬프트 창에 [sc stop "699fd52f"] 명령어를 입력 및 실행하여 메모리에 상주하는 rundll32.exe 프로세스를 자동 종료하시기 바랍니다.(※ 명령어 변수는 랜덤한 "8자리 숫자+영문"으로 감염된 PC의 서비스 이름을 참조하시기 바랍니다.)

(b) 제어판에 등록된 "Assistant" 삭제 목록을 이용하여 프로그램 삭제를 진행하시기 바랍니다.

  • "C:\Windows\system32\RUNDLL32.EXE" "C:\PROGRA~2\ASSIST~1\ASSIST~1.DLL",_uninstall /un
[생성 및 수정된 레지스트리 등록 정보]

 

HKEY_CURRENT_USER\Software\AppDataLow\{5F189DF5-2D05-472B-9091-84D9848AE48B}
HKEY_LOCAL_MACHINE\SOFTWARE\{3A7D3E19-1B79-4E4E-BD96-5467DA2C4EF0}
HKEY_LOCAL_MACHINE\SOFTWARE\{5F189DF5-2D05-472B-9091-84D9848AE48B}
HKEY_LOCAL_MACHINE\SOFTWARE\{77D46E27-0E41-4478-87A6-AABE6FBCF252}
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{5F189DF5-2D05-472B-9091-84D9848AE48B}{699fd52f}
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows
 - AppInit_DLLs = (공란) :: 기본값
 - AppInit_DLLs = c:\progra~2\assist~1\assist~1.dll :: 변경 후
 - LoadAppInit_DLLs = 0 :: 기본값
 - LoadAppInit_DLLs = 1 :: 변경 후
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\699fd52f

 

해외 광고 프로그램 중에서는 자신의 동작을 보호할 목적으로 추가적인 프로그램 설치가 함께 이루어지는 경우가 많으므로, 단순히 광고 프로그램 삭제 뿐 아니라 함께 설치된 프로그램도 제거할 필요가 있습니다.