광고 페이지를 통해 유포 중인 DigitalPulse Proxyware

광고 페이지를 통해 유포 중인 DigitalPulse Proxyware

AhnLab SEcurity intelligence Center (ASEC)은 최근 프리웨어 소프트웨어 사이트의 광고 페이지를 통해 Proxyware가 설치 중인 것을 확인하였다. 최종적으로 설치되는 Proxyware는 Netlink Connect 인증서로 서명되었지만 분석 결과 과거 Proxyjacking 공격 캠페인에서 악용되었던 DigitalPulse의 Proxyware와 동일하다. 사용자들은 정상 프로그램을 설치하는 과정에서 광고 페이지를 통해 AutoClicker라는 위장 프로그램을 설치할 수 있고 최종적으로 설치된 Proxyware에 의해 비자발적으로 네트워크 대역폭을 탈취당하게 된다.

 

1. Proxyjacking 공격

Proxyjacking 공격이란 사용자의 동의 없이 Proxyware를 설치하여 감염 시스템의 인터넷 대역폭 일부를 외부에 공유하는 방식으로 공격자들이 수익을 얻는 공격 방식이다. Proxyware란 설치된 시스템에서 현재 사용 가능한 인터넷 대역폭 일부를 외부에 공유하는 프로그램으로서 일반적으로 이를 설치하는 사용자는 대역폭을 제공하는 대신 일정한 금액을 받는다. 만약 공격자가 사용자의 동의 없이 감염 시스템에 Proxyware를 몰래 설치할 경우 감염된 시스템은 비자발적으로 네트워크 대역폭을 탈취당하게 되며 수익은 공격자에게 돌아가게 된다. 이는 Cryptojacking 공격과 유사한데 Proxyware 대신 코인 마이너를 설치하여 감염 시스템의 자원으로 암호 화폐를 채굴하는 것이 차이점이다.

Proxyjacking 공격은 ASEC 블로그뿐만 아니라 다른 여러 보안 업체들에 의해서도 보고되고 있다. Proxyjacking 공격 사례에서 악용되는 Proxyware로는 IPRoyal, Peer2Profit[1], Traffmonetizer, Proxyrack, PacketStream [2] 등이 있다. 이외에도 2023년에는 LevelBlue사에서 DigitalPulse라는 이름의 Proxyware를 설치하는 Proxyjacking 공격 캠페인을 소개하기도 하였는데 최소 40만 대 이상의 윈도우 시스템을 감염시킨 것으로 알려졌다. [3]

이번에 확인된 Proxyjacking 공격에서도 DigitalPulse가 악용되었는데 과거와 비교했을 때 Netlink Connect라는 이름으로 서명된 것이 차이점이지만 이외의 특징은 동일하다.

 

2. 광고 페이지를 통한 유포

현재 공격 사례에서 악성코드는 프리웨어인 특정 유튜브 다운로더 프로그램의 홈페이지를 거쳐 설치되었다. 다음과 같은 다운로드 페이지에 처음 접속한 후 웹 페이지를 클릭하면 광고 페이지가 팝업되는데 랜덤한 확률로 여러 PUP 및 악성코드, 광고 페이지로 리다이렉트된다.

Figure 1. 악성코드 유포에 사용된 프리웨어 웹 페이지

악성코드는 왼쪽과 같은 다운로드 페이지에서 다운로드되었으며 이외에도 오른쪽과 같이 LummaC2를 유포하는 페이지로 리다이렉트되기도 한다.

Figure 2. 악성코드를 유포하는 팝업 페이지들

참고로 LummaC2는 과거 ASEC 블로그 사례처럼 클립보드에 악성코드 다운로드 명령을 저장한 후 사용자로 하여금 실행하도록 하는 피싱 기법이다. [4] “실행” 창에서는 CAPTCHA와 관련된 내용만 보이지만 아래처럼 실제로는 mshta를 이용해 외부에서 악성 자바스크립트를 다운로드해 실행하는 명령이다. 이전 사례에서는 피싱 메일의 첨부 파일로 유포되었다면 이번 사례에서는 광고 페이지를 통해 유포되는 점이 차이점이다.

Figure 3. 클립보드에 저장된 LummaC2를 설치하는 실제 명령

 

3. 악성코드 분석

위와 같은 광고 페이지에서 유포된 파일에 대해 사용자가 별다른 검증 없이 실행할 경우 최종적으로 사용자의 인지 없이 Proxyware가 시스템에 설치된다.

Figure 4. 악성코드 설치 흐름도

 

3.1. 분석 방해 기법

최초 유포 파일은 다음과 같은 아이콘을 가지고 있으며 설치 시 자동 클릭 기능을 제공하는 GUI 프로그램으로 위장한 AutoClicker를 설치한다.

Figure 5. 최초 유포 파일 및 실행 결과

하지만 “AutoClicker.exe”는 내부에 Proxyware를 다운로드하는 루틴이 삽입된 다운로더 악성코드이다. AutoClicker는 사용하는 문자열들을 암호화하여 가지고 있으며 함수 이름도 정상적인 목적으로 위장한다.

Figure 6. 암호화된 문자열들과 정상적인 목적으로 위장한 함수명들

이외에도 실행되면 먼저 다양한 Anti VM 및 Anti Sandbox 기법들을 사용해 현재 환경이 분석 환경인지를 검사한다. 

분석 방해 기법 대상
로드된 DLL 검사 sbieDll.dll(Sandboxie), cmdvrt32.dll / cmdvrt64.dll (Comodo Antivirus), SxIn.dll (360 Total Security), cuckoomon.dll (Cuckoo Sandbox)
Sleep 우회 여부 검사  
Wine 검사 kernel32.dll의 wine_get_unix_file_name() 함수 지원 여부
Firmware 검사 “Select * from Win32_ComputerSystem” / Manufacturer & Model / “microsoft corporation” & “VIRTUAL” (Hyper-V)
“Select * from Win32_ComputerSystem” / Manufacturer / “vmware” (VMware)
File 검사 “balloon.sys”, “netkvm.sys”, “vioinput”, “viofs.sys”, “vioser.sys” (KVM)
“VBoxMouse.sys”, “VBoxGuest.sys”, “VBoxSF.sys”, “VBoxVideo.sys”, “vmmouse.sys”, “vboxogl.dll” (VirtualBox)
Service 검사 “vboxservice”, “VGAuthService”, “vmusrvc”, “qemu-ga”
Port 지원 여부 검사 “SELECT * FROM Win32_PortConnector”
Named Pipe 검사 “\\\\.\\pipe\\cuckoo”, “\\\\.\\HGFS”, “\\\\.\\vmci”, “\\\\.\\VBoxMiniRdrDN”, “\\\\.\\VBoxGuest”, “\\\\.\\pipe\\VBoxMiniRdDN”, “\\\\.\\VBoxTrayIPC”, “\\\\.\\pipe\\VBoxTrayIPC”
Process 이름 검사 “Procmon64”, “procexp64”, “x64dbg”, “x64dbg-unsigned”, “x32dbg”, “x32dbg-unsigned”
웹 브라우저 히스토리 파일 검사 Chromium 기반(0.5MB 이상), Mozilla Firefox(5.5MB 이상)

Table 1. 분석 방해 기법

여러 가지 분석 방해 기법들 중에서 가장 눈에 띄는 부분은 웹 브라우저의 히스토리 파일을 검사하여 일정 크기 이하일 때는 악성 루틴이 실행되지 않도록 한다는 점이다. Chromium 기반의 웹 브라우저나 인터넷 익스플로러의 경우 0.5MB를, Mozilla Firefox의 경우 5.5MB 이상인지를 검사한다.

Figure 7. 웹 브라우저 히스토리 파일의 크기를 검사

 

3.2. Proxyware 설치

여기까지의 과정이 끝나면 AutoClicker는 “%TEMP%\t.ps1” 경로에 파워쉘 스크립트를 생성하고 실행하는데 다음과 같이 NodeJS를 설치하고 악성 자바스크립트를 다운로드한 후 작업 스케줄러에 등록하는 기능을 담당한다.

Figure 8. 다운로더 기능을 담당하는 파워쉘 스크립트

“FastDiskCleanup”이라는 이름으로 등록된 작업은 NodeJS를 이용해 다운로드한 자바스크립트 악성코드를 실행하는 기능을 담당한다.

Figure 9. FastDiskCleanup이라는 이름으로 등록된 작업

NodeJS를 통해 자바스크립트가 실행되면 C&C 서버에 접속하여 시스템의 기본적인 정보들을 전송한 후 응답에 따라 추가적인 명령을 실행한다. 다운로드된 응답은 최종적으로 Proxyware를 설치하는 파워쉘 명령이다.

Figure 10. C&C 서버에 전송하는 데이터 구조

파워쉘 명령은 깃허브에서 Proxyware를 “C:\Windows\system32\config\systemprofile\AppData\Local\Microsoft\Performance\NTService.exe”와 같은 경로에 다운로드한 후 “Network Perfomance”라는 이름으로 작업 스케줄러에 등록된다.

Figure 11. Proxyware를 설치하는 루틴

최종적으로 설치된 Proxyware는 과거 공격 사례에서도 알려진 DigitalPulse이다. 바이너리 자체는 실질적으로 동일하지만 과거 사례와 비교했을 때 다음과 같이 “Netlink Connect”라는 이름의 인증서로 서명된 것이 차이점이다.

 

4. 결론

최근 프리웨어 소프트웨어 사이트의 광고 페이지를 통해 DigitalPulse Proxyware가 유포되고 있다. DigitalPulse는 과거 Proxyjacking 캠페인을 통해 최소 40만 대 이상의 윈도우 시스템들을 감염시킨 것으로 알려져 있으며 이번에 확인된 사례에서도 인증서는 다르지만 동일한 Proxyware가 사용되었다. Proxyware 악성코드는 시스템의 리소스를 이용해 수익을 얻는다는 점에서 코인 마이너와 유사하다.

사용자는 공식 홈페이지가 아닌 광고 및 팝업과 같은 의심스러운 웹 사이트나 자료 공유 사이트에서 실행 파일을 설치하는 행위를 주의해야 한다. 또한 이미 감염된 시스템의 경우 V3 제품을 설치하여 추가적인 악성코드 감염을 막아야 한다.

 

파일 진단
Trojan/Win.Proxyware.R645077 (2024.12.02.03)
Trojan/Win.FSAutcik.R684719 (2024.12.13.03)
Dropper/Win.Proxyware.C5701827(2024.12.02.03)
Downloader/Win.Proxyware.C5701829(2024.12.02.03)
Dropper/Win.Proxyware.C5701832(2024.12.02.03)
Dropper/Win.Proxyware.C5715070(2025.01.08.03)
Downloader/PowerShell.Agent.SC207034 (2024.12.02.03)
Downloader/PowerShell.Agent.SC207005 (2024.12.02.02)
Downloader/JS.Agent.SC207031 (2024.12.02.03)
Downloader/PowerShell.Agent.SC222234 (2025.01.09.00)
Downloader/PowerShell.Agent.SC222235 (2025.01.09.00)
Downloader/PowerShell.Agent.SC222236 (2025.01.09.00)

행위 진단
Execution/MDP.Powershell.M2514

MD5

0321c9bc08e5f14cab6dfa53e458247e
08a5b638c95b7bf98182e35c9535cbf5
2a6aa8a4b14623939861922fb737a0a4
2b47d8945d1bf31ce9c9cd3a8ee4f5f2
2dda6b6e4d4937570a362c0504f46639
URL

https[:]//a[.]pairnewtags[.]com/pid/s[.]js
https[:]//c[.]pairnewtags[.]com/c[.]txt
https[:]//filerit[.]com/k[.]js
https[:]//filerit[.]com/pi-240924[.]ps1
https[:]//raw[.]githubusercontent[.]com/Evastrea/5Ag3R4ObWH/main/GKPXAP[.]exe

AhnLab TIP를 구독하시면 연관 IOC 및 상세 분석 정보를 추가적으로 확인하실 수 있습니다. 자세한 내용은 아래 배너를 클릭하여 확인해보세요.