FILE공개
FILE

WinPEAS 가면 쓴 악성코드, 샌드박스 판정 두 갈래로 갈리다

레드팀 정찰 도구 WinPEAS 이름을 단 바이너리가 CAPE Sandbox에서는 'Rhadamanthys' 스틸러로, Zenbox에서는 'PEASS HackTool'로 각기 다르게 명명됐다. YARA 매치는 WinPEAS 고유의 시스템 열거 기능과 Windows Vault·기밀 데이터 저장소를 겨냥한 자격증명 탈취 로직이 하나의 파일 안에 공존함을 보여준다.

2026년 7월 16일 21:47 (UTC+9)최근 관측2026년 7월 16일심각도72CTX Team행위자APT29MinidionisIOC2MITRE42지역CH

WinPEAS 이름을 쓴 트로이목마, 두 개의 얼굴로 잡혀들다

침해 대응 도구함에서 가장 흔하게 보이는 이름 중 하나가 WinPEAS다. 로컬 권한 상승 취약점을 훑어주는 오픈소스 정찰 유틸리티로, 레드팀은 물론 실제 침투 행위자들도 널리 재사용한다. 그런데 CTX Team이 이번에 확인한 샘플은 이 익숙한 이름표를 달고 있으면서도, 정작 두 개의 샌드박스가 서로 다른 정체성을 부여했다는 점에서 눈길을 끈다. CAPE Sandbox는 이 파일을 정보 탈취형 악성코드 계열인 "Rhadamanthys"로 명명했고, Zenbox는 같은 파일을 "PEASS HackTool"로 분류하며 TROJAN·EVADER 태그를 붙였다. 하나의 바이너리에 대한 판정이 이렇게 갈리는 경우는 흔치 않다 — 그리고 그 균열의 이유를 파고들면, 이 파일이 단순한 정찰 도구가 아니라 자격증명 탈취 로직을 겹쳐 얹은 하이브리드 페이로드일 가능성이 드러난다.

해당 바이너리(SHA256 a2f0c35f766bd87f740ddeefe0d1d04e9ce5edd3534c932559a4b9894a4892a8)는 VirusTotal 기준 53/76 엔진에서 탐지됐고, threat_label은 trojan.msil/winpeas로 등록돼 있다. 파일명은 winPEAS.exe·winPEASany.exe로 나타나지만, 실행 시 관측된 대체 경로는 C:\Windows\e7sfdp.exe다 — 정상 도구가 흔히 배치되는 위치가 아니라, 시스템 폴더에 이름을 위장해 심는 방식이다. 이 자체가 이미 이 바이너리를 단순한 "다운로드해서 실행한 오픈소스 유틸리티"가 아니라, 침투 이후 은닉을 염두에 둔 배치 전략의 산물로 읽게 만든다.

실행과 정찰: WinPEAS 루틴이 감춘 두 번째 얼굴

공격 사슬을 순서대로 따라가 보면, 실행 단계에서부터 이 샘플의 이중성이 드러난다. 샌드박스 컨센서스는 2/2 악성 판정으로 만장일치였고, Zenbox는 신뢰도 80으로 TROJAN·EVADER 행위를 명시적으로 태깅했다(T1059.001에 해당하는 실행 단계 활동으로 분류된다). 파일이 renamed path로 드롭된 흔적은 이 실행이 사용자의 직접 더블클릭이 아니라 어떤 전달 단계 이후의 후속 실행이었음을 시사한다 — 다만 초기 침투 벡터(피싱, 취약점 악용, 외부 스테이징 다운로드 등) 자체는 이번 지표군에서 직접 관측되지 않았다는 점은 분명히 짚어야 한다.

정찰 단계로 넘어가면 증거가 훨씬 구체적이다. 이 파일에는 Windows_Hacktool_WinPEAS_ng 룰셋에서 파생된 YARA 히트가 정확히 10건 매치됐는데, Windows_Hacktool_WinPEAS_ng_413caa6b(File 분석 모듈), _23fee092(File analysis 모듈), _861d3264(File Info 모듈), 그리고 System·Process·Services·User-info 모듈을 겨냥한 추가 룰들이 함께 발화했다. 이는 이 바이너리가 실제로 WinPEAS 특유의 시스템 열거 기능 — 파일 권한 스캔, 프로세스 목록화, 서비스 설정 점검, 사용자 정보 수집 — 을 온전히 담고 있다는 뜻이다(T1082 시스템 정보 탐색, T1083 파일·디렉터리 탐색과 정합적). 여기에 더해 detect-debug-environment, checks-cpu-name, calls-wmi 태그가 함께 붙어 있는 점은, 이 도구가 단순 정찰을 넘어 자신이 실행되는 환경이 실제 피해자 시스템인지 분석 환경인지를 스스로 판별하려는 시도(T1497 가상화/샌드박스 회피)를 병행하고 있음을 보여준다. WMI 호출 태그는 원격 시스템 정보 수집이나 프로세스 열거에 흔히 쓰이는 인터페이스로, 정찰 범위가 로컬 호스트에 그치지 않을 가능성도 열어둔다.

여기까지는 "레드팀이 흘렸거나 침입자가 재사용한 정품 WinPEAS"라는 설명으로도 충분히 납득이 간다. 문제는 이 다음 단계에서 발생한다.

자격증명 접근: Vault와 기밀 데이터 저장소를 겨냥한 룰 매치

정찰용 오픈소스 도구가 자격증명 저장소를 직접 겨냥하는 로직을 함께 담고 있다면, 그것은 더 이상 "표준 WinPEAS 빌드"라고 부르기 어렵다. 이 샘플에서 관측된 두 개의 YARA 룰 — INDICATOR_SUSPICIOUS_EXE_VaultSchemaGUIDINDICATOR_SUSPICIOUS_EXE_SQLQuery_ConfidentialDataStore — 가 바로 그 지점을 짚는다. 두 룰 모두 제작자인 ditekSHen이 "정보 탈취형 악성코드에서 관측된 패턴(Observed in infostealers)"이라고 명시적으로 문서화해 둔 것들로, 각각 Windows Vault 자격증명 객체 참조와 기밀 데이터 저장소에 대한 SQL 질의 패턴을 탐지한다(T1555.003, 웹 브라우저·자격증명 저장소로부터의 인증정보 획득과 정합적인 기법군).

이 두 룰의 존재가 왜 중요한가 하면, 앞서 언급한 CAPE Sandbox의 "Rhadamanthys" 명명과 정확히 맞아떨어지기 때문이다. Rhadamanthys는 브라우저 자격증명, 지갑 파일, 시스템 저장 인증정보를 광범위하게 수집하는 정보 탈취형 malware-as-a-service 계열로 알려져 있다. 즉 하나의 실행 파일 안에 (1) WinPEAS 고유의 시스템·권한 열거 루틴과 (2) Vault·기밀 데이터 저장소를 노리는 자격증명 탈취 로직이 공존하고 있고, 이 두 성격이 각기 다른 샌드박스에서 서로 다른 이름으로 포착된 셈이다. 정찰 결과를 이용해 침입자가 다음 행동(권한 상승 경로 선택, 측면 이동 대상 결정)을 판단하는 것이 WinPEAS 본래의 용도라면, 이 샘플은 그 정찰 결과를 자격증명 수집과 동시에 수행하도록 확장한 변형, 혹은 정찰 도구의 껍데기 안에 별도의 스틸러 모듈을 붙여넣은 결합체로 보는 것이 데이터와 더 정합적이다. 다만 이 조합이 (a) 공격자가 의도적으로 "덜 위협적으로 보이는" 레드팀 도구 이름을 방패로 삼아 분석 우선순위를 낮추려 한 위장 전략인지, (b) 업스트림 라벨링 과정에서 발생한 단순 오분류·중복 태깅인지는 현재 확보된 단서만으로는 단정하기 어렵다. 두 시나리오 모두 가능성이 열려 있고, 이 지점에서는 확정적 결론보다 "독립적인 리버스엔지니어링 검증이 필요한 데이터 포인트"라는 평가가 더 정확하다.

방어 회피 빌드: 패킹, 엔트로피, 그리고 존재할 수 없는 컴파일 시각

이 바이너리의 빌드 자체도 정상적인 오픈소스 배포물과는 결이 다르다. PE 섹션 구조를 보면 .text 섹션 하나가 엔트로피 7.41을 기록하며 전체 코드의 실질적인 내용을 담고 있는 반면, .rsrc는 엔트로피 3.94에 크기 1,536바이트, .reloc은 엔트로피 0.08에 512바이트에 불과해 거의 비어 있다. import 테이블은 0건 — 정적 분석 도구가 참조할 수 있는 API 호출 흔적이 전혀 남아 있지 않다는 뜻이다. 여기에 PEiD 시그니처로 식별되는 패커가 적용돼 있어, 이 조합(단일 고엔트로피 섹션 + 제로 임포트 + 패커)은 전형적인 방어 회피 빌드 구성이다(T1027, 정보 은닉을 위한 파일 패킹).

더 눈에 띄는 이상 징후는 PE 헤더의 컴파일 타임스탬프다. 이 필드는 2054-12-19로 기록돼 있는데, 이는 현재 시점을 수십 년 앞서는 값으로 정상적인 빌드 프로세스에서 나올 수 없는 수치다. 링커가 남기는 타임스탬프 필드를 이렇게까지 미래로 조작하는 경우는 대개 두 가지로 해석된다 — 빌드 도구 체인 자체가 손상된 부산물이거나, 정적 분석·타임라인 기반 트리아지를 혼란시키기 위한 의도적 조작이다. 파일 자체에 서명이 존재하지 않는다는 점(코드 서명 인증서 미확인)도 이 판단을 뒷받침한다. 정상적인 도구 배포 채널이라면 서명과 정상적인 빌드 타임스탬프를 함께 기대할 수 있지만, 이 샘플은 둘 다 결여돼 있다. 종합하면, 이 바이너리의 빌드 프로파일은 "GitHub에서 내려받은 컴파일된 WinPEAS 원본"이라는 설명보다는 재패키징 과정을 거친 커스텀 빌드라는 설명에 더 부합한다.

인프라 신호: Fastly 뒤에 숨은 단명 인증서, 그러나 연결고리는 아직 가설

이번 지표군에는 파일 하나 외에 네트워크 지표가 단 하나 더 존재한다 — IP 151.101.1.69다. 이 주소는 Fastly, Inc.(AS 54113)의 CDN 백본에 위치하며, ARIN에 등록된 151.101.0.0/16 대역에 속한다. VirusTotal 기준 탐지율은 0/91로 완전히 깨끗하다. 다만 이 IP가 실어 나른 TLS 인증서 이력을 들여다보면 흥미로운 패턴이 하나 나온다: 발급자는 "Certainly Intermediate R1"이고, 서브젝트·SAN은 각각 a6z-dns.ovh*.a6z-dns.ovh인데, 유효기간이 2024-04-28부터 2024-05-28까지 단 29일에 불과했다.

29일짜리 단명 인증서에 OVH 도메인을 와일드카드로 묶어 발급한 뒤 Fastly의 공용 CDN IP 뒤에 걸어두는 구성은, 침해 인프라 운영에서 종종 관측되는 "일회용 스테이징" 패턴과 형태적으로 유사하다. 도메인 계층을 짧게 회전시키고 정상 CDN 트래픽 속에 숨어 자신만의 전용 호스팅 흔적을 남기지 않는 방식은, 추적자가 인증서 발급 기록이나 등록 정보만으로 인프라를 역추적하기 어렵게 만드는 효과가 있다 — 이는 이 IP가 실제로 어떤 역할을 했는지와 별개로, 그 자체로 관측 가능한 운영 방식의 특징이다.

그러나 여기서 반드시 짚어야 할 한계가 있다. 이 IP를 WinPEAS/Rhadamanthys 하이브리드 파일과 직접 엮어주는 구조적 증거 — 동일 imphash, 동일 서명자, 동일 ASN 소속, 공유 A 레코드나 네임서버 — 는 이번 지표군 어디에도 존재하지 않는다. 파일과 IP는 각각 독립적으로 관측된 단일 지표일 뿐, 서로를 잇는 축이 전혀 확인되지 않는다. 실제로 이 IP는 AS 54113이 이번 지표군 전체에서 단 한 번만 등장하는 고립 지표로 분류되며, 파일 또한 다른 어떤 샘플과도 imphash·서명자·threat_label을 공유하지 않는 독립 지표로 나타난다. 즉 이 두 지표를 하나의 침해 사슬로 엮는 것은 아직까지는 시간적·주제적 근접성에 기반한 가설일 뿐, 확인된 사실은 아니다. 공격 사슬의 명령제어(C2) 단계를 이 IP가 담당했을 가능성(T1071, 애플리케이션 계층 프로토콜을 통한 통신)은 열려 있는 추정이지만, 현재 확보된 증거 강도로는 "후보 스테이징 노드"라는 표현이 "확인된 C2"보다 훨씬 정확하다.

탐지 지형과 남아 있는 공백

산업 탐지 관점에서 보면 이 파일에 대한 방어 생태계의 반응은 상당히 광범위했다. 53/76 엔진이 이를 악성으로 판정했고, ALYac·AVG·AhnLab-V3·Avira·BitDefender·CrowdStrike·ESET-NOD32·Kaspersky 등 주요 벤더들이 모두 탐지 목록에 이름을 올렸다. 반면 Acronis, Antiy-AVL, ClamAV, DrWeb, Jiangmin, Xcitium, Yandex 등 일부 엔진은 여전히 미탐지로 남아 있다. WinPEAS라는 이름 자체가 레드팀 도구로 널리 알려져 있어 일부 시그니처 기반 엔진이 "정상 오프시브 시큐리티 도구"로 화이트리스트 처리했을 가능성도 배제할 수 없는데, 만약 그렇다면 이는 앞서 제기한 "위장 전략" 가설에 힘을 실어주는 정황이 된다 — 잘 알려진 도구 이름 뒤에 탈취 로직을 숨기는 것이 실제로 일부 탐지 로직의 판단을 흐리는 데 성공했을 수 있다는 뜻이다.

Sigma 규칙 매치 역시 이 판단을 보강한다. RussianPanda95 룰셋에서 critical 등급 1건, 그리고 별도의 통합 룰셋에서 high 1건·low 1건이 발화했다 — 총 3건의 Sigma 매치가 이 파일의 행위 패턴이 단순한 정찰 스크립트 수준을 넘어선다는 것을 뒷받침한다. 다만 이 지표군 전체를 놓고 보면 확보된 표본이 파일 1건, IP 1건으로 극히 제한적이다. 교차 IOC 코호트(공유 imphash, 공유 인증서 일련번호, 공유 A 레코드 등)로 묶이는 동반 지표가 전혀 없다는 점은, 이 사건을 "캠페인"으로 확장 해석하기보다는 아직은 개별 데이터 포인트로 다뤄야 한다는 신중함을 요구한다.

귀속 문제와 이 사례가 남기는 질문

이번 지표군은 APT29 — Cozy Bear, CozyDuke, The Dukes 등의 alias로 알려진 행위자 — 로 태깅돼 있으며, 운영 동기는 첩보수집으로 분류돼 있다. 다만 이 귀속을 뒷받침하는 근거는 현재로서는 피드 단계의 라벨링 수준에 머물러 있다는 점을 분명히 해야 한다. 이번 파일은 다른 어떤 샘플과도 imphash·서명자·threat_label을 공유하지 않는 고립 지표로 확인됐고, 이 지표군 안에 APT29의 다른 활동을 뒷받침할 추가 도구나 인프라 코호트는 존재하지 않는다. 즉 APT29라는 이름표가 이 사건의 전체 그림을 설명해주는 것이 아니라, 하나의 참고 맥락으로 덧붙여져 있다고 보는 것이 정확하다. 공개적으로 알려진 이 행위자의 과거 캠페인 패턴과 이번 샘플을 직접 연결할 만한 근거도 이번 지표군에서는 확인되지 않는다.

오히려 이번 사례에서 실제로 의미 있는 신호는 행위자 이름표가 아니라, 정찰 도구의 정체성 자체가 흔들리고 있다는 사실이다. WinPEAS라는 이름과 YARA 매치로는 명백히 확인되면서도, 그 내부에는 자격증명 저장소를 겨냥한 로직과 미래로 조작된 컴파일 타임스탬프가 함께 들어 있다. 이는 두 갈래로 해석할 수 있다 — 공격자가 신뢰도가 낮게 인식되는 "레드팀 도구" 브랜드를 방패로 삼아 트리아지 우선순위를 낮추려는 의도적 전략일 수도 있고, 아니면 서로 다른 툴킷 조각이 하나의 빌드에 뒤섞인 업스트림 혼선의 결과일 수도 있다. 어느 쪽이든, 오픈소스 정찰 도구의 이름을 그대로 신뢰해 탐지 우선순위를 낮추는 관행에는 재고가 필요하다는 점을 이 사례는 보여준다.

이번 지표군이 스위스 지역, 기술 산업 태그와 함께 분류돼 있다는 점도 짚어볼 만하다. 다만 이를 뒷받침하는 세부 피해자 텔레메트리는 확인되지 않으며, 현재로서는 "정찰 도구로 가장한 자격증명 탈취 페이로드가 기술 섹터 환경에 유입될 수 있는 경로가 존재한다"는 수준의 위험 프레이밍이 데이터에 부합하는 최대치다. 결국 이번 사례가 남기는 것은 완결된 캠페인 서사가 아니라, 정찰 도구와 스틸러의 경계가 흐려지는 지점을 추적할 필요가 있다는 관찰이다 — 유사한 브랜드 위장이 다른 오픈소스 레드팀 도구 이름으로도 반복되고 있는지, CTX Team은 이후 관측을 이어갈 계획이다.

IOC2

파일

(1)

IP

(1)
Source: CTX Threat Intelligence