구글 키워드 검색 시, 피싱 페이지 통한 CoinMiner 유포 중

구글에서 크랙, 키젠, 시리얼 번호 등의 키워드 검색 시, 상단에 노출되는 피싱 페이지를 통해 암호화폐 채굴을 위한 마이너(Miner) 악성코드가 유포 중이다. 관련 자료는 작년 12월 경 Avira에서도 공개한 바 있으며, 피싱 페이지의 경우 한국어 페이지로도 제공되어 국내 사용자들도 상당수 감염된 것이 확인되었다.

[ https://www.avira.com/en/blog/coinloader-a-sophisticated-malware-loader-campaign ]

구글 검색을 통해 감염이 이루어지는 전체적인 흐름은 아래의 그림과 같다.

감염 흐름도

피싱 페이지에서 악성코드가 포함된 압축 파일(*.ZIP)을 다운로드 받고 내부의 실행파일(*.EXE)을 실행할 경우, 위의 과정을 거쳐서 결국 “TiWorker.exe”라는 프로세스에 의해 코인 마이닝(암호화폐 채굴)이 진행된다. “TiWorker.exe”라는 파일은 정상 윈도우 시스템 파일로 윈도우 소프트웨어, 하드웨어, 드라이버 업데이트와 파일이다. 악성코드 제작자는 이러한 악서행위를 은폐하기 위해 정상 윈도우 시스템 파일을 이용한 것으로 DLL 하이제킹(Hijacking) 기법을 통해 “TiWorker.exe” 프로세스에 악성 “Riched32.dll”에 의해 마이닝 작업이 수행되는 구조이다. 즉, 일반 사용자뿐만 아니라 보안 프로그램에서도 마이너 악성코드를 인지 및 탐지하는 것을 어렵게 한다.

실제 동작하는 방식에 있어서 복잡한 과정을 거치기 때문에, 단계별로 보다 상세한 내용을 기술하도록 한다.

1. 키젠, 크랙, 시리얼 번호 등의 키워드 검색 (구글 페이지)

구글 검색 결과

위와 같이 구글 검색 페이지에서 키젠, 크랙, 시리얼 번호와 같은 프로그램 다운로드를 목적으로 영어 또는 한국어로 키워드를 검색할 경우, 검색 결과 상단에서 악성코드를 다운로드하는 웹 페이지를 확인할 수 있다. 해당 웹 페이지는 제목만 보면 키젠 또는 크랙과 같은 관련 프로그램을 다운로드하는 사이트로 보이지만 실제 다운로드를 진행할 경우 관련 프로그램 대신 악성코드가 다운로드 된다. (위 2가지 사례는 모두 악성 페이지 임)

만약 위의 검색 결과를 보고 해당 웹 페이지를 클릭한다면 다음 단계로 아래와 같이 한글로 작성된 페이지를 확인할 수 있다.

한글로 작성된 웹 페이지

하지만 직후 다음과 같은 다운로드 페이지를 보여준다. 아래의 스크린샷만 보면 ‘MediaFire’의 다운로드 사이트로 보이지만 실제로 URL은 이전과 동일하다. 즉 실제 ‘MediaFire’ 사이트로 리다이렉트(Redirect)되는 것이 아닌, 가짜 ‘MediaFire’를 보여주고 다운로드를 유도하는 것이다.

사용자가 다운로드를 위해 “DOWNLOAD” 버튼을 클릭할 경우 약 10초 후 실제 “DOWNLOAD” 버튼을 확인할 수 있으며, 이 버튼까지 클릭하게 되면 ZIP 형식의 압축 파일이 다운로드 된다.

다운로드 페이지

2. 다운로드 되는 ZIP 파일

다운로드 되는 ZIP 파일은 다음과 같이 “[랜덤한 이름]_SETUP.zip” 형태를 갖는다. ZIP 파일 내부를 보면 압축 파일과 동일한 이름의 EXE 파일 및 몇 개의 DLL 파일들을 확인할 수 있다.

랜덤한 이름을 갖는 zip 파일
zip 파일 내부

ZIP 파일 내부에 1개 존재하는 EXE 실행 파일(Q7UG74G7_SETUP.exe)은 정상 프로그램으로, CrystalBit 사의 AnyToISO 라는 프로그램이다. 이 프로그램을 실행하면 동일 경로에 있는 “msimg32.dll”을 실행하게 되는데, 이 DLL 파일이 실제 악성 기능을 갖는 마이너 악성코드이다. 즉 악성 행위를 수행하는 주체는 “msimg32.dll”이지만, 프로세스 단위로 본다면 정상 프로그램인 AnyToISO(=Q7UG74G7_SETUP.exe)에 의해 악성 행위가 수행되는 것이다.

이러한 방식을 DLL Hijacking이라고 하는데, 탐지를 회피하기 위해 악성 행위가 정상 프로세스에 의해 수행되게 만들어 주는 방식이다. DLL Hijacking 방식은 뒤의 단계에서도 계속 등장한다.

악성코드가 실행되면 아래와 같은 다양한 행위를 수행한다.

a. 윈도우 디펜더 비활성화

다음 커맨드 라인을 실행하여 C:LWindows 경로를 Windows Defender의 예외 경로에 추가
> wmic.exe /Namespace:\rootMicrosoftWindowsDefender class MSFT_MpPreference call Add ExclusionPath=C:Windows

다음 레지스트리를 수정하여 실시간 감시 등의 기능을 비화성화
HKLMSOFTWAREPoliciesMicrosoftWindows Defender_DisableAntiSpyware=1

HKLMSOFTWAREPoliciesMicrosoftWindows DefenderReal-Time Protection_DisableOnAccessProtection=1

HKLMSOFTWAREPoliciesMicrosoftWindows DefenderReal-Time Protection_DisableRealtimeMonitoring=1

HKLMSOFTWAREPoliciesMicrosoftWindows DefenderReal-Time Protection_DisableScanOnRealtimeEnable=1

b. 마이닝을 위한 PC 전원 설정

다음 명령들을 통해 “하드디스크 전원 끄기”, “절전 모드”, “대기 모드” 설정을 모두 비활성화한다.

> powercfg.exe -change -disk-timeout-ac 0
> powercfg.exe -change -disk-timeout-dc 0
> powercfg.exe -change -hibernate-timeout-ac 0
> powercfg.exe -change -hibernate-timeout-dc 0
> powercfg.exe -change -standby-timeout-ac 0
> powercfg.exe -change -standby-timeout-dc 0

c. 폴더 속성 창에서 보안 탭 제거

해당 악성코드는 추후 생성한 파일들에 대해 소유자를 변경하고, 시스템 속성 및 숨김 속성을 준다. 관련 속성을 변경 및 해제하기 위해 해당 파일의 속성을 확인하더라도 아래의 레지스트리 값 추가를 통해 보안 탭을 확인할 수 없게 된다.

다음 레지스트리를 수정하여 폴더 속성 창에서 보안 탭 제거
HKCUSOFTWAREMicrosoftWindowsCurrentVersionPoliciesExplorer:NoSecurityTab=1

3. 애플 프로그램을 이용한 DLL Hijacking

마지막으로 다음과 같은 경로들에에 추가 파일들을 생성한다. 참고로 포맷은 동일하지만 다음과 같이 구체적인 경로는 가변적이다.

C:WindowsSysWow64speechenginesq-1-73-90
C:WindowsSysWow64speechenginesq-1-41-80

C:WindowsSystem32speechenginesq-1-56-92

해당 경로에 생성되는 파일들은 다음과 같다. 참고로 아래에서 실행 파일은 FD_1.4.82.81.exe이지만 FD_1.3.58.74.exe, FD_1.4.43.97.exe 등 비슷한 포맷의 랜덤한 이름을 가질 수 있다.

위 경로에 생성되는 파일들

마지막으로 생성한 FD_1.4.82.81.exe 파일에 대해 작업 스케줄러를 등록한다. 생성된 작업 스케줄러 파일을 확인해 보면 15분 간격으로 FD_1.4.82.81.exe를 실행하는 것을 확인할 수 있다.

생성된 작업 스케줄러

15분 간격으로 실행되는 프로그램 즉 FD_1.4.82.81.exe는 위의 AnyToISO와 동일하게 정상 프로그램이다. 구체적으로는 Apple 사의 APSDaemon.exe 프로그램으로서 실행 시 악성 “AppleVersions.dll”을 로드하는 기능이 존재한다. 이것을 악용하여 동일 경로에 악성 “AppleVersions.dll”을 생성하고 작업 스케줄러에 등록하여 15분 주기로 실행시킨다. (AppleVersijons.dll은 data.dll을 로드)

4. 코드 마이닝

FD_1.4.82.81.exe는 실행 시 C&C 서버와 접속을 시도하며 이후 다음 경로에 코인 마이너를 생성한다. 참고로 포맷은 동일하지만 다음과 같이 구체적인 경로는 가변적이다.

C:WindowsSysWow64hr-HRs-1-5-66
C:WindowsSysWow64pt-BRs-1-4-70

C:WindowsSystem32driverstores-1-4-89

현재 확인된 C&C 서버 주소는 아래와 같다.

http://ams-update[.]info
http://ams-updatea[.]info
http://ams-updateb[.]info
http://ams-updatec[.]info
http://ams-updated[.]info

이렇게 생성되는 코인 마이너도 동일하게 DLL Hijacking 기법을 통해 실행된다.

최종적으로 생성되는 코인 마이너

생성되는 파일들 중 TiWorker.exe는 이름과 달리 실제로는 Sysinternals 사의 NotMyFault.exe 라는 정상 프로그램이다. 이 프로그램 또한 동일 경로에 “Riched32.dll”이 존재하는 경우 실행 시 이 DLL을 로드하게 된다. FD_1.4.82.81.exe는 특정 인자를 주고 TiWorker.exe를 실행하며, 이렇게 실행된 TiWorker.exe는 실행될 때 Riched32.dll”을 로드하게 되고, 이 “Riched32.dll”모네로 가상 화폐에 대한 코인 마이너로서 동작한다.

코인 마이닝 패킷
디버거에서 확인 가능한 코인 마이닝

TiWorker.exe는 실행 중 Process Explorer, Process Hacker와 같은 모니터링 툴을 검사하며, 만약 해당 툴을 실행할 경우에는 종료된다. 이에 따라 CPU 점유율이 높은 프로세스를 확인하기 위해 모니터링 툴을 사용한다고 하더라도 바로 종료되기 때문에 사용자 입장에서는 원인을 파악하기 힘들 수 있다.

“AppleVersions.dll”가 생성하는 악성코드로는 코인 마이너 외에도 다른 종류의 악성코드도 존재한다. 이 파일은 SFX 형태의 실행 파일로서, 내부에는 NirSoft의 “AdvancedRun.exe” 및 설정 파일이 존재한다. “AdvancedRun.exe” 실행 시 참조하는 설정 파일에는 다음과 같이 볼륨 섀도우 카피를 삭제하는 커맨드 라인이 존재한다.

볼륨 섀도우 삭제 명령

즉 해당 악성코드가 실행되면 정상 프로그램 “AdvancedRun.exe”와 설정 파일을 드랍하고 실행함으로써, 또 다른 정상 프로그램을 거쳐 간접적으로 볼륨 섀도우 카피를 삭제한다. 일반적으로 볼륨 섀도우 카피를 삭제하는 것은 랜섬웨어가 자주 사용하는 기능으로서, 코인 마이닝과는 관련이 없다. 그럼에도 불구하고 이러한 기능을 수행한다는 것은 추후 코인 마이너 외에도 또 다른 악성코드가 설치될 수도 있을 가능성이 존재한다는 것을 의미한다.

  • cmd.exe /C ping -n 70 127.0.0.1 && vssadmin.exe delete shadows /all /quiet

이렇게 구글 검색을 통해 크랙, 키젠 등의 프로그램 다운로드 시도 시 실제로는 코인 마이너 악성코드가 설치될 수 있다. 또한 외국 뿐만 아니라 국내 사용자 또한 대상으로 하는, 즉 한글 검색 결과에 의해서도 다운로드가 가능함에 따라 주의가 필요하다.

[파일 진단]

  • Trojan/Win32.Coinloader.R341612
  • Trojan/Win32.Coinloader.R341624
  • Trojan/Win64.Coinloader.C4139545

[행위 진단]

– Malware/MDP.Behavior.M3119

– Malware/MDP.Remove.M413

0 0 votes
별점 주기
Subscribe
Notify of
guest

1 댓글
Inline Feedbacks
View all comments
trackback

[…] 웹 페이지들로는 파일 공유 사이트 [1] 외에도 침해된 사이트 [2], 블로그 [3] 등이 존재한다. 하지만 유튜브 또한 악성코드 유포에 사용될 수 있는데 […]