암호 화폐 사용자들을 대상으로 공격 중인 ViperSoftX
AhnLab SEcurity intelligence Center(ASEC)은 ViperSoftX 공격자가 국내 사용자들을 대상으로 지속적으로 악성코드를 유포하고 있는 것을 확인하였다. ViperSoftX는 감염 시스템에 상주하면서 공격자의 명령을 실행하거나 암호 화폐 관련 정보를 탈취하는 기능을 담당하는 악성코드이다. ASEC은 2024년 5월 ViperSoftX 공격자의 공격 사례를 분석해 공개하였으며 해당 사례에서는 원격 제어 악성코드인 Quasar RAT과 딥러닝 방식의 오픈 소스 OCR 엔진인 Tesseract를 악용하는 TesseractStealer 유포 사례를 다루었다. [1]
ViperSoftX 공격자는 다양한 파워쉘 스크립트를 감염 시스템에 설치하며 이를 악용해 추가 페이로드를 다운로드한다. 공격자의 명령을 전달받아 다양한 악성 행위를 수행할 수 있으며 주로 원격 제어 목적으로 Quasar RAT을 설치하거나 암호 화폐 지갑 주소 탈취와 같은 기능을 담당하는 악성코드들을 유포한다. 최근에는 Quasar RAT 외에도 PureCrypter, PureHVNC와 같은 다운로더 및 원격 제어 악성코드들을 설치하는 것이 특징이다.

Figure 1. 흐름도
1. 악성코드 유포
2020년 Fortinet사에 의해 최초로 공개된 ViperSoftX는 주로 정상 소프트웨어의 크랙이나 키젠을 위장하여 유포되었다. [2] 이는 2022년 Avast사와 [3] 2023년 TrendMicro사에서 [4] 공개한 보고서에서도 동일하다. 이외에도 2024년 Trellix사에서는 토렌트를 통해 eBook을 위장해 유포된 사례를 공개하였다. [5]
정상 소프트웨어의 크랙이나 키젠과 같은 불법 복제 프로그램을 위장하여 악성코드를 유포하는 방식은 다양한 공격자들에 의해 사용되고 있다. 실제 공격 사례에서도 악성 메일의 첨부 파일이나 부적절하게 관리되고 있는 서비스를 대상으로 하는 공격과 함께 대표적인 초기 침투 방식 중 하나이다. ViperSoftX는 국내를 대상으로 한 공격자는 아니지만 불법 복제 프로그램을 위장한 방식을 사용하다 보니 많은 피해자들이 전 세계에 존재하며 이에 따라 국내에서도 다수의 감염 사례들이 확인되고 있다.
2. 지속성 유지
ViperSoftX는 감염 시스템에 작업 스케줄러를 등록하여 주기적으로 악성 파워쉘 스크립트를 실행시킨다. 등록되는 형태는 현재까지 적어도 두 가지 방식이 확인되었다. 첫 번째 방식은 악성 스크립트가 삽입한 파일을 복호화하여 실행하는 형태이다. 작업 스케줄러에 등록된 작업에는 VBS 명령이 등록되며 실질적으로 파워쉘 명령이 실행되는데 특정 경로에 위치한 파일의 오프셋 0x1F843C에서 0x1A6 바이트를 읽어와 Base64로 복호화하여 실행하는 기능을 담당한다. 해당 파일은 로그 파일을 위장하지만 실제 오프셋 0x1F843C를 보면 다음과 같이 Base64로 암호화된 파워쉘 스크립트를 확인할 수 있다. 이렇게 복호화되어 실행되는 파워쉘 명령은 다운로더이다.

Figure 2. Base64로 암호화된 파워쉘 스크립트
또 다른 유형은 %SystemDirectory% 경로에 위치한 파워쉘 스크립트를 실행하는 작업이다. 해당 파워쉘 스크립트는 난독화되어 있으며 “HKLM\SOFTWARE\HPgs6ZtP670 / xr417LXh”와 같은 레지스트리에 등록된 값을 읽어와 파워쉘 명령으로 실행시키는 기능을 담당하며 레지스트리에 저장된 파워쉘 명령 또한 다운로더이다.
3. 파워쉘 다운로더
공격에 사용되는 악성코드들은 대부분 파워쉘 스크립트이며 다운로더 기능을 담당하는 경우가 많다. 특정 주소에서 악성코드를 다운로드하는 단순한 유형들뿐만 아니라 감염 시스템의 GUID를 계산해 C&C 서버와 통신하면서 다운로드한 파워쉘 명령을 실행하는 스크립트도 존재한다.

Figure 3. 파워쉘 다운로더
이외에도 DNS를 악용하는 유형의 다운로더는 TXT 레코드를 활용한다. 예를 들어 “wmail-blog[.]com”과 같이 다음과 같은 항목들을 조합하여 도메인 주소를 구한 후 해당 주소에 대한 TXT 레코드를 질의한다.
- $a : “wmail”, “fairu”, “bideo”, “privatproxy”, “ahoravideo”
- $b : “endpoint”, “blog”, “chat”, “cdn”, “schnellvpn”
- $c : “com”, “xyz”

Figure 4. TXT 레코드 응답
C&C 서버에서는 응답으로 암호화된 데이터를 전송한다. 다운로더는 C&C 서버에서 다운로드한 페이로드를 Base64로 복호화하고 다시 DFC() 함수를 이용해 AES 복호화한 후 최종 결과물인 파워쉘 명령을 실행한다. 분석 시점 기준 복호화된 파워쉘 스크립트는 ViperSoftX 파워쉘 스크립트를 설치하는 다운로더이다.
4. ViperSoftX
ViperSoftX 스크립트는 C&C 서버와 통신하면서 수집한 정보를 전송하거나 명령을 전달받아 결과를 전송하는 파워쉘 스크립트이다. C&C 서버에 전송하는 데이터는 HTTP 헤더의 “X-User-Agent”와 “X-get” 또는 “X-notify” 항목을 통해 전송된다. “X-User-Agent”에는 시스템에서 수집한 정보들이 포함되는데 분석 시점 기준 버전은 “O_143″이다. “X-get” 항목은 최초 연결 시 사용되며 “X-notify”에는 전송하는 데이터가 포함된다.
| 순서 | 데이터 |
|---|---|
| 1 | 버전 (“O_143”) |
| 2 | guid (새롭게 생성) |
| 3 | 컴퓨터 이름 |
| 4 | 사용자 이름 |
| 5 | 윈도우 버전 |
| 6 | 아키텍처 |
| 7 | AntiVirus 정보 |
Table 1. X-User-Agent 항목
4.1. 클립보드 보호
첫 번째 기능은 현재 클립보드를 보호하는 기능인데 이는 다른 ClipBanker류로부터 보호하기 위한 것으로 추정된다. 먼저 %TEMP% 경로에 “ClipboardProtect.ps1” 파일을 생성한 후 실행하는데 생성된 스크립트는 현재 실행 중인 프로세스들을 검사한다. 만약 실행 중인 프로그램들 중에서 “Windows”, “”System32”, “Program Files”와 같은 경로에 존재하지 않으면서 정상적인 인증서로 서명되어 있지 않을 경우 목록에 추가한다.
이후 클립보드를 모니터링하면서 검사하는데, 만약 클립보드 변경이 일어날 경우 현재 활성화된 윈도우의 프로세스를 검사하고 위의 목록에 포함되는지 확인한다. 만약 시스템 경로에 존재하지 않으면서 인증서로 서명되어 있지 않은 프로세스 즉 의심스러운 프로세스에서 클립보드 변경 행위가 발생할 경우 해당 프로세스를 강제로 종료한다.
4.2. 윈도우 모니터링 (암호 화폐 지갑 프로그램)
그리고 현재 윈도우 타이틀을 검사하면서 암호 화폐 지갑과 관련된 프로그램이 실행 중인지 검사하며 매칭될 경우 C&C 서버에 전송한다.
4.3. 클립보드 모니터링 (BIP39 복구 문구 및 암호 화폐 지갑 주소)
ViperSoftX는 클립보드를 모니터링하면서 암호 화폐 지갑 복구에 사용되는 복구 문구 즉 BIP 39 복구 문구가 복사되었는지를 검사한다. 깃허브에서 복구 문구를 다운로드한 후 주기적으로 클립보드를 모니터링하면서 해당 복구 문구에 포함될 경우 C&C 서버에 전송한다. 이외에도 클립보드에 포함된 내용이 암호 화폐 지갑 주소에 대한 정규 표현식에 매칭될 경우 동일하게 탈취한다.
- 정규표현식 대상 지갑 주소 : BTC, BCH, BNB, ETH, XMR, XRP, DOGE, DASH, ADA, XTZ, SOL, ATOM, KAVA, ZEC, ZIL, USDT
4.4. 시스템 정보 전송 (웹 브라우저 확장, 설치된 프로그램)
웹 브라우저들의 확장 프로그램들과 설치된 프로그램들의 목록을 조회하여 구한 후 C&C 서버에 전송한다.
- 대상 웹 브라우저 : Chrome, Edge, Brave, Opera, Opera GX, Firefox, Vivaldi, Chrome Beta, Chrome Canary, Firefox Developer
4.5. 명령 실행
ViperSoftX는 정보 탈취 기능 외에도 명령 실행 기능이 존재한다. 파워쉘 명령을 실행하는 것뿐만 아니라 실행 파일을 다운로드하고 실행하는 기능도 지원한다.

Figure 5. ViperSoftX가 지원하는 명령들
| 명령 | 기능 |
|---|---|
| Cmd | 파워쉘 명령 실행 |
| DwnlExe | 실행 파일 다운로드 및 실행 |
| SelfRemove | 종료 |
| RestartClient | 종료 |
Table 2. ViperSoftX가 지원하는 명령
5. 추가 페이로드
5.1. Quasar RAT
Quasar RAT은 닷넷으로 개발된 오픈 소스 RAT 악성코드로서 원격 제어 기능들뿐만 아니라 키로깅, 계정 정보 수집 기능들을 제공하여 사용자 환경의 정보를 탈취할 수 있다. ViperSoftX는 과거부터 Quasar RAT을 자주 사용하고 있으며 현재 기준으로도 PureCrypter, PureHVNC와 함께 가장 많이 사용하는 악성코드이다.
5.2. PureCrypter, PureHVNC
최근에는 Quasar RAT뿐만 아니라 닷넷으로 개발된 상용 패커인 PureCrypter와 원격 제어 악성코드인 PureHVNC가 함께 유포되고 있다. PureCrypter는 추가 페이로드를 다운로드해 실행 가능한 로더로서 인젝션, 분석 방해 기법 등 다양한 기능들을 지원한다. PureHVNC는 동일한 개발자가 함께 판매 중이며 감염 시스템을 제어하기 위한 다양한 기능들을 지원한다.

Figure 6. PureHVNC
5.3. ClipBanker
ClipBanker 악성코드는 클립보드를 주기적으로 모니터링하면서 문자열이 복사될 경우 정규 표현식을 기반으로 암화 화폐 지갑 주소인지를 검사한다. 암호 화폐 지갑 주소가 복사된 것으로 판단되는 경우에는 공격자의 암호 화폐 지갑 주소로 변경한다. 이는 일반적으로 암호 화폐 지갑 주소가 일정한 형식을 갖추고 있지만 길고 랜덤한 문자열임에 따라 외우기 어렵기 때문에 사용자들이 복사 및 붙여넣기 하는 방식을 이용하기 때문이다.
6. 결론
ViperSoftX 공격자는 수년 전부터 암호 화폐 사용자들을 공격하고 있으며 최근까지도 활발하게 악성코드를 유포 중이다. 공격자는 암호 화폐와 관련된 정보들을 탈취하거나 거래에 혼선을 일으키기 위해 다양한 악성코드를 활용하고 있다. ViperSoftX에 감염될 경우 공격자에 의해 제어가 탈취당하여 본문에서 언급된 정보뿐만 아니라 더 많은 사용자 정보들이 탈취당할 수 있다.
사용자는 공식 홈페이지가 아닌 의심스러운 웹 사이트나 자료 공유 사이트에서 다운로드한 소프트웨어를 설치하는 행위를 주의해야 한다. 그리고 운영체제 및 설치된 소프트웨어의 최신 보안 패치를 적용해야 하며 V3 제품을 최신 버전으로 유지하여 알려진 공격을 차단해야 한다.