최근 보안 연구자들이 북한 연계 Kimsuky의 새로운 작전을 포착했어요.
이번 캠페인은 표면적으로는 “어디서나 볼 수 있는 개발자 워크플로”처럼 보이지만, 내부를 들여다보면 VS Code 확장과 GitHub, 그리고 합법적인 서브도메인 호스팅 플랫폼까지 교묘하게 악용한 정교한 다단계 감염 체인이 숨어 있습니다. 😨
핵심은 이겁니다.
- 초기 감염은 Themes.js라는 평범해 보이는 JavaScript 파일에서 시작되고,
- 이후 단계에서 정찰(시스템 정보 수집) → 데이터 유출 → 지속성 확보 → 추가 페이로드 투하(랜섬웨어/스파이 활동 전개) 로 이어지는 멀티 스테이지 구조예요.
- 특히 Median News 같은 정상 서브도메인 호스팅 서비스와 GitHub/VS Code 확장 등 합법 인프라를 C2(명령제어)에 활용해 탐지 도구의 신뢰 모델을 비껴갑니다.
아래에서 단계별로 어떤 일이 벌어지는지, 그리고 현업에서 어떻게 막아야 하는지를 쉽고 빠르게 정리해볼게요. 👇
1) 시작은 “Themes.js” — 평범한 이름 속의 첫 단추 🎯
초기 침투: 단순하지만 위험한 다운로더
최초 유입은 Themes.js라는 스크립트 파일로부터 시작됩니다. 이 파일은 난독화조차 거의 없어 “별거 아닌 것”처럼 보이지만, 치명적 기능 한 가지를 수행해요.
- 기능: 공격자 인프라에서 추가 페이로드를 내려받아 실행
- 행위: GET 요청으로 iuh234[.]medianewsonline[.]com에 접속
- 전달값: 감염된 기기의 컴퓨터 이름과 하드코드된 키 값을 파라미터로 전송
포인트는 호스팅 인프라의 ‘합법성’ 입니다. Median News 같은 서브도메인 호스팅 플랫폼을 이용하면, 네트워크 보안 장비 입장에서는 “그냥 뉴스 서비스 트래픽”처럼 보이기 쉽죠. 이 ‘정상 서비스 위장’ 이 첫 관문을 무력화합니다.
2) 2단계 정찰(리콘) — 시스템 지도를 그린다 🧭
살아있는 정보가 목표: 프로세스·파일·사용자 디렉터리 스캔
두 번째 단계의 JavaScript 페이로드는 기능이 확 뛰어요. 이 코드는 다섯 가지 수집 루틴으로 시스템 내부를 샅샅이 훑습니다.
- OS/버전, 호스트명, 로캘 등 시스템 기본 정보 수집
- 실행 중인 프로세스 나열
- 사용자 홈 하위 Users 디렉터리 파일 인벤토리
- 수집 데이터는 임시 파일로 스테이징
- 이후 POST 요청으로 공격자 C2에 전송
여기서 돋보이는 건 운영 보안(OPSEC) 입니다. 단순히 바로 보내지 않고,
- 임시 파일에 모아 정리 → 2) certutil LOLBIN으로 CAB 포맷 인코딩 → 3) 네트워크 유출 순으로 진행돼요.💡 certutil은 윈도우 기본 내장 도구(Living-off-the-Land Binary)라, 일반 보안정책에서 쉽게 차단되지 않는 경우가 많습니다. 이 “기본 도구 악용”은 탐지를 어렵게 만드는 전형적인 기법이죠.
3) 3단계 지속성(Persistence) — “Windows Theme Manager”로 1분마다 소환 ⏱️
스케줄드 태스크 + AppData 은닉 + wscript 재호출
장기 잠복을 위해 공격자는 작업 스케줄러를 만듭니다. 이름이 “Windows Theme Manager” 라는 점이 교묘하죠. 평범해 보입니다.
- 주기: 매 1분마다 실행
- 동작: wscript.exe가 다시 Themes.js 를 호출
- 경로: %APPDATA%\Microsoft\Windows\Themes 폴더에 지속성 코드 저장
이렇게 설정되면 재부팅이나 사용자 로그오프에도 생존해요. 사용자가 아무 행동을 안 해도 1분 간격으로 C2와 다시 연결될 기회를 확보하는 셈입니다.
4) “E-CARD.docx” — 비어 있는 문서, 하지만 메시지는 분명하다 🧶
소셜 엔지니어링 탐색 또는 2차 배포 리허설
캠페인 중 일부 흐름에서는 E-CARD.docx 라는 워드 문서가 내려오기도 합니다. 분석 시점에선 내용 비어 있음 + 매크로 없음. 그럼에도 불구하고 이게 의미하는 바는 명확합니다.
- 가능성 1: 향후 매크로/템플릿 인젝션 등 사회공학 배달 수단 사전 테스트
- 가능성 2: 사용자 주의를 분산시키는 디코이(Decoy)
- 가능성 3: 2차 스테이지 전개를 위한 전처 리허설
즉, 지금 당장 위험해 보이지 않아도 전술의 진화 방향을 암시합니다. 공격자는 늘 “사용자 클릭”을 최우선 자산으로 여깁니다.
5) VS Code 확장 & GitHub C2 — “개발자 생태계”를 공격면으로 🧩
정상 플랫폼을 무기로 바꾸는 법
분석에 따르면 공격자는 VS Code 확장(Extensions) 과 GitHub 를 명령제어(C2) 인프라로 활용합니다.
이 조합의 무서움은 다음과 같아요.
- VS Code: 많은 개발자가 상시 실행, 확장 자동 업데이트로 신뢰도 높음
- GitHub: 코드/릴리스/이슈/액션 등 다양한 채널로 페이로드/명령 신호 전달 가능
- 정상 트래픽 위장: 프록시/차세대 방화벽에서 업무 트래픽으로 분류되기 쉬움
결국 “개발자 도구 = 일상” 이라는 지점이 방어 우회 포인트가 됩니다.
탐지 측에서 미세한 이상 징후를 놓치면, 공격자는 수주~수개월 잠복하며 정찰·유출·추가 공격 준비를 마무리하게 됩니다.
6) 최종 목적: 스파이·랜섬웨어 모두 가능 🚨
“정찰 먼저, 타격은 나중에”의 정석
본 캠페인은 정찰(리콘) → 지속성 → 최종 페이로드로 설계되어 있어요.
여기에는 랜섬웨어까지 포함 가능한 여지가 관찰됩니다.
- 정찰 데이터로 네트워크·백업·권한 구조를 파악
- 권한 상승/가로 이동 경로가 확보되면
- 스파이 활동(문서 탈취) 혹은 랜섬웨어 투하로 이어질 수 있음
즉, “지금은 조용하지만, 이미 준비는 끝났다”는 시나리오를 염두에 둬야 합니다.
7) 방어 전략: 지금 당장 적용 가능한 체크리스트 ✅
아래 권고는 방어 목적의 일반 원칙이며, 악성코드 제작·실행에 악용될 수 있는 구체 코드/절차/PoC 는 포함하지 않습니다.
(A) 이메일·콘텐츠 경로 통제
- 스크립트·LNK·SCR·ISO/IMG 등 고위험 포맷 기본 격리/Sandbox 사전검사
- 외부 URL 포함 메일은 직접 클릭 금지 → 포털/북마크로만 접근하는 사용자 교육
- Mark-of-the-Web(MOTW) 강제 및 Office 매크로 기본 차단, 신뢰서명만 허용
(B) 엔드포인트·행위 탐지(EDR)
- wscript/cscript + JS 실행 빈도/패턴 모니터링
- 작업 스케줄러에 “Theme/Update/Manager”류 그럴듯한 이름의 신규/고빈도 작업 알림
- certutil·tar·bitsadmin 등 LOLBIN 사용 행태 룰 상향(특히 CAB 인코딩·파일 스테이징 조합)
- AppData\Microsoft\Windows\Themes 등 비정상 경로 실행/쓰기 감시
(C) 네트워크·클라우드 관점
- 신생/서브도메인 호스팅 플랫폼 트래픽 가시성 확보, 주기적 저대역폭 POST 탐지
- GitHub/VS Code 트래픽 내 비정상 사용자 에이전트/시간대/엔드포인트 패턴 분석
- egress 통제: 일회성 파일공유·익명 업로더·저신뢰 해외 호스트 출구 차단/허용목록화
(D) 개발자 환경 하드닝
- VS Code 확장 화이트리스트, 자동 업데이트 승인 기반 운영
- 개발 PC 분리(인터넷/소스·비밀 접근 분리) 및 권한 최소화
- 토큰·시크릿 스캐닝(Git hooks/CI), PAT 토큰 수명 단축 및 스코프 최소화
(E) IR(사고대응) 플레이북
- 의심 Surfaced 시 호스트 격리 → 메모리/디스크 아트팩트 수집 → 계정/토큰 로테이션
- 스케줄러/Run키/WMI 영속성 전수 점검
- 동일 타임라인의 JS 실행 + certutil 호출 + POST 유출 연계헌팅
8) 보안 인식(사용자 교육) 포인트 🙋♀️
- “문서처럼 보이는 실행(예: .js/.lnk/.scr)”은 절대 더블클릭 금지
- 메일·메신저·커뮤니티 링크는 복사→브라우저 주소창 검사 후 접근
- “업무용 확장 설치”는 사내 가이드 목록에서만, 개인 GitHub 확장 금지
- 의심 징후 발생 시 보안팀에 즉시 신고(스크린샷·시간·파일 경로 첨부)
마무리: “정상처럼” 보이는 것이 가장 위험하다 ⚠️
이번 Kimsuky 캠페인은 합법 인프라와 개발자 생태계를 능숙하게 이용해 보안 경계의 사각을 찌릅니다.
Themes.js로 시작해 정찰→유출→지속성을 단단히 깔아 두고, 필요시 랜섬웨어/스파이 작전으로 전개할 준비를 마친 구조예요.
방어의 핵심은 행위 기반 가시성(EDR) 과 개발자 환경 하드닝, 그리고 사용자 습관의 전환 입니다.
특히 LOLBIN(certutil) 조합과 스케줄러 기반 재실행 같은 ‘정상 도구의 비정상 사용’ 을 잡아내는 룰 정비가 관건이에요.
“눈으로 봐도 정상처럼 보이는” 공격이 늘어난 지금, 기본기를 꾸준히 강화하는 운영 보안이야말로 최고의 해답입니다. 💪
'CyberSecurity > Cyber Risk Insights🔐' 카테고리의 다른 글
| 🧭 CrowdStrike가 “브라우저”를 품는 이유: Seraphic Security 인수로 Falcon에 브라우저 텔레메트리까지 붙는다 (0) | 2026.01.19 |
|---|---|
| 🔥 2026년 시작부터 또… Fortinet FortiSIEM 치명적 RCE(CVE-2025-64155) “실제 악용” 경고까지 (0) | 2026.01.19 |
| Kimsuky, 더 은밀해졌다: 새 백도어 ‘HttpTroy’로 메모리 상에서 숨쉬는 공격 🕵️♀️💻 (1) | 2025.11.07 |
| MuddyWater가 더 날카로워졌다 — 맞춤형 백도어와 정교한 스피어피싱의 시대 🕵️♂️🔥 (0) | 2025.09.18 |
| Microsoft & Cloudflare, RaccoonO365 피싱 서비스 무너뜨리다! 🚫🦝 (0) | 2025.09.18 |

