[04월 | 악성코드 분석 보고서] 암호화폐 사용자를 노린 SvcStealer, Diamotrix Clipper 연계 정황
샌즈랩 위협 분석팀은 매월 악성코드를 선정하여 보고서를 작성합니다.
샌즈랩 위협 분석팀은 매월 악성코드를 선정하여 보고서를 작성합니다.
전문 분석을 통해 파악한 악성코드의 특징과 위협 동향, 연관 정보 등을 공유해 안전한 사이버 환경을 만들어 가고자 합니다.
악성코드에 대한 더 상세한 정보는 사이버 위협 인텔리전스 서비스 <CTX>에서 확인하실 수 있습니다.
1. 개요
본 보고서는 2025년 초 샌즈랩 CTX 플랫폼을 통해 새롭게 탐지된 신종 인포스틸러 악성코드 SvcStealer에 대한 분석 내용을 다룬다.
SvcStealer는 C++ 기반으로 제작된 정보 탈취형 악성코드로, 감염된 시스템에서 암호화폐 지갑, 메신저, FTP 클라이언트, 시스템 정보, 소프트웨어 목록, 브라우저 저장 정보, 사용자 문서 등 다양한 민감 데이터를 수집하여 외부 서버로 전송하는 기능을 수행한다.
이 악성코드는 단일 정보 탈취에 그치지 않고, 공격자의 C2 서버로부터 추가 페이로드를 다운로드하여 실행하는 다단계 모듈 구조를 갖고 있으며, 이후 실행되는 qq.exe 및 pxcc.exe 페이로드는 각각 클립보드 및 파일 내에 존재하는 암호화폐 지갑 주소를 공격자의 주소로 교체하는 클리퍼(Clipper) 기능을 수행한다. 피해자는 이를 인지하지 못한 채 암호화폐 자산을 탈취당할 수 있으며, 실제 거래 내역 분석을 통해 조직적인 자금 세탁 흐름도 일부 확인되었다.
또한 분석 과정에서 추출된 PDB 경로와 네트워크 통신 구조를 통해 본 악성코드가 과거에 보고된 Diamotrix Clipper 계열 악성코드와 동일한 제작자 또는 공격 인프라를 공유하고 있을 가능성이 높은 것으로 판단된다.
본 보고서에서는 SvcStealer의 전체 공격 흐름을 초기 감염부터 정보 수집, 전송, 페이로드 실행, 클리핑 기능 및 흔적 삭제까지 단계별로 분석하고, 추가로 공격자의 지갑 거래 내역과 연계된 금전 흐름까지 기술함으로써 해당 악성코드의 실질적인 금전 탈취 목적과 위협 수준을 종합적으로 조명한다. 이를 통해 향후 유사한 위협에 대응하기 위한 기술적 대응 체계 수립과 침해 지표(IOC) 확보에 기여하고자 한다.
2. 악성코드 정보
2025년 4월 초, 샌즈랩 CTX 플랫폼에서 새로운 인포스틸러 악성코드인 SvcStealer가 탐지되었다.
![[그림 1] 샌즈랩 CTX에서 ssks.exe 악성코드 탐지](/api/media/file/%EA%B7%B8%EB%A6%BC1%20(1).png)
[그림 1] 샌즈랩 CTX에서 ssks.exe 악성코드 탐지
해당 악성코드는 C++로 작성되었고, 패킹이나 코드 난독화 기법은 별도로 적용되어 있지 않았다. 파일명은 “ssks.exe”로 유포되었으며, 감염된 시스템 내에서 다양한 민감 정보를 수집한 뒤 이를 공격자 서버로 전송하는 기능을 수행한다. 수집 대상은 매우 광범위하며, 다음과 같은 항목들을 포함한다.
암호화폐 지갑 데이터, 메신저 애플리케이션 설정, FTP 클라이언트 데이터, 스크린샷, 설치된 소프트웨어 목록, 시스템 및 실행 중인 프로세스 정보, 열려 있는 윈도우(창) 정보, 웹 브라우저 저장 정보 (비밀번호, 방문 기록, 신용카드 등) |
악성코드는 실행 시 사용자가 인지할 수 있는 명확한 UI 또는 반응을 표시하지 않으며, 백그라운드에서 은밀하게 동작한다. 또한, 분석 및 탐지를 방해하기 위해 프로세스 탐지 및 종료 기능을 포함하며, 흔적을 제거하는 로직도 구현되어 있어 분석 회피(Anti-Analysis) 기능도 갖추고 있다.
수집된 데이터는 고유 식별자(볼륨 시리얼 번호 기반 22자 문자열)를 이름으로 하는 ZIP 파일로 압축되며, 공격자의 C2 서버(185.81.68.156)로 전송된다. 데이터 전송은 multipart/form-data 형식의 HTTP POST 요청을 통해 수행되며, 외관상 정상적인 웹 트래픽으로 위장되어 네트워크 탐지를 우회할 수 있도록 설계되어 있다. 또한 시스템 프록시 설정을 무시하고 직접 서버에 접속하도록 구성되어 있으며, API 호출 역시 직접 선언하지 않고 동적으로 로딩 하는 방식을 통해 보안 제품의 탐지를 회피한다.
![[그림 2] API 동적 로딩 코드](/api/media/file/%EA%B7%B8%EB%A6%BC2%20(1).png)
[그림 2] API 동적 로딩 코드
정보 탈취 이후, 악성코드는 공격자의 서버로부터 “qq.exe”와 “pxcc.exe”라는 두 개의 페이로드를 다운로드하여 실행한다. “qq.exe”는 클립보드 감시를 통해 복사된 암호화폐 지갑 주소를 공격자의 지갑 주소로 교체하는 클립보드 하이재킹 기능을 수행하며, “pxcc.exe”는 문서나 웹 디렉토리 내에 저장된 암호화폐 주소 문자열을 직접 탐색 및 교체하는 파일 기반 하이재킹 기능을 수행한다. 두 페이로드 모두 공격자가 사용하는 지갑 주소로 송금이 유도되도록 설계되어 있으며, 피해자는 이를 인지하지 못한 채 가상 자산을 탈취당할 수 있다.
파일명 (Original Filename) | 역할 | 생성 시각 (KST) |
|---|---|---|
ssks.exe | 메인 인포스틸러 | 2025-04-03 01:59:52 |
qq.exe (System.exe) | 클립보드 암호화폐 주소 하이재커 | 2025-04-01 23:34:22 |
pxcc.exe | 파일 내 암호화폐 주소 하이재커 | 2025-04-01 23:31:30 |
[표 1] 실행 파일별 기능 및 생성 시각
“pxcc.exe”의 PE 파일에서는 PDB 경로를 추출할 수 있었는데, 그 경로는 다음과 같다.
![[그림 3] pxcc.exe에서 확인된 PDB 경로 정보](/api/media/file/%EA%B7%B8%EB%A6%BC3%20(1).png)
[그림 3] pxcc.exe에서 확인된 PDB 경로 정보
이 경로를 통해 악성코드 제작자의 로컬 사용자명(Diamotrix) 및 프로젝트명(FileClipper) 정보를 확인할 수 있다.
이로 인해 본 악성코드는 기존에 알려진 Diamotrix Clipper 계열 악성코드와 관련되어 있을 가능성이 있으며, Diamotrix Clipper는 암호화폐 지갑 주소를 공격자 주소로 치환하는 클리퍼 악성코드로 많은 사례가 보고되어 있다. 이러한 정황을 종합하면, SvcStealer는 기존 클리퍼 계열 악성코드인 Diamotrix Clipper와 동일한 제작자 또는 관련된 공격자 그룹에 의해 개발된 것으로 추정할 수 있다.
3. 악성코드 동작 순서
악성코드가 실행되면, 감염된 시스템에서 다양한 정보를 수집한다. 수집 대상은 암호화폐 지갑, 메신저 애플리케이션, FTP 클라이언트 설정, 스크린샷, 설치된 소프트웨어 목록, 시스템 정보, 실행 중인 창(Window) 및 프로세스 정보, 브라우저 저장 정보, 사용자 문서 파일 등 광범위한 민감 데이터를 포함한다.
이후 수집된 데이터는 압축된 형태로 공격자의 C2 서버(185.81.68.156)로 전송되며, 이어서 C2 서버와의 추가 통신을 통해 “qq.exe”와 “pxcc.exe” 두 개의 악성 페이로드가 다운로드 및 실행된다. 각각의 페이로드는 다음과 같은 악성 행위를 수행한다.
- qq.exe: 클립보드에 복사된 암호화폐 지갑 주소를 탐지하여 공격자의 지갑 주소로 자동 교체 (클립보드 하이재킹).
실행 시 winserv.exe라는 이름으로 복제되며, 복제된 경로는 레지스트리에 시작 프로그램으로 등록되어 시스템 재부팅 시 자동 실행되도록 설정
- pxcc.exe: 문서 파일 내에 저장된 암호화폐 지갑 주소를 탐색 및 교체 (파일 하이재킹)
마지막으로, 악성코드는 C2 서버와 재통신을 시도하며, 응답을 받지 못할 경우 자기 자신을 다시 실행하여 활동을 재개한다. 이러한 전반적인 동작 흐름을 통해, 본 악성코드는 단순한 정보 탈취를 넘어 지속성 확보, 데이터 유출, 자산 탈취, 재실행 기능까지 포함한 정교한 다단계 공격 체계를 구현하고 있다.
![[그림 4] 악성코드 동작 순서도](/api/media/file/%EA%B7%B8%EB%A6%BC4.png)
[그림 4] 악성코드 동작 순서도
4. 악성코드 분석
4.1. ssks.exe
4.1.1. 디렉토리 생성
악성코드는 먼저 감염된 시스템 드라이브의 볼륨 시리얼 번호를 획득한 뒤, 이를 기반으로 일련의 연산 과정을 수행하여 22자리의 고유한 문자열을 생성한다. 이후, 생성한 문자열을 ProgramData 디렉토리 경로에 추가하여 전체 경로를 완성한다. 최종적으로 “C:\ProgramData\<고유 문자열>” 디렉토리를 생성하고, 이를 향후 악성 행위를 위한 작업 폴더로 활용한다.
![[그림 5] ProgramData 경로에 생성된 고유 식별자 디렉토리](/api/media/file/%EA%B7%B8%EB%A6%BC5.png)
[그림 5] ProgramData 경로에 생성된 고유 식별자 디렉토리
4.1.2. 분석 도구 탐지를 위한 프로세스 모니터링
악성코드는 백그라운드에서 지속적으로 동작하는 스레드를 새로 생성하여 프로세스 탐지 및 종료 기능을 수행한다.
생성된 스레드에서 수행되는 함수는 프로세스 목록을 순회하며 특정 분석 도구의 존재 여부를 검사한다. 1초 간격으로 무한 반복되며, “Taskmgr.exe”, “ProcessHacker.exe”, “procexp.exe”, “procexp64.exe”라는 이름을 가진 프로세스가 발견될 경우 프로세스의 핸들을 획득한 뒤 강제로 종료시킨다. 이는 분석 환경에서 사용되는 도구를 차단하여 악성 행위가 탐지되는 것을 방해하기 위한 안티 분석 기법이다.
![[그림 6] 분석 도구 프로세스 탐지 및 종료 코드](/api/media/file/%EA%B7%B8%EB%A6%BC6.png)
[그림 6] 분석 도구 프로세스 탐지 및 종료 코드
4.1.3. 암호화폐 지갑 정보 수집
악성코드는 앞서 생성한 고유 폴더 내부에 “Wallets”라는 하위 폴더를 생성한다. 이후 코드 내부에 하드코딩된 경로를 기반으로, “%AppData%\Local” 및 “%APPDATA%Roaming” 경로 아래에 위치한 암호화폐 지갑 애플리케이션 및 브라우저 확장 프로그램 데이터를 탐색하여 수집한다. 수집된 데이터는 “Wallets” 폴더 내에 각 애플리케이션 또는 확장 프로그램 이름으로 생성된 하위 폴더에 복사되어 저장된다.
수집 대상이 되는 애플리케이션 및 확장 프로그램은 다음과 같다.
지갑 애플리케이션 | Exodus, Electrum, Bitcoin, Atomic |
|---|---|
Chrome 확장 프로그램 | Metamask, Binance, Tron, Phantom, Ton, OKX, Trust, FRWT, CoinWallet, Cirus, InternetMoney, Keeper, LastPass, MultiPassword |
Brave 확장 프로그램 | Metamask, Binance, Tron, Phantom, Ton, OKX, Trust, FRWT, CoinWallet, Cirus, InternetMoney |
Edge 확장 프로그램 | Metamask, Binance, Ronin |
[표 2] 수집 대상 암호화폐 지갑 및 확장 프로그램 목록
![[그림 7] 지갑 및 브라우저 확장 경로 탐색 코드](/api/media/file/%EA%B7%B8%EB%A6%BC7.png)
[그림 7] 지갑 및 브라우저 확장 경로 탐색 코드
4.1.4. 메신저 애플리케이션 정보 수집
악성코드는 앞서 생성한 고유 폴더 내부에 “Messengers”라는 하위 폴더를 생성한다. 이후 코드 내부에 하드코딩된 경로를 기반으로, “%AppData%\Roaming” 및 “AppData%\Local” 경로 아래에 위치한 메신저 애플리케이션 데이터를 탐색하여 수집한다. 수집된 데이터는 메신저 이름으로 생성된 폴더 아래에 각각 저장된다. 수집 대상이 되는 메신저는 다음과 같다.
Telegram, 64gram, Unigram, Discord, Tox |
![[그림 8] 메신저 데이터 수집 경로 설정 코드](/api/media/file/%EA%B7%B8%EB%A6%BC8.png)
[그림 8] 메신저 데이터 수집 경로 설정 코드
이때 수집 과정에서 다음 문자열과 일치하는 이름의 폴더 또는 파일은 복사 대상에서 제외된다.
“dumps”, “emoji”, "tdummy", "temp", "user_data", "user_data#2", "user_data#3", "dictionaries", "user_data#4" |
4.1.5. FTP 클라이언트 정보 수집
악성코드는 앞서 생성한 고유 폴더 내부에 “FTP Clients”라는 하위 폴더를 생성한다. 이후 코드 내부에 하드코딩된 경로를 기반으로, FTP 클라이언트 데이터를 탐색하고 수집한다. “%AppData%\Roaming\FileZilla” 경로에 저장된 FileZilla 클라이언트 데이터를 대상으로 하며, 수집된 데이터는 “FTP Clients” 폴더 아래 “FileZilla”라는 폴더를 생성해 개별적으로 저장된다.
![[그림 9] FTP 클라이언트 데이터 수집 경로 설정 코드](/api/media/file/%EA%B7%B8%EB%A6%BC9.png)
[그림 9] FTP 클라이언트 데이터 수집 경로 설정 코드
4.1.6. 시스템 화면 캡처 및 저장
악성코드는 감염된 시스템의 전체 화면을 캡처한 뒤, 앞서 생성된 고유 폴더 내부에 “Screenshot.jpg”라는 이름으로 저장한다. 이를 위해 악성코드는 시스템의 화면 정보를 얻고 GDI+(Graphics Device Interface+) 라이브러리를 초기화하여 화면 해상도를 획득한 뒤, 호환 가능한 DC(Device Context)를 생성하고 화면 크기만큼의 비트맵을 만든다. 이후 화면 전체를 캡처하여 비트맵에 복사하고, 이를 JPEG 이미지 파일로 저장한다.
![[그림 10] 스크린샷 저장을 위한 화면 캡처 코드](/api/media/file/%EA%B7%B8%EB%A6%BC10.png)
[그림 10] 스크린샷 저장을 위한 화면 캡처 코드
4.1.7. 설치된 소프트웨어 정보 수집
악성코드는 앞서 생성한 고유 폴더 내부에 “Software_Info.txt”라는 파일을 생성한 뒤, 해당 파일에 “APP”, “VERSION”, “INSTALL DATE”, “IDENTIFYING NUMBER”의 헤더를 기록한다. 이후 감염된 시스템에 설치된 모든 소프트웨어 정보를 순회하며, 각 소프트웨어의 제품 이름(ProductName), 버전(VersionString), 설치 날짜(InstallDate), 제품 식별자(ProductID)를 수집한다. 수집된 정보는 앞서 생성한 파일에 한 줄씩 기록된다.
![[그림 11] 설치된 소프트웨어 정보 수집 코드](/api/media/file/%EA%B7%B8%EB%A6%BC11.png)
[그림 11] 설치된 소프트웨어 정보 수집 코드
![[그림 12] Software_info.txt](/api/media/file/%EA%B7%B8%EB%A6%BC12.png)
[그림 12] Software_info.txt
4.1.8. 시스템 및 프로세스 정보 수집
악성코드는 앞서 생성한 고유 폴더 내부에 “System_info.txt”라는 파일을 생성한다. 이후 감염된 시스템에 대한 다양한 정보를 수집하고, 이를 해당 파일에 저장한다. 파일의 첫 줄에는 “SvcStealer”라는 문자열을 작성하여 악성코드의 이름을 명시하며, 수집된 정보는 [Machine]과 [Processes] 영역으로 구분되어 기록된다.
[Machine] 영역 | |
|---|---|
Username | 사용자 이름 |
Compname | 컴퓨터 이름 |
System | 운영체제(OS) 버전 |
CPU | CPU 아키텍처 및 코어 수 |
RAM | 전체 물리 메모리 용량 |
DATE | 시스템 현재 시각 |
SCREEN | 화면 해상도 |
Current EXE Path | 악성코드(EXE) 파일의 전체 경로 |
BIOS | BIOS 제조사 및 버전 정보 |
Antivirus | 설치된 보안 제품(안티바이러스) 정보 |
[Processes] 영역 | |
- | 현재 실행 중인 모든 프로세스 목록과 각 프로세스 PID 정보 |
Total Processes | 전체 실행 중인 프로세스 수 |
[표 3] 시스템 정보 수집 항목
![[그림 13] 하드코딩된 SvcStealer 식별 문자열](/api/media/file/%EA%B7%B8%EB%A6%BC13.png)
[그림 13] 하드코딩된 SvcStealer 식별 문자열
![[그림 14] System_info.txt](/api/media/file/%EA%B7%B8%EB%A6%BC14.png)
[그림 14] System_info.txt
4.1.9. 실행 중인 윈도우 및 프로세스 정보 수집
악성코드는 앞서 생성한 고유 폴더 내부에 “Windows_Info.txt”라는 파일을 생성한 뒤, 해당 파일에 공격자가 오타를 포함하여 작성한 “WinodowName”, “WinodowTitle”, “WinodowID”, “ProcessName”이라는 헤더를 기록한다. 이후 시스템에서 실행 중인 모든 프로세스의 ID를 열거하고, 각 프로세스 ID를 통해 해당 프로세스의 핸들을 획득하여 관련 정보를 수집한다. 수집 대상 정보는 실행 파일의 경로, 프로세스가 띄운 최상위 창의 이름(Window Title), 창 식별자(Window ID), 프로세스 이름이다.
![[그림 15] Windows_Info.txt](/api/media/file/%EA%B7%B8%EB%A6%BC15.png)
[그림 15] Windows_Info.txt
4.1.10. 브라우저 저장 정보 수집
악성코드는 앞서 생성한 고유 폴더 내부에 “Browsers”라는 하위 폴더를 생성한 뒤, 브라우저에 저장된 민감한 사용자 정보를 탈취한다. Chrome, Edge, Brave, Opera, Vivaldi, Yandex, Comodo, UR_Browser 등 다양한 브라우저를 대상으로 로그인 정보, 신용카드 정보, 방문 기록, 다운로드 기록 등을 수집하며, 해당 데이터는 각각 “<브라우저>_Passwords.txt”, “<브라우저>_CreditCards.txt”, “<브라우저>_History.txt”, “<브라우저>_Downloads.txt” 이름의 텍스트 파일로 저장한다. 브라우저 종류는 악성코드 내부에 하드코딩된 숫자 값에 따라 결정되며, 각 숫자는 특정 브라우저에 매핑되어 있다. 이 숫자 값은 함수 호출 시 인자로 전달되며, 아래 그림은 함수 호출 시 사용된 인자와 해당 값이 어떤 브라우저를 의미하는지를 보여준다.
![[그림 16] 브라우저 인자 값과 함수 매핑 구조](/api/media/file/%EA%B7%B8%EB%A6%BC16.png)
[그림 16] 브라우저 인자 값과 함수 매핑 구조
이 구조는 코드 수정만으로 다른 브라우저를 손쉽게 추가할 수 있는 유연성을 제공한다.
실제로, 분석된 악성코드는 수집 항목별로 대상 브라우저를 구분하여 다음과 같은 정보를 추출한다.
로그인 정보 | |
|---|---|
대상 브라우저 | Chrome, Brave, Opera, Vivaldi |
쿼리 | SELECT origin_url, action_url, username_value, password_value FROM logins |
신용카드 정보 | |
대상 브라우저 | Chrome, Edge, Brave |
쿼리 | SELECT name_on_card, expiration_month, expiration_year, card_number_encrypted FROM credit_cards |
방문 기록 | |
대상 브라우저 | Chrome, Edge, Brave, Vivaldi |
쿼리 | SELECT url, title, visit_count, last_visit_time FROM urls |
다운로드 기록 | |
대상 브라우저 | Chrome, Edge, Brave |
쿼리 | SELECT tab_url FROM downloads |
[표 4] 수집 항목별 브라우저 및 쿼리 구성
모든 정보 수집은 브라우저의 SQLite 데이터베이스에 접근하여 내부 SQL 쿼리를 실행하는 방식으로 수행되며, 쿼리를 통해 추출된 데이터는 형식을 지정한 후 텍스트 파일로 저장된다.
수집 도중 오류가 발생할 경우, 악성코드는 “debug.txt”라는 파일에 디버그 메시지를 기록한다. 오류는 다음과 같은 상황이 해당된다.
① 브라우저 데이터 파일을 읽거나 복호화 하지 못했을 경우
② SQLite 데이터베이스 연결 또는 쿼리 실행에 실패했을 경우
③ 추출한 데이터를 저장할 파일을 생성하지 못했을 경우
④ 데이터 처리 중 구조나 형식이 예상과 다를 경우
![[그림 17] debug.txt](/api/media/file/%EA%B7%B8%EB%A6%BC17.png)
[그림 17] debug.txt
4.1.11. 사용자 문서 파일 수집
악성코드는 앞서 생성한 고유 폴더 내부에 “FileGrabber”라는 하위 폴더를 생성해 사용자 문서 파일을 탈취한다. 바탕화면 경로를 확인하고, 해당 경로 하위의 디렉토리를 재귀적으로 탐색하며 특정 조건을 만족하는 파일을 복사 대상으로 선정한다.
파일 필터링 조건은 다음과 같다.
- 확장자 필터링: .txt, .pdf, .sql, .cpp, .h, .dat, .wallet, .pkey
- 파일 크기 제한: 1MB 이하
- 파일 속성 조건: 디렉토리가 아니고, 숨김/시스템 속성이 없는 일반 파일
- 제외 경로: Windows, Users, Program Files, Program Files (x86), PerfLogs, $Recycle.Bin, Boot
![[그림 18] 사용자 문서 파일 수집을 위한 확장자 필터링 코드](/api/media/file/%EA%B7%B8%EB%A6%BC18.png)
[그림 18] 사용자 문서 파일 수집을 위한 확장자 필터링 코드
![[그림 19] 실제 수집된 사용자 문서 파일 목록](/api/media/file/%EA%B7%B8%EB%A6%BC19.png)
[그림 19] 실제 수집된 사용자 문서 파일 목록
이러한 조건을 모두 만족하는 파일은 악성코드에 의해 지정된 “FileGrabber” 디렉토리로 복사된다.
이 과정은 주로 사용자가 직접 생성하거나 자주 사용하는 파일들을 대상으로 하며, 시스템 파일이나 설정 파일은 의도적으로 제외된다. 즉, 악성코드는 사용자의 주요 작업 파일에 초점을 맞춤으로써, 실질적인 정보 탈취 효과를 극대화하고 있다.
4.1.12. 수집 정보 압축 및 서버 전송
정보 수집이 완료되면, 악성코드는 앞서 생성한 고유 폴더 내부의 데이터를 모두 압축하여 하나의 ZIP 파일로 생성한다. 이때 ZIP 파일의 이름은 앞서 생성한 고유 문자열을 그대로 사용한다. 이후 이 파일은 공격자의 서버(185.81.68.156)로 전송되며, 전송 과정은 다음과 같은 절차로 이루어진다.
① 서버 연결 구성
악성코드는 시스템 프록시 설정을 우회하고 인터넷에 직접 연결하기 위해 INTERNET_OPEN_TYPE_DIRECT 모드를 사용한다. 이를 통해 사용자 시스템의 프록시나 보안 정책을 무시하고, 공격자의 서버(IP: 185.81.68.156, 포트: 80)에 직접 접속한다.
![[그림 20] 서버 연결 구성](/api/media/file/%EC%84%9C%EB%B2%84_%EC%97%B0%EA%B2%B0_%EA%B5%AC%EC%84%B1.png)
[그림 20] 서버 연결 구성
② HTTP POST 요청 구성
압축된 ZIP 파일을 업로드하기 위해 POST 방식의 HTTP 요청을 구성한다. 요청 경로는 /svcstealer/get.php이며, 요청 본문은 multipart/form-data 형식으로 작성된다. 이 형식은 일반적인 웹 브라우저의 파일 업로드 방식과 유사해, 보안 솔루션의 탐지를 회피하기 위한 위장 효과를 갖는다.
또한 User-Agent는 “Mozilla/5.0”으로 설정되어, 실제 브라우저에서 발생한 요청처럼 위조된다.
![[그림 21] HTTP POST 요청 구성 1](/api/media/file/HTTP_POST_%EC%9A%94%EC%B2%AD_%EA%B5%AC%EC%84%B11.png)
[그림 21] HTTP POST 요청 구성 1
![[그림 22] HTTP POST 요청 구성 2](/api/media/file/HTTP_POST_%EC%9A%94%EC%B2%AD_%EA%B5%AC%EC%84%B12.png)
[그림 22] HTTP POST 요청 구성 2
③ 파일 데이터 첨부
ZIP 파일은 multipart 형식의 요청 본문에 첨부된다. 이때 요청 헤더에는 고정된 경계를 포함해 실제 웹 트래픽과 유사한 형태를 따르도록 구성되어 있어 탐지를 어렵게 한다.
④ 데이터 전송 및 응답 수신
완성된 요청은 서버로 전송하고, 이후 응답 데이터를 메모리에서 읽어 전송 성공 여부를 확인한다.
4.1.13. 수집 흔적 삭제 및 은폐 시도
악성코드는 정보 수집 및 전송을 마친 후, 앞서 생성한 고유 폴더와 그 하위에 위치한 모든 파일 및 디렉토리를 재귀적으로 삭제한다.
폴더 삭제가 완료되면, 동일한 이름에 .zip 확장자가 붙은 압축 파일도 함께 제거된다. 이러한 동작은 악성 행위의 흔적을 제거하여 포렌식 분석과 탐지를 방해하려는 목적을 가지며, 수집 및 유출 과정에서 생성된 모든 파일을 정리함으로써 자신의 존재를 은폐하려는 의도로 해석할 수 있다.
![[그림 23] 디렉토리 및 ZIP 파일 삭제 코드](/api/media/file/23-1.png)
[그림 23] 디렉토리 및 ZIP 파일 삭제 코드
4.1.14. C2 명령 기반 페이로드 다운로드 및 실행
악성코드는 외부 서버로부터 추가 페이로드를 다운로드해 실행하는 기능을 수행한다.
이를 위해 공격자의 서버(185.81.68.156)에 HTTP POST 요청을 보내며, 요청 본문에는 “tsk=<식별자>” 형식의 파라미터가 포함된다. 이때 사용되는 식별자는 앞서 감염된 시스템의 볼륨 시리얼 번호를 기반으로 생성된 고유 폴더명과 동일하며, 피해 시스템을 식별하는 용도로 활용되었을 가능성이 있다. 요청은 /svcstealer/get.php 경로로 전송되며, HTTP 헤더에는 “Content-Type: application/x-www-form-urlencoded”가 포함되어 있다.
이는 웹 폼 제출 방식과 동일한 형태로, 일반적인 브라우저 트래픽처럼 위장하기 위한 기법으로 보이며, 서버는 응답으로 다음과 같은 형태의 문자열을 반환한다.
![[그림 24] 브라우저 트래픽 위장 코드(위) 및 실제 서버 요청 내역(아래)](/api/media/file/24-1.png)
[그림 24] 브라우저 트래픽 위장 코드(위) 및 실제 서버 요청 내역(아래)
![[그림 25] 서버로부터 받은 페이로드 다운로드 경로 응답](/api/media/file/25-1.png)
[그림 25] 서버로부터 받은 페이로드 다운로드 경로 응답
응답은 줄바꿈(\r\n)을 기준으로 여러 줄로 구분되며, 각 줄은 세미콜론(;)으로 구분된 두 개의 항목으로 구성된다. 첫 번째 항목이 “0”인 경우, 두 번째 항목은 다운로드할 실행 파일의 URL을 의미한다. 악성코드는 이 문자열을 기반으로 다음과 같은 절차를 수행한다.
① URL 파싱 및 다운로드
응답 내용에서 “0”으로 시작하는 항목을 식별한 뒤, 해당 항목의 URL로부터 실행 파일을 다운로드한다.
다운로드된 데이터는 바이너리 형식으로 메모리에 저장되며, 실제로 다운로드되는 파일은 “qq.exe”와 “pxcc.exe”이다.
② 파일 저장
다운로드된 실행 파일은 %LOCALAPPDATA%\Temp 경로에 “temp_<랜덤숫자>.exe” 형식으로 저장된다.
이 경로는 일반적인 윈도우 임시 폴더로, 사용자 접근이 제한되어 있고 탐지도 상대적으로 어렵다.
![[그림 26] 실행 파일이 저장된 형식](/api/media/file/26.png)
[그림 26] 실행 파일이 저장된 형식
③ 파일 실행
저장이 완료된 파일은 즉시 실행되며, 이후 각 파일은 지정된 악성 행위를 수행하게 된다.
4.1.15. C2 응답 기반 실행 흐름 제어
악성코드는 실행 종료 직전에 외부 C2 서버와의 연결을 시도하고, 응답 내용을 바탕으로 종료 또는 자기 자신을 재실행하는 방식으로 동작 흐름을 제어한다. 이를 통해 C2와의 통신 상태에 따라 활동을 지속하거나 종료하는 구조를 갖추고 있다.
먼저 공격자의 서버(185.81.68.156)로 HTTP POST 요청을 전송하며, 요청 본문에는 “uplog=<식별자>” 형식의 데이터가 포함된다. 이때 사용되는 식별자는 앞서 생성된 고유 문자열과 동일한 값이다. 요청은 /svcstealer/get.php 경로로 전송된다. 만약 해당 서버(185.81.68.156)와의 연결에 실패할 경우, 악성코드는 자동으로 백업 서버인 176.113.115.149로 동일한 요청을 재전송한다. 이와 같은 이중 서버 구조는 주 서버가 차단되거나 작동하지 않을 경우에도 악성코드가 지속적으로 동작할 수 있도록 설계된 백업 메커니즘이다.
![[그림 27] 백업 C2 서버 연결 시도 및 요청 전송 코드](/api/media/file/27-1.png)
[그림 27] 백업 C2 서버 연결 시도 및 요청 전송 코드
서버 응답 본문에는 “Ok”라는 문자열이 포함될 수 있으며, 악성코드는 이 응답 내용을 기준으로 다음 동작을 결정한다.
- 응답 본문에 “Ok” 문자열이 존재하면, 악성코드는 정상 종료한다.
- 응답 본문에 “Ok”가 없거나 연결에 실패한 경우, 악성코드는 자신의 실행 파일을 다시 실행하고 현재 프로세스를 종료한다.
![[그림 28] 서버 응답 기반 실행 흐름 제어 코드 (재시작 및 종료 처리)](/api/media/file/28-1.png)
[그림 28] 서버 응답 기반 실행 흐름 제어 코드 (재시작 및 종료 처리)
4.2. qq.exe
4.2.1. 뮤텍스를 이용한 중복 실행 방지
악성코드는 중복 실행을 방지하기 위해 “SVC_DiamoTrix”라는 이름의 뮤텍스를 생성한다. 동일한 이름의 뮤텍스가 이미 존재할 경우, 이는 악성코드가 이미 실행 중임을 의미하므로, 새로 실행된 인스턴스는 즉시 종료된다. 이를 위해 뮤텍스 생성 이후 GetLastError를 호출하여 반환값이 ERROR_ALREADY_EXISTS(0xB7) 인지를 확인하며, 조건이 충족되면 핸들을 닫고 종료 루틴으로 진입한다. 이러한 구조는 단일 시스템 내에서 악성코드가 중복 실행되지 않도록 제어하는 실행 제한 기법이다.
![[그림 29] 중복 실행 방지를 위한 뮤텍스 생성 및 검사 코드](/api/media/file/29.png)
[그림 29] 중복 실행 방지를 위한 뮤텍스 생성 및 검사 코드
4.2.2. 파일 위장 및 자동 실행 등록을 통한 지속성 확보
악성코드는 자신을 시스템 내에 은밀하게 유지하기 위해 먼저 %AppData% 경로 하위에 “Winserv”라는 디렉토리를 생성한 뒤, 현재 실행 중인 악성코드 파일(qq.exe)을 해당 경로에 “winserv.exe”라는 이름으로 복사한다. 이는 정상적인 윈도우 서비스 실행 파일로 가장하기 위한 명명 방식으로 판단할 수 있다. 만약 디렉토리 생성이나 복사에 실패할 경우, 대체 경로로 %App
Data% 루트에 직접 “winserv.exe”를 복사해 저장한다. 이후 해당 파일에는 숨김(Hidden) 속성이 지정되어 일반적인 탐색기 환경에서는 사용자에게 노출되지 않도록 처리된다.
![[그림 30] 악성 파일 복사 및 숨김(Hidden) 속성 설정 코드](/api/media/file/30-1.png)
[그림 30] 악성 파일 복사 및 숨김(Hidden) 속성 설정 코드
![[그림 31] 복사된 악성 파일(winserv.exe) 속성](/api/media/file/31-2.png)
[그림 31] 복사된 악성 파일(winserv.exe) 속성
파일 복사가 완료되면, 악성코드는 자동 실행을 위한 레지스트리 등록을 수행한다.
우선 현재 실행 중인 “qq.exe”의 경로를 HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run 키에 “SystemServices”라는 이름으로 등록한다. 이후 동일한 항목명을 유지한 채, 복사된 “winserv.exe”의 경로로 해당 값을 덮어쓴다. 이는 실제로 “winserv.exe” 복사에 실패하더라도, 기존에 등록된 “qq.exe”가 계속 실행될 수 있도록 설계된 방식으로 분석할 수 있다.
![[그림 32] 자동 실행을 위한 레지스트리 등록 비교 (위: qq.exe, 아래: winserv.exe)](/api/media/file/32.png)
[그림 32] 자동 실행을 위한 레지스트리 등록 비교 (위: qq.exe, 아래: winserv.exe)
이러한 자동 실행 등록 방식은 시스템이 재부팅되거나 사용자가 로그온할 때마다 악성코드가 자동으로 실행되도록 하는 지속성(Persistence) 확보 수단이다. 특히 등록에 사용된 항목명이 “SystemServices”처럼 윈도우 시스템과 관련된 용어로 구성되어 있어, 사용자의 의심을 피하고 보안 솔루션의 탐지를 회피하려는 시도로 보인다.
4.2.3. 클립보드 감시를 통한 암호화폐 주소 변조
악성코드는 클립보드에 저장된 암호화폐 지갑 주소를 감시하고 이를 공격자의 주소로 교체하는 클립보드 하이재킹 기능을 수행한다.
이 기능은 백그라운드에서 별도의 스레드를 통해 주기적으로 동작하며, 메인 스레드는 sleep(50)을 반복 호출하는 무한 루프 상태로 유지된다. 클립보드 모니터링 스레드는 900ms 간격으로 내용을 검사하며, 다음 절차를 반복한다.
① 정규 표현식을 통한 암호화폐 주소 감지: 클립보드에 저장된 문자열을 대상으로 다음과 같은 정규 표현식을 적용하여 암호화폐 지갑 주소를 탐지한다.
Dash (DASH): \bX[kl][a-zA-Z0-9]{32}\b
Monero (XMR): \b4[0-9AB][1-9A-HJ-NP-Za-km-z]{93}\b
Dogecoin (DOGE): \bD[a-zA-Z0-9]{32,34}\b
Ripple (XRP): \br[a-zA-Z0-9]{24,34}\b
Cardano (ADA): \baddr1[a-z0-9]{54}\b
Bitcoin Cash: \bbitcoincash:[a-zA-HJ-NP-Z0-9]{26,42}\b
Litecoin (LTC): \b(L|M)[a-zA-HJ-NP-Z0-9]{26,34}\b
TRON (TRX): \bT[a-zA-HJ-NP-Z0-9]{33}\b
Ethereum (ETH): \b0x[a-fA-F0-9]{40}\b
Bitcoin (BTC): \b(1|3|bc1)[a-zA-HJ-NP-Z0-9]{25,42}\b
② 공격자 주소로의 자동 교체: 탐지된 주소는 다음의 공격자 지갑 주소로 자동 교체된다.
BTC: 1Dk9YCCgTvoZwN3MHwhm1qqYG8P84UZbBb
ETH/ERC-20: 0x8e14fd7c5fcbd7bc4561e781b82518fe5fbb2731
TRX: TRXnBZEwvWD5SZuuEdxsPmkWyeKRGtg18K
LTC: LSjjzjgTqvksGTSW9zPtyWatcxHpQs25Bo
DOGE: DCetGnKH4gR6YevwiSQAFFgjHseqebGzU9
이와 같은 기능은 사용자가 암호화폐 거래 시 클립보드 복사-붙여넣기 방식으로 지갑 주소를 입력하는 특성을 악용한 것으로, 피해자가 인지하지 못한 채 송금 대상 주소가 공격자의 지갑으로 변경될 수 있다.
이는 금전적인 피해로 직결되는 고위험 행위에 해당하며, 클립보드 모니터링이 별도 스레드로 구성되어 있기 때문에 메인 프로세스가 종료되지 않는 한 장기간 악성 기능이 유지된다. 이러한 구조는 사용자 행위를 실시간으로 가로채고 탐지를 회피하기 위한 설계로 해석할 수 있다.
4.3. pxcc.exe
4.3.1. 저장 파일 내 암호화폐 주소 변조
악성코드는 사용자 시스템 내 특정 디렉토리를 탐색하면서, 저장된 파일 내 암호화폐 주소를 공격자의 지갑 주소로 치환하는 정적 하이재킹(Static Hijacking) 기능을 수행한다. 이 기능은 단순히 클립보드를 감시하는 수준을 넘어, 사용자가 저장한 문서 파일 내의 지갑 주소까지 직접 조작함으로써 공격의 범위와 지속성을 더욱 강화한다. 악성코드의 동작 절차는 다음과 같다.
① 대상 디렉토리 지정: 현재 로그인된 사용자 계정명을 기반으로, 다음과 같은 경로를 탐색 대상으로 지정한다.
- 사용자 개인 디렉토리 (C, D, E 드라이브): \Desktop, \Document, \Pictures, \Music, \Videos, \Downloads
- 웹서버 관련 디렉토리 (C, D, E 드라이브): \xampp, \wamp64, \inetpub
② 디렉토리 및 파일 탐색: 지정된 경로가 실제로 존재하는지 확인한 후, 유효한 디렉토리에 대해서는 모든 하위 디렉토리 및 파일을 재귀적으로 탐색한다.
③ 파일 확장자 필터링: .txt, .htm, .php 확장자를 가진 일반 텍스트 기반 파일만을 대상으로 분석을 수행한다. 디렉토리 항목이나 시스템 파일은 처리 대상에서 제외된다.
④ 암호화폐 주소 탐지 및 치환: 파일 내용을 다음의 정규 표현식을 기반으로 분석하여 암호화폐 주소가 발견되면, qq.exe에서 사용된 것과 동일한 공격자 지갑 주소로 자동 교체된다.
Bitcoin (BTC): \b(?:[13][a-km-zA-HJ-NP-Z1-9]{25,34}|bc1[a-zA-HJ-NP-Z0-9]{39,59})\b
Ehereum (ETH): \b0x[a-fA-F0-9]{40}\b
TRON (TRX): \bT[a-zA-Z0-9]{33}\\b|\\bT[a-zA-Z0-9]{34}\b
Litecoin (LTC): \b(?:[LM3][a-km-zA-HJ-NP-Z1-9]{26,33})\b
⑤ 파일 내용 수정 및 저장: 탐지된 주소가 실제로 변경된 경우에만, 파일 내용을 수정하여 공격자의 지갑 주소가 반영된 상태로 저장한다. 이를 통해 파일 무결성을 최소한으로 훼손하면서도, 사용자나 보안 시스템의 이상 징후 감지를 회피하려는 의도가 내포되어 있다.
다음은 악성코드 실행 이후, 암호화폐 주소가 변경된 문서 파일 예시이다.
![[그림 33] 프로그램 실행 전후 암호화폐 주소 변경 내역 (좌: 변경 전 / 우: 변경 후)](/api/media/file/33-1.png)
[그림 33] 프로그램 실행 전후 암호화폐 주소 변경 내역 (좌: 변경 전 / 우: 변경 후)
5. 수집/유출 정보
구분 | 세부 정보 | 대상 프로그램 |
|---|---|---|
암호화폐 지갑 | - 지갑 애플리케이션 | Exodus, Electrum, Bitcoin, Atomic |
- Chrome 확장 프로그램 | Metamask, Binance, Tron, Phantom, Ton, OKX, Trust, FRWT, CoinWallet, Cirus, InternetMoney, Keeper, LastPass, MultiPassword | |
- Brave 확장 프로그램 | Metamask, Binance, Tron, Phantom, Ton, OKX, Trust, FRWT, CoinWallet, Cirus, InternetMoney | |
- Edge 확장 프로그램 | Metamask, Binance, Ronin | |
메신저 | - 메신저 애플리케이션 데이터 | Telegram, 64gram, Unigram, Discord, Tox |
FTP 클라이언트 | - FileZilla 데이터 | FileZilla |
스크린샷 | - 전체 화면 | |
소프트웨어 | - 제품 이름 - 버전 - 설치 날짜 - 제품 식별자 | |
시스템 | - 사용자 및 컴퓨터 이름 - 운영체제 버전 - CPU, RAM - 현재 시각 - 화면 해상도 - 악성코드 전체 경로 - BIOS - 설치된 보안 제품 정보 - 현재 실행 중인 프로세스 목록 및 PID | |
프로세스 | - 실행 파일 경로 - 최상위 창 이름 - 창 식별자 - 프로세스 이름 | |
브라우저 | - 로그인(이름, 비밀번호) - 신용카드(이름, 유효기간, 카드번호) - 방문 기록(방문 URL, 페이지 제목, 방문 횟수, 마지막 방문 시간) - 다운로드 기록(다운로드 URL) | Chrome, Edge, Brave, Opera, Vivaldi, Yandex, Comodo, UR_Browser |
사용자 파일 | - .txt, .pdf, .sql, .cpp, .h, .dat, .wallet, .pkey |
[표 5] 수집/유출 정보
6. 결론
본 보고서에서 분석한 SvcStealer는 2025년 초 새롭게 등장한 신종 인포스틸러 악성코드로, 기존 정보 탈취형 악성코드의 기능을 포괄하면서도 다단계 실행 구조를 통해 클리퍼 기능까지 수행해 수준의 위협을 내포하고 있다. 메인 악성코드인 ssks.exe는 암호화폐 지갑, 메신저, FTP 클라이언트, 시스템 및 소프트웨어 정보, 브라우저 저장 정보 등 사용자 환경 전반의 민감 데이터를 수집한 뒤 공격자 서버로 전송한다. 정보 탈취가 완료된 이후에는 C2 서버로부터 추가 페이로드를 다운로드해 실행하며, 이를 통해 감염 시스템 내에서 클립보드·파일 기반의 암호화폐 주소 하이재킹 기능까지 단계적으로 수행된다.
이후 실행되는 qq.exe와 pxcc.exe는 각각 클립보드 감시 및 문서 파일 내 암호화폐 주소 치환 기능을 수행하며, 피해자가 인지하지 못한 상태에서 금전 탈취로 이어질 수 있다. 특히 pxcc.exe는 정적 파일 탐색 기반으로 시스템 전체를 대상으로 공격 범위를 확장하며, 사용자 파일의 무결성을 훼손하면서 장기적인 공격 지속성을 확보하려는 의도를 내포하고 있다.
공격자의 지갑 주소를 기반으로 거래 내역을 추적한 결과, 현재까지는 Litecoin(LTC) 지갑에서만 활동이 확인되었으며, Bitcoin이나 Ethereum 등의 다른 암호화폐 자산에 대한 거래 흔적은 발견되지 않았다. LTC의 자금 흐름을 분석한 결과, Binance 지갑으로부터 약 186.2001 LTC가 단일 입금된 뒤 41개의 서로 다른 지갑으로 분산 송금된 정황이 포착되었고, 일부 금액은 다시 Binance로 환류된 내역도 포함되어 있었다. 이는 반복된 송금과 유입을 통해 자금 세탁(Laundering)을 시도하거나 Binance를 경유지로 활용해 추적을 회피하려는 전략일 가능성을 시사한다. 다양한 규모의 무작위 송금은 일반적인 사용자 거래와는 다른 양상을 보이며, 명백한 조직적 자산 은닉의 패턴으로 해석할 수 있다.
![[그림 34] 공격자 LTC 지갑 주소의 입출금 내역 및 거래 흐름](/api/media/file/34-1.png)
[그림 34] 공격자 LTC 지갑 주소의 입출금 내역 및 거래 흐름
이처럼 본 악성코드는 단순 주소 변조를 넘어서, 실제 자산 탈취 및 자금 세탁까지 연계되는 고도화된 공격 흐름을 갖추고 있다.
특히, pxcc.exe의 PE 파일 내부에서 추출된 PDB 경로(C:\Users\Diamotrix\source\repos\FileClipper\x64\Release\
fileClipper.pdb)를 통해 제작자 이름 Diamotrix와 프로젝트명 FileClipper가 확인되었으며, 이는 과거 보고된 Diamotrix Clipper 계열 악성코드와 동일한 명칭이다. 더불어, 악성코드 내부에 사용된 뮤텍스 이름 “SVC_DiamoTrix” 또한 동일한 문자열을 포함하고 있어 제작자 또는 공격자 인프라와의 직접적인 연관성을 뒷받침한다.
또한 샌즈랩 CTX 플랫폼에서 수집된 네트워크 통신 경로 분석 결과, SvcStealer와 기존 Diamotrix Clipper 악성코드 모두 동일한 C2 IP 주소(185.81.68.156)를 사용하는 것이 나타났으며, 각각의 URL 경로 또한 /svcstealer/get.php, /diamo/post.php와 같이 유사한 구조를 갖고 있었다.
해당 IP(185.81.68.156)는 Chang Way Technologies Co. Limited 소유였으며, 백업용으로 사용된 IP(176.113.115.149)는 Cat Technologies Co. Limited 소유로 등록되어 있었다. 두 호스팅 업체는 동일한 주소지와 ASN(AS57523)을 공유하고 있어 동일 실체일 가능성이 높다. 위협 인텔리전스 분석 결과, 해당 조직은 과거부터 다양한 공격자에게 악성 활동용 인프라를 제공해 온 것으로 확인되었으며, 이번 사례에서도 SvcStealer와 관련된 악성 행위에 필요한 인프라를 제공한 것으로 판단할 수 있다.
![[그림 35] CTX에서 확인된 185.81.68.156 주소의 연관 URL 목록 (SvcStealer 및 Diamotrix Clipper)](/api/media/file/35.png)
[그림 35] CTX에서 확인된 185.81.68.156 주소의 연관 URL 목록 (SvcStealer 및 Diamotrix Clipper)
![[그림 36] Chang Way Technologies Co. Limited와 Cat Technologies Co. Limited가 공유하는 ASN(AS57523) 내 IP 대역](/api/media/file/36.png)
[그림 36] Chang Way Technologies Co. Limited와 Cat Technologies Co. Limited가 공유하는 ASN(AS57523) 내 IP 대역
한편, SvcStealer는 2025년 1월 16일 최초 탐지된 이후 현재까지도 활발한 활동을 이어가고 있으며, 특히 4월 중순 이후 탐지 건수가 급격히 증가하고 있는 것으로 나타났다. 이는 샌즈랩 CTX에서 수집된 탐지 이력 데이터를 기반으로 분석된 결과로, 네트워크 요청 내 포함된 “/svcstealer/get.php”문자열을 기반으로 해당 악성코드를 식별하였다. 이러한 정황은 SvcStealer가 여전히 유포 채널을 유지하거나 확대하며 활발히 활동하고 있음을 시사한다.
![[그림 37] 날짜별 SvcStealer 탐지 추이](/api/media/file/37.png)
[그림 37] 날짜별 SvcStealer 탐지 추이
SvcStealer는 난독화나 패킹 기법 없이도 정보 수집, 보안 우회, 자동 실행 등록, 흔적 제거, 페이로드 실행 등 인포스틸러가 수행할 수 있는 모든 악성 행위를 체계적으로 수행한다. 모듈화된 구조와 유연한 설계를 통해 기능 확장성과 지속성을 갖춘 본 악성코드는 단발성 코드가 아닌 조직적이고 금전 탈취 캠페인의 일환으로 해석할 수 있다. 향후 유사 위협에 대비하기 위해서는 블록체인 기반 자금 흐름 추적, 악성 행위 기반 탐지 체계 강화, 침해 지표(IoC) 공유를 통한 공동 대응 전략 수립이 요구된다.
7. IoC 정보
7.1. sha 256 해시
- 94B99B3D90A79F31E73049A0774E0BB690F98C51D4C9E558F5A4683051934CE1
- E77BD161308FE005519F0AC053698CA7E05A76A0FC1E6E2B9F569A1A2C080488
- E2F2EADD2865CC21F36F641BE666BEAAB4E97CCD2C56BA522846D1DD89F3A484
7.2. IP
- 185.81.68.156 (C2)
- 176.113.115.149 (C2)
7.3. URL
- hxxp://185.81.68.156/qq.exe
- hxxp://185.81.68.156/pxcc.exe
7.4. 공격자 암호화폐 주소
- 1Dk9YCCgTvoZwN3MHwhm1qqYG8P84UZbBb (BTC)
- 0x8e14fd7c5fcbd7bc4561e781b82518fe5fbb2731 (ETH)
- TRXnBZEwvWD5SZuuEdxsPmkWyeKRGtg18K (TRX)
- LSjjzjgTqvksGTSW9zPtyWatcxHpQs25Bo (LTC)
- DCetGnKH4gR6YevwiSQAFFgjHseqebGzU9 (DOGE)
8. 참고 자료


