C&C공개
C&C

'Android Win Tool' 위장 트로이목마, 자동화 C2 인프라로 장기 스파이 활동

PyInstaller로 컴파일된 53MB Python 트로이목마가 안드로이드 유틸리티 도구로 위장한 SFX 아카이브에 숨겨져 배포되고 있다. 캠페인 전체 인프라는 단일 ACME 자동화 파이프라인으로 관리되는 89일짜리 Let's Encrypt 인증서와 공유 Namecheap 등록자 해시로 묶이며, 장기 지속 운영을 위해 설계된 회피 중심 스파이웨어 플랫폼임이 드러났다.

2026년 6월 13일 10:39 (UTC+9)최근 관측2026년 6월 13일심각도100CTX TeamIOC34

'Android Win Tool'의 덫 — PyInstaller 트로이목마와 자동화된 C2 인프라의 교차점

안드로이드 기기 관리 유틸리티를 가장한 자기 압축 해제(SFX) 아카이브가 Windows 사용자를 표적으로 유포되고 있다. 이 아카이브 안에는 PyInstaller로 컴파일된 53MB짜리 Python 트로이목마와 Varist 패킹된 보조 실행 파일이 함께 포장돼 있으며, 두 페이로드 모두 Zenbox와 C2AE 샌드박스에서 CLEAN 판정을 받아 자동화 분석 단계를 그대로 통과했다. 페이로드가 통신하는 C2 노드는 네덜란드 ExpressHost(AS 197574) 위에 올라선 neuralpulsecore5.sbs 단 하나가 아니다 — 캠페인 전체 네 개 네트워크 IOC가 Let's Encrypt의 세 가지 중간 인증기관(R13, YR1, E8)을 통해 7주 사이에 발급된 89일짜리 인증서로 묶이며, 단일 ACME 자동화 파이프라인이 인프라 전체의 인증서 수명 주기를 관리하고 있음을 드러낸다. CTX Team이 이 캠페인을 심각도 100, 신뢰도 85로 분류한 것은 탐지 수치 때문이 아니라, 탐지를 의도적으로 회피하도록 설계된 다층 구조 때문이다.


SFX 아카이브라는 진입로 — '유틸리티 도구' 위장의 해부

공격의 시작점은 'Android Win Tool v1.9.6'이라는 이름의 자기 압축 해제 RAR 아카이브다. 사용자가 이 파일을 실행하면(T1204.002) 아카이브는 AppData\Local\Temp\RarSFX0\data\ 경로에 내용물을 풀어놓고 ~run.bat을 즉시 구동한다. 이 배치 파일의 alt_names에는 C:\Users\trbis\Downloads\Android Win Tool v1.9.6\data\~run.bat이라는 경로가 그대로 남아 있어, 피해자가 정상 유틸리티 다운로드 폴더에서 직접 실행했음을 보여준다.

~run.bat(SHA256: 526322589fa39b64752b778f95dbbd532833cc53a747aa236d96920f6f9a66c4)은 VirusTotal에서 0/77 탐지를 기록하지만, 내부 신호는 다르다. InQuest Labs의 YARA 룰 Windows_API_Function이 발화했고, Sigma Integrated Rule Set에서 고위험(high) 2건과 중위험(medium) 1건이 동시에 매치됐다. Windows_API_Function 룰은 원래 PE 파일 안에 임베드된 실행 가능 콘텐츠를 탐지하기 위한 것으로, 평범한 배치 스크립트에서 이 룰이 울린다는 것은 스크립트 내부에 Windows API 호출 문자열이나 임베드된 바이너리 참조가 포함돼 있음을 강하게 시사한다(T1059.003). 방어자 입장에서 이 파일이 위험한 이유는 서명이 없고 탐지율이 0이라는 점이 아니라, 배치 파일이라는 외형 뒤에 PE 수준의 API 호출 구조를 숨기고 있다는 점이다.

아카이브 내부에는 세 개의 ASCII 텍스트 파일도 함께 드롭된다 — update.log, setup.log, install.log. 세 파일 모두 2026년 2월 23일 처음 관측됐고 0/77 탐지를 기록하며, CRLF 줄 종결자를 가진 표준 텍스트 파일로 분류된다. 이름 패턴은 설치 단계 로깅을 모방하며, 다단계 임플란트 프레임워크에서 로더 또는 설치 관리자가 드롭하는 스테이지 로그 파일의 전형적 형태다. 이 파일들이 실제로 어떤 데이터를 기록하는지는 직접 확인되지 않아 단정적 결론을 내리기 어렵지만, 다단계 설치 흐름의 일부라는 구조적 맥락은 명확하다.


두 페이로드, 하나의 빌더 — .fptable 섹션이 드러내는 공유 빌드 체인

배치 런처가 스테이징하는 두 PE32+ 실행 파일은 겉으로는 크게 다르다. tkzEegqmFY.exe(SHA256 prefix: 2dcf5725)는 53,719KB에 달하는 거대한 파일이고, 보조 실행 파일(SHA256 prefix: 0a31a7)은 802KB에 불과하다. 두 파일 모두 2026년 5월에 PE 타임스탬프가 찍혔고(각각 5월 3일, 5월 1일), 2026년 6월 11일과 12일 — 24시간 간격으로 — VirusTotal에 처음 제출됐다.

크기 차이에도 불구하고 두 파일이 같은 빌더에서 나왔다는 증거가 PE 구조 안에 새겨져 있다. 두 파일 모두 .fptable 섹션을 포함하며, 이 섹션의 엔트로피는 0.0, 크기는 512바이트로 완전히 동일하다. 표준 MSVC나 MinGW 툴체인은 이 이름의 섹션을 생성하지 않는다. 엔트로피 0.0은 해당 섹션이 초기화되지 않은 제로 패딩으로 채워져 있음을 의미하며, 이는 빌더 템플릿이 두 실행 파일에 동일한 구조적 흔적을 남겼다는 뜻이다. 빌드 파이프라인 클러스터링의 신뢰도를 높이는 또 다른 요소는 두 파일 모두 overlay 태그를 가진다는 점이다 — 파일 끝에 추가 데이터가 붙어 있어 추가 페이로드나 설정 데이터를 은닉하는 데 활용될 수 있다.

tkzEegqmFY.exe의 53MB라는 비정상적 크기는 PyInstaller 패킹의 직접적 결과다. YARA 룰 PyInstaller(@bartblaze 작성)가 이 파일에서 발화했으며, PyInstaller는 Python 런타임 전체를 단일 Windows 실행 파일로 번들링하기 때문에 정적 분석을 어렵게 만들고 페이로드 반복 개발을 빠르게 할 수 있다. 운영자가 Python으로 페이로드를 작성한다는 것은 개발 속도와 유연성을 우선시한다는 신호이기도 하다. 보조 파일은 Varist 패킹이 확인됐으며, imphash 2057790ae7855765d51bdc4142e62f9c가 기록돼 있다.

탐지 측면에서 두 파일의 상황은 대조적이다. 802KB 파일은 76개 엔진 중 29개가 탐지(ALYac, CrowdStrike, ESET-NOD32, Kaspersky, Microsoft 등)했지만, 53MB PyInstaller 번들은 21/76에 그쳤다 — Zenbox(신뢰도 98)와 C2AE 두 샌드박스 모두 CLEAN 판정을 내렸음에도 불구하고. AhnLab-V3, Fortinet, DrWeb, ClamAV 등은 두 파일 모두에서 미탐지를 기록했다. 샌드박스가 놓친 이유는 다음 섹션의 회피 기법에서 설명된다.


샌드박스를 잠재우는 방법 — 장기 슬립 루프와 서명 없는 실행 파일

두 PE 페이로드가 자동화 분석 환경에서 CLEAN 판정을 받은 것은 탐지 엔진의 실패가 아니라 운영자가 의도한 결과다. ~run.bat과 별도의 텍스트 아티팩트(SHA256 prefix: f02285)에는 공통적으로 long-sleeps 태그가 붙어 있다. 이 태그는 VirusTotal 샌드박스가 파일 실행 중 장기 대기 루프를 관측했을 때 부여하는 것으로, 샌드박스 분석 타임아웃을 초과하도록 의도된 지연 실행 기법(T1497.003)의 직접적 증거다.

f02285 텍스트 파일은 이 캠페인에서 특이한 위치를 차지한다. 2015년 1월 11일 처음 관측된 이 파일은 캠페인의 다른 모든 IOC보다 10년 이상 앞서며, 422건의 제출과 7개 소스를 기록하고 있다. 0/76 탐지에 long-sleeps, idle 태그를 가진 이 파일이 현재 캠페인에 포함된 경위는 현 단계 증거로는 명확하지 않다 — 오래된 범용 회피 스니펫이 재활용됐을 가능성과 수집 과정의 오포함 가능성 모두 열려 있으며, 단정적 결론은 현 단계에서 어렵다.

서명 부재도 주목할 지점이다. 캠페인에 포함된 7개 파일 전체가 코드 서명 인증서 없이 배포된다. 이는 합법적 소프트웨어로 위장하는 데 있어 명백한 약점이지만, 운영자는 이를 SFX 아카이브의 '유틸리티 도구' 위장과 장기 슬립 기반 샌드박스 회피로 보완하는 전략을 택한 것으로 보인다. 서명 없는 실행 파일이 EDR 환경에서 즉각 차단되지 않는다는 점은, 이 캠페인이 엔드포인트 보호가 상대적으로 느슨한 환경을 표적으로 삼고 있을 가능성을 시사한다 — 다만 이는 추론이며 직접 확인된 사실은 아니다.


명령제어의 해부 — 파라미터화된 비컨과 이중 C2 구조

임플란트가 활성화되면 HTTPS를 통해 neuralpulsecore5.sbs(154.86.119.78)로 비컨을 전송한다(T1071.001). 이 도메인에서 관측된 두 URL이 이 캠페인의 C2 프로토콜 구조를 가장 직접적으로 드러낸다:

  • neuralpulsecore5.sbs/doero?param=JXGWwd2Nmlp691SHhIIS
  • neuralpulsecore5.sbs/list?param=JXGWwd2Nmlp691SHhIIS

두 엔드포인트 /doero/list가 동일한 파라미터 값 JXGWwd2Nmlp691SHhIIS를 공유한다는 사실이 핵심이다. 이 패턴은 피해자 또는 세션 식별자가 파라미터로 인코딩된 C2 체크인 및 태스크 목록 조회 프로토콜과 일치한다 — /doero가 초기 체크인(do/execute 요청), /list가 대기 중인 명령 목록 조회를 담당하는 구조로 해석할 수 있다. neuralpulsecore5.sbs는 91개 엔진 중 20개가 탐지해 이 캠페인 네트워크 IOC 중 가장 높은 탐지율을 기록하며, 커뮤니티 vote에서도 malicious 1표를 받았다.

이 도메인은 2026년 4월 22일 등록됐고, 탐지 시점까지 52일이 경과했다. 네임서버로 DNSPod(a.dnspod.com, b.dnspod.com, c.dnspod.com)를 사용한다는 점이 운영적으로 주목된다. DNSPod는 중국 기반 DNS 서비스로, 이 도메인이 네덜란드 호스팅(AS 197574, ExpressHost Ltd)과 결합돼 있다는 사실은 의도적인 관할권 분산 전략을 시사한다. ExpressHost의 WHOIS는 AFRINIC 등록에 세이셸 관리자 연락처를 기재하고 있어, 단일 지역에서의 법적 대응을 어렵게 만드는 구조다. IP 154.86.119.78의 TLS 인증서 주체가 nl01.spbeyes.com인 점은 이 VPS가 전용으로 운영되고 있음을 뒷받침한다.

보조 C2 노드인 file-end.com(209.42.27.175)은 성격이 다르다. 2025년 9월 11일 등록돼 탐지 시점까지 275일이 경과한 이 도메인은 영국 기반 WHG Hosting Services Ltd(AS 204800)에 호스팅돼 있으며, 해당 IP의 TLS 인증서 주체는 cpcontacts.abysat.com.br — 캠페인 도메인과 전혀 무관한 브라질 도메인이다. 이는 운영자가 전용 VPS를 구축한 neuralpulsecore5.sbs와 달리, file-end.com의 경우 공유 호스팅 서버를 임대하거나 기존에 침해된 서버를 활용하고 있을 가능성을 강하게 시사한다. 두 노드가 기능적으로 분리돼 있다는 점 — 전자는 활성 비컨 엔드포인트, 후자는 폴백 또는 스테이징 역할로 추정 — 은 운영자가 단일 장애점을 피하는 이중화 전략을 채택했음을 보여준다.


인프라를 하나로 묶는 실 — Namecheap 등록자 해시와 89일 인증서 파이프라인

캠페인의 네 개 네트워크 IOC가 서로 다른 호스팅 제공자와 지역에 분산돼 있음에도 불구하고, 이들을 단일 운영자의 작품으로 묶는 두 가지 교차 증거가 있다.

첫 번째는 Namecheap 등록자 해시다. file-end.com과 mayfiles.vip의 WHOIS를 비교하면 두 도메인 모두 Namecheap(registrar_id 1068)을 통해 등록됐고, 등록자 회사 필드에 동일한 해시값 4b7a0912c26a13e2가 기재돼 있으며, 관리자 이메일은 모두 @withheldforprivacy.com 패턴을 따른다 — 아이슬란드 레이캬비크를 등록자 주소로 사용하는 Namecheap의 WHOIS 개인정보 보호 서비스다. 두 도메인의 등록 시점은 각각 2025년 9월 11일과 2026년 4월 11일로 7개월 차이가 나지만, 동일한 계정 또는 운영자 정체성 아래 등록됐다는 결론을 피하기 어렵다. 이 구조는 단일 Namecheap 계정에서 도메인을 빠르게 교체하면서 운영 연속성을 유지하는 전략적 선택이다.

두 번째는 인증서 파이프라인이다. 캠페인의 네 개 네트워크 노드 전체 — mayfiles.vip, file-end.com, 209.42.27.175, 154.86.119.78 — 가 89일짜리 Let's Encrypt TLS 인증서를 사용하며, 발급 기관은 R13, YR1, E8 세 가지 중간 인증기관에 걸쳐 있다. 발급 시점은 2026년 4월 13일(209.42.27.175, R13)부터 2026년 6월 4일(mayfiles.vip, YR1)까지 7주 범위에 분포한다. Let's Encrypt의 최대 유효 기간인 89일을 모든 노드에서 균일하게 사용하고, 세 가지 다른 중간 인증기관을 통해 발급받았다는 사실은 수동 관리가 아닌 스크립트 기반 ACME 자동화의 특징이다. 운영자는 인증서 만료를 수동으로 추적하지 않아도 되며, 캠페인은 정기적인 인증서 교체 없이도 지속될 수 있다.

mayfiles.vip는 현재 캠페인 IOC에 포함된 IP(173.252.167.50)와 연결돼 있지 않다 — 이 도메인이 스테이징 또는 페이로드 호스팅 역할을 맡고 있을 가능성이 있지만, 그 기능을 직접 확인하기는 어렵다. 탐지율 1/91이라는 낮은 수치는 이 노드가 아직 본격적으로 활성화되지 않았거나, 관측되지 않은 별도 기능을 수행하고 있을 가능성을 모두 열어둔다.


스파이웨어 동기와 미귀속 운영자 — 현재 증거가 말하는 것과 말하지 않는 것

CTX Team이 이 캠페인에 부여한 동기 분류는 espionage(스파이 활동)이며, 태그는 spyware다. 심각도 100, 신뢰도 85로 분류됐지만 현재까지 특정 행위자 또는 그룹에 대한 귀속은 이루어지지 않았다.

인프라의 운영 보안 수준은 단순 금융 사기 캠페인보다 높다. 아이슬란드 WHOIS 개인정보 보호, 관할권 분산 호스팅(네덜란드/영국), DNSPod 네임서버, 자동화된 인증서 순환의 조합은 테이크다운 요청과 네트워크 수준 귀속 모두를 복잡하게 만들도록 설계된 구조다. 이러한 인프라 구성은 단기 수익을 노리는 캠페인보다 장기 지속성을 우선시하는 운영팀의 특성을 시사한다 — 다만 이는 인프라 패턴에서 도출된 추론이며, 운영자의 실제 의도를 직접 확인한 것은 아니다.

수집 목표에 대해서도 일부 신호만 관측됐다. 802KB 보조 페이로드(0a31a7...)는 trojan, miner, dropper로 동시 분류돼 있어 암호화폐 채굴이나 2차 페이로드 드롭 가능성을 열어두지만, 이는 분류 정보에서 추론된 것이지 샌드박스나 동적 분석에서 직접 관측된 행위가 아니다. 수집된 26개 파일 SHA256 중 19개가 타입·탐지·태그 정보 없이 등재돼 있어 평가가 불가능하고, 7개 파일 중 5개에 imphash가, 4개 파일에는 샌드박스 판정이 기록되지 않았다. 관측되지 않은 파일이 다수 존재한다는 점은 현재 분석의 한계를 명확히 한다.


탐지 스택 대비 최적화된 도구 — 이 캠페인이 시사하는 것

이 캠페인에서 가장 주목해야 할 특성은 탐지율 수치 자체가 아니라, 운영자가 방어자의 자동화 분석 스택을 구체적으로 겨냥해 도구를 보정했다는 점이다. PyInstaller 번들은 정적 분석을 어렵게 만들고, 장기 슬립 루프는 샌드박스 타임아웃을 초과하며, 두 샌드박스 모두 CLEAN 판정을 내렸다. 21/76이라는 탐지율은 이 페이로드가 완전히 미탐지가 아님을 보여주지만, 자동화 트리아지 단계를 통과하도록 설계됐다는 사실이 더 중요하다.

.fptable 빌드 아티팩트가 두 PE 파일 모두에서 동일하게 나타난다는 점은 재사용 가능한 빌더 템플릿의 존재를 강하게 시사한다. 수집된 19개의 미평가 파일 SHA256이 같은 빌더에서 생성된 추가 변종일 가능성이 있으며, 이 경우 현재 관측된 두 개의 페이로드는 더 큰 변종 집합의 일부에 불과하다.

Namecheap 계정 등록자 해시 4b7a0912c26a13e2는 향후 도메인 추적의 실질적 앵커가 된다. 동일한 해시로 등록된 추가 도메인이 발견된다면, 그것은 이 캠페인의 인프라 확장 또는 새로운 작전의 시작을 알리는 신호일 것이다. DNSPod 네임서버와 ExpressHost NL의 조합도 마찬가지다 — 이 두 인프라 선택이 함께 나타나는 새 도메인은 동일 운영자의 활동으로 볼 수 있는 근거가 된다.

'Android Win Tool'이라는 루어가 안드로이드 기기 관리 유틸리티를 찾는 기술적으로 관여도 높은 사용자를 겨냥한다는 점도 이 캠페인의 표적 선택을 이해하는 데 중요하다. 대규모 피싱 캠페인이 불특정 다수를 노리는 것과 달리, 이 루어는 특정 도구를 능동적으로 검색하는 개인 또는 기업 사용자를 표적으로 삼는다. 스파이웨어 동기와 결합하면, 이 캠페인의 목표는 광범위한 감염보다 특정 엔드포인트에 대한 지속적 접근 확보에 가깝다는 해석이 자연스럽다 — 다만 특정 산업이나 지역을 지목하는 증거가 없어 표적 범위를 현 단계에서 좁히기는 어렵다.

자동화된 89일 인증서 순환이 캠페인 전체 인프라에 적용돼 있다는 사실은, 이 운영팀이 인프라 유지 보수를 수동 개입 없이 지속할 수 있는 역량을 갖췄음을 의미한다. 인증서 만료로 인한 C2 중단 없이 캠페인이 장기 운영될 수 있는 구조이며, 이는 이 위협이 단발성 캠페인이 아닌 지속 운영 플랫폼으로 설계됐음을 시사한다.

IOC34

파일

(26)

IP

(2)

도메인

(3)

URL

(3)
Source: CTX Threat Intelligence