COMMENTS (0)
댓글은 익명으로 작성되며, 삭제 비밀번호를 설정하면 본인만 삭제할 수 있습니다. 비밀번호를 설정하지 않은 댓글은 누구나 삭제할 수 있습니다.
2026년 4월 CAPEv2 분석 결과 탐지 점수 10/10을 받은 LummaStealer Go 변종. Microsoft-Delivery-Optimization 사용자 에이전트 위장, RC4·XOR 다중 난독화, VEH 기반 흐름 하이재킹의 4중 회피 기법 분석.
댓글은 익명으로 작성되며, 삭제 비밀번호를 설정하면 본인만 삭제할 수 있습니다. 비밀번호를 설정하지 않은 댓글은 누구나 삭제할 수 있습니다.
2026년 4월 25일 CAPEv2에서 분석한 한 샘플은 탐지 점수 만점(10/10)을 받았다. AES 암호화된 1MB ZIP이 Go로 컴파일된 PE32를 드롭했고, 메모리에서 추가로 347KB 페이로드가 추출됐다. 시그니처 17건, MITRE 기법 6개, RC4 암호화 10회 일치. 결정적 단서는 외부 트래픽이 Microsoft-Delivery-Optimization 사용자 에이전트로 위장된 점이었다. LummaStealer(Lumma C2) 4 변종의 표준 위장 패턴이다.
LummaStealer는 2022년 후반 러시아어권 다크웹 포럼(XSS, exploit.in)에서 처음 판매된 MaaS(Malware-as-a-Service) 인포스틸러다. 운영자 Shamel이 월 $250~$1,000 구독 모델로 운영한다. 2024년 1년 동안 Lumma는 인포스틸러 시장 점유율 1위에 올랐고, ENISA Threat Landscape 2025 보고서는 Lumma를 "유럽 기업 침해의 주요 진입 벡터"로 지목했다.
2024~2025년 사이 Lumma 인프라를 겨냥한 다국적 takedown 작전이 여러 차례 시도됐고(Microsoft·DOJ·Europol 협력), 운영자는 매번 새 변종을 빠르게 재배포했다. 이 과정에서 Go 언어 마이그레이션과 Microsoft 시스템 위장 트래픽이 추가됐다. 본 분석 샘플은 이 시기 이후의 최신 변종 계열이다.
한국에서는 다음 경로로 광범위하게 배포된다.
안랩 ASEC과 KrCERT는 2024~2025년 한국어 환경에서 ClickFix 변종을 반복 관측했다. 사용자가 가짜 인증 페이지에서 PowerShell 명령을 직접 복사·실행하도록 유도하는 사회공학 패턴이다. 한국어 OS 환경에서 자주 탐지되는 인포스틸러 중 하나다.
| 항목 | 값 |
|---|---|
| 파일명 | b73edda46a91349b37f2.zip |
| 파일 타입 | AES 암호화 Zip (v5.1+) |
| 크기 | 1,030,954 B |
| MD5 | ccca6d46b0cf0c242713db9f20be5717 |
| SHA-256 | a064054d9fc0149c94caa79eec4692252d02f37294179c9e999bd20619ab9965 |
| 드롭 PE | Go 컴파일 PE32 (2,124,976 B) |
| 메모리 페이로드 | Unpacked PE 32-bit (347,136 B) |
| CAPE 탐지 점수 | 10.0 / 10 |
| 분석 환경 | Windows 10 x64, 176초 |
| 분석일 | 2026-04-25 07:11~07:14 UTC |
ZIP은 AES로 암호화되어 정적 스캐너가 내부 PE를 직접 검사할 수 없다. 사용자가 압축 해제 비밀번호를 함께 받는 형태(가짜 크랙 README에 동봉)로 배포된다.
CAPA가 드롭된 PE에서 다음 능력을 식별했다.
메모리 페이로드(unpacked)에서는 더 강한 능력이 식별됐다.
XOR 일치 329회는 비정상적으로 높다. 일반 PE 평균 10~30회 대비 10배 이상이다. Lumma 분석가들은 이를 "전 문자열 XOR 보호 + 런타임 디코딩" 으로 설명하며, Yara 룰 기반 정적 탐지를 무력화한다.
CAPE 모니터는 단일 프로세스만 관측했고 자식 프로세스가 없다. exec_crash 시그니처가 발생했지만 그 원인은 단정하기 어렵다. 가능한 가설은 네 가지다.
실제 피해자 환경에서는 페이로드 디크립트 후 BitLockerToGo.exe 또는 MSBuild.exe(LOLBin)에 process hollowing으로 인젝션해 트래픽 호스트를 위장하는 것이 알려진 패턴이다.
총 HTTP 요청 133건, 중복 제거 시 27개 고유 패턴. 핵심은 모든 외부 요청에 Microsoft-Delivery-Optimization/10.0 UA를 사용한 점이다. 이 UA는 Windows Update 시스템(Delivery Optimization 서비스)이 P2P 다운로드에 사용하는 정상 UA다. 기업 EDR과 SIEM 룰이 Microsoft 정상 트래픽을 화이트리스트에 두는 관행을 역이용한다.
filestreamingservice/files/ 경로 패턴 역시 정상 Windows Update 다운로드 URL 구조를 모방했다. CAPE 시그니처 network_questionable_http_path(severity 3)와 network_cnc_http(severity 2)가 이 트래픽을 잡아냈지만, production 네트워크 모니터링은 Microsoft 도메인이 아니라는 점만 알면 차단할 수 있다. 이 샘플은 IP(206.206.82.206)에 직접 GET을 보냈고, 실제 Microsoft Delivery Optimization은 결코 raw IP에 직접 접속하지 않는다.
CAPE는 다음 4가지 회피 기법을 식별했다.
registers_vectored_exception_handler 시그니처. 일반 SEH 체인을 우회해 예외 발생 시 자체 핸들러에서 페이로드를 디크립트하는 control flow obfuscation. 디버거가 단일 step으로 실행 흐름을 따라가기 어렵게 만든다.injection_rwx. 디크립트된 페이로드를 RWX(Read/Write/Execute) 권한 영역에 매핑. 이는 Windows 11 24H2 이후 Memory Integrity 활성 환경에서 EDR 알람 발생 가능성이 높지만, Lumma는 메모리 보호가 비활성 환경(소비자 PC, 구형 기업 PC)을 1차 타깃으로 삼는다.antidebug_setunhandledexceptionfilter. 디버거 attach 시 의도적 크래시.CAPE는 다음 항목을 0으로 관측했다 — 파일 생성 0건, 레지스트리 쓰기 0건, 뮤텍스 생성 0건, 실행 명령어 0건, PowerShell 활동 0건, AMSI 이벤트 0건. 정상적인 Lumma 실행 흐름이라면 이 모든 항목이 발생해야 한다. 그러나 HTTP 요청은 133건 발생했다 — 일부 행위는 작동했고 일부는 안 했다.
페이로드의 본 행위(자격증명·지갑 탈취)가 관측되지 않은 원인은 단정할 수 없다. 회피 능력 때문일 수도, C2 인프라 부재 때문일 수도, 분석 환경의 브라우저 프로필 미설치 때문일 수도 있다. CAPE 자동 분석의 한계 영역이다. 그래도 정적 분석(XOR 329회, RC4 10회, 클립보드 read)으로 LummaStealer 식별 자체는 가능했다.
| 유형 | SHA-256 |
|---|---|
| 원본 ZIP | a064054d9fc0149c94caa79eec4692252d02f37294179c9e999bd20619ab9965 |
| 드롭 EXE | b73edda46a91349b37f219d3056dff65a545ba458f4c4a93eddd6fae3b99c38b |
| 메모리 페이로드 | 48665a7ff4f186039db2e163046d1d0c3fc576ffcfc4325e3e11a700ce8657ae |
| IP | 포트 | 용도 |
|---|---|---|
206.206.82.206 | 80 | C2 (Microsoft Update 위장 다운로드) |
72.145.35.117 | 443 | C2 보조 |
20.190.141.32, .38 | 443 | Microsoft IP 범위 위장 |
23.1.17.169, 23.206.175.152 | 443 | C2 |
정상 트래픽: c.pki.goog (Google PKI CRL, 환경 위장용 호출).
Microsoft-Delivery-Optimization/10.0/filestreamingservice/files/{guid}/pieceshash 및 ?P1=...&P2=...&P3=...&P4=...&cacheHostOrigin=2.tlu.dl.delivery.mp.microsoft.comc.pki.goog 정상 호출 직후 raw IP HTTP 요청 (정상 Windows Update는 IP 직접 호출 안 함)CAPE가 자동 매핑한 6개 기법:
| 전술 | 기법 | 시그니처 |
|---|---|---|
| Command and Control | T1071 Application Layer Protocol | network_cnc_http, flare_capa_communication, network_http |
| Command and Control | T1132 Data Encoding | flare_capa_datamanipulation (RC4 + XOR + Base64) |
| Defense Evasion | T1055 Process Injection | registers_vectored_exception_handler, injection_rwx |
| Defense Evasion | T1497 Virtualization/Sandbox Evasion | flare_capa_antianalysis, exec_crash |
| Defense Evasion | T1574 Hijack Execution Flow | registers_vectored_exception_handler (VEH 흐름 탈취) |
| Privilege Escalation | T1055 (중복) | (위와 동일) |
추가로 LummaStealer 알려진 기법(이번 샘플에서 미관측, 실제 환경에서 발현):
LummaStealer는 정상 시스템 트래픽으로 위장하지만, 반드시 남기는 흔적이 있다.
네트워크 레벨
*.delivery.mp.microsoft.com 또는 *.dl.delivery.mp.microsoft.com 도메인을 사용한다.filestreamingservice/files/ 경로가 비-Microsoft IP로 향하는 GET 요청.프로세스 레벨
Sigma 룰 패턴
process_creation_susp_lummastealer_clipboard (SigmaHQ)network_connection_susp_microsoft_do_ua_to_ip (커스텀 권장)Sysmon 이벤트
c.pki.goog 직후 IP 직접 통신 패턴.BitLockerToGo.exe 또는 MSBuild.exe가 외부 메모리 access 시도.Atomic Red Team 검증
Atomic-Red-Team/atomics/T1115/T1115.md 클립보드 읽기 시뮬레이션이 샘플의 CAPE 만점(10/10)은 시그니처 기반 탐지가 작동했음을 보여준다. 그러나 본 분석 환경에서 페이로드의 본 행위(자격증명·지갑 탈취)는 관측되지 않았으며, 이것이 LummaStealer의 회피 능력 때문인지, C2 인프라 무응답 때문인지, 분석 환경 한계 때문인지는 단정할 수 없다. 확실한 결론은 하나다 — 정적 시그니처(YARA, CAPA)는 작동했고, 행위 기반 단일 의존 환경에서는 동일 샘플이 어떻게 분류될지 추가 검증이 필요하다.
AI 활용 안내 이 글은 AI(Claude)의 도움을 받아 작성되었습니다. 인용된 통계와 사례는 참고 자료에 명시된 출처에 근거하며, 설명을 위한 일부 표현은 각색되었습니다.
면책 조항 본 글은 보안 인식 제고를 위한 교육 목적으로 작성되었습니다. 언급된 공격 기법을 실제로 시도하는 행위는 「정보통신망법」, 「형법」 등에 따라 처벌받을 수 있으며, 본 블로그는 이에 대한 법적 책임을 지지 않습니다.
KW_PROTECT_0