지니언스 시큐리티 센터는 김수키(Kimsuky)가 수행하는 것으로 평가되는 Git 기반 C2 공격, 일명 Operation GitPower를 지속적으로 추적하고 있습니다. 또한, 지난 위협 인텔리전스 보고서를 통해 김수키가 AI와 로컬 LLM을 공격 준비 및 미끼 제작 과정에 활용하고 있는 정황을 공개한 바 있습니다.
본 보고서는 그 후속 분석으로, 2026년 8월 11일부터 19일 사이 수집, 식별된 악성 LNK 파일 13종을 대상으로 개별 상세 분석을 수행한 결과입니다. 분석 대상 LNK 파일은 자금집행, 보험료, 이자 납부, 정책자금, 인증서 갱신, 매장 기준정보, 고객서류, Visa 결제 등 금융 및 기업 실무 시나리오로 위장한 파일명을 사용합니다.
이는 기존 김수키가 주로 활용해 온 외교, 안보, 학술 분야 중심의 미끼 주제가 금융기관, 기업 실무자 등 다양한 분야로 사용됨을 보여줍니다. 악성 샘플 13종은 기존에 확인된 핵심 전술을 그대로 계승합니다. 비정상적으로 긴 LNK 실행 인수, 선행 공백을 통한 인수 은닉, 사용자 정의 디코더, GitHub Raw Content와 하드코딩된 PAT(Personal Access Token) 기반 접근, 숨김 예약 작업 등록, 정상 소프트웨어로 위장한 작업명 등이 반복적으로 확인되었습니다.
그러나 본 분석에서는 기존 보고서에서 다루지 않았던 추가적인 진화 양상도 확인되었습니다.
첫째, 일부 변종은 분석 및 가상화 도구 탐지, 샌드박스 사용자명 검사, 명령 히스토리 삭제 등을 수행하는 분석 회피 루틴을 포함합니다. 이는 자동 분석 환경과 보안 연구자의 수동 분석을 모두 방해하려는 의도로 판단됩니다.
둘째, GitHub 외에 Pastebin을 2단계 페이로드 전달 채널로 사용한 경우가 관찰됩니다. 이는 기존 C2 운용 방식을 유지하면서도, 차단과 폐기에 대비해 대체 전달 경로를 병행하는 방식으로 해석됩니다.
셋째, 미끼 문서 유형이 PDF를 넘어 XLSX, PNG로 다변화되었습니다. 일부 변종은 실제 미끼 문서를 제공하지 않고 오류 문서만 표시하는 방식도 사용했는데, 위협 행위자의 실수일 가능성도 배제할 수 없습니다.
특히, 이번 분석에서는 AI와 LLM을 이용해 미끼 문서를 대량 제작한 정황이 지속적으로 확인되었습니다. GitHub C2에서 내려받는 미끼 문서 29개를 해시 기준으로 분류한 결과 고유 문서는 11종으로 확인되며, 동일 문서가 서로 다른 무작위 파일명으로 재배포된 중복본이 다수 존재합니다. 이는 위협 행위자가 동일한 미끼 문서를 저장소별로 재사용하면서 파일명만 무작위화하는 운영 방식을 취하고 있음을 보여줍니다.
문서 메타데이터와 본문 분석 결과, 일부 PDF에서는 Creator와 Producer 값에 AI 코딩 에이전트인 opencode가 기록되어 있었고, Author 값은 anonymous로 남아 있었습니다. 또한 본문에는 (임시값)과 같은 미치환 플레이스홀더(Placeholder)가 그대로 포함되어 있어, LLM이 생성한 문서 초안을 충분히 검수하지 않은 채 공격에 활용한 정황이 확인되었습니다.
(참고) 미치환 플레이스홀더란 문서 작성 과정에서 나중에 실제 값으로 바꿔 넣기 위해 임시로 표시해 둔 문구가 최종 문서에 그대로 남아 있는 상태를 의미합니다. 정상적인 검수 과정을 거쳤다면 (임시값)과 같은 표기는 실제 수치나 문구로 교체되거나 삭제되어야 합니다. 따라서 이러한 흔적은 LLM이 생성한 초안을 충분히 검토하지 않은 채 공격용 미끼 문서로 사용했을 가능성을 보여주는 중요한 정황으로 판단됩니다.
또 다른 PDF 계열에서는 HeadlessChrome 및 Skia/PDF 메타데이터가 확인되었습니다. 이는 HTML 형태의 문서를 먼저 생성한 뒤, 화면 없는 Chrome 브라우저의 PDF 저장 기능을 자동 실행해 문서를 변환한 것으로 해석됩니다. 문서 간 본문 구조와 정형 문구가 높은 유사도를 보이는 점 역시 하나의 프롬프트 또는 HTML 템플릿에 주제만 바꿔 다량 생성한 정황을 뒷받침합니다.
이러한 결과는 김수키가 기존 GitHub PAT 기반 C2와 LNK 실행 체계를 유지하면서도, AI와 LLM을 활용해 미끼 문서 제작 속도와 다양성을 높이고 있음을 보여줍니다. 특히 AI 생성 문서와 실제 정상 문서 도용본을 혼용하는 방식은 표적과 주제에 따라 미끼의 신뢰도를 선택적으로 조정하려는 운용 양상으로 평가됩니다.
본 보고서는 특정 단일 샘플이 아니라, 13종 LNK 변종과 이들이 내려받는 미끼 문서 전반에서 반복적으로 확인되는 행위, 인프라, 문서 제작 정황을 기반으로 작성되었습니다. 또한 동일 계열 공격에 대한 탐지 정책 수립, 위협 헌팅, 침해사고 대응 강화에 활용될 수 있습니다.
[그림 1-1] 미끼 문서에 포함된 플레이스홀더 화면 비교
초기 유입은 위협 행위자가 이메일 등으로 유포한 압축(ZIP) 파일을 사용자가 해제하고 내부 바로가기(LNK) 파일을 실행하는 전형적인 스피어피싱 공격 과정에서 시작됩니다.
압축 내부에는 실제 업무 문서로 오인하기 쉬운 파일명과 문서 아이콘을 가진 LNK 파일이 포함되어 있습니다. 미끼 주제는 아래와 같이 국내 금융 및 기업 실무에 밀착되어 있습니다.
| 구분 | 파일명 예시 | 위장 시나리오 |
| 자금/정책 |
20260811_자금집행.lnk 정책자금 안내 수정 사항_202608.lnk |
자금 집행 첨부자료, 정책자금 안내 |
| 보험/이자 |
보험료 납부 안내_202608.lnk 이자 납부 안내_202608.lnk 보험서류.lnk |
보험료, 이자 납부 및 서류 |
| 인증/보안 |
인증서 갱긴 안내.lnk Security_20260811.lnk |
공인인증서 갱신, 보안 안내 |
| 결제/고객 |
Visa5499.lnk 20260819_고객서류_No01.lnk |
카드 결제 내역, 고객 서류 |
| 유통 | 2026년_8월_매장 기준정보 변경 지침.lnk | 매장 운영 지침 |
[표 2-1] 바로가기 파일명과 위장 시나리오 비교
특히, Security_20260811.lnk, Security_20260813.lnk처럼 영문 파일명을 사용한 변종이 한글명 미끼와 동일한 날짜 및 동일한 인프라를 공유하는 점이 확인되었습니다.
이는 동일 위협 행위자가 국내외 사용자 또는 서로 다른 표적군을 동시에 겨냥해 파일명을 변형하고 병행 배포했을 가능성을 시사합니다.
분석 대상 13종 모두는 다음과 같은 위장 특성을 공유합니다. 이는 동일한 LNK 생성 도구 또는 동일한 자동화 생성 방식에서 산출되었을 가능성을 강하게 시사합니다.
1) 아이콘 위장실제 파일 형식은 LNK이며, 파일 크기는 약 319KB에서 8.9MB 수준입니다. 따라서 설명 필드에 기록된 문서 유형, 크기, 수정일은 실제 속성과 전혀 일치하지 않습니다.
3) 인수 은닉용 선행 공백
[그림 2-1] 패딩 데이터 화면
이 기법은 파일 크기를 인위적으로 증가시켜 일부 샌드박스 및 백신 프로그램(Anti-Malware) 엔진의 탐지를 회피하는 용도로 사용될 수 있습니다.
실행 인수의 핵심 데이터는 표준 Base64 형식이 아닙니다.
공백으로 구분된 십진수 배열과 사용자 정의 산술 치환 디코더로 구성되어 있습니다. 배열 변수명은 13종 모두에서 $VIUSBvejbawf로 동일하게 확인됩니다.
[그림 2-2] LNK 실행 인수 화면
정적 탐지를 피하려고 진짜 페이로드를 숫자 배열로 난독화해 두고, 실행 시점에 복호화 및 저장, 실행하는 전형적인 로더 구조이며, 디코딩 루틴의 핵심 흐름은 다음과 같습니다.
1) 숫자 배열($VIUSBvejbawf)을 공백 기준으로 분할하여 바이트 리스트를 구성합니다. 이 바이트열이 암호화된 페이로드입니다.4) 결과 바이트열을 UTF-8 문자열로 복원하여 2단계 PowerShell 스크립트를 획득합니다.
5) 복원된 스크립트를 %AppData%\<무작위>.ps1 경로에 저장한 뒤, Invoke-Expression을 통해 실행합니다.
가산 상수 +103은 13종 모두에서 공통으로 사용됩니다. 반면 디코더 키 문자열은 변종별로 다르게 설정되어 있습니다. 확인된 키 문자열은 다음과 같습니다.
| 변종 | 디코더 키 | 드롭 스크립트명 |
| 자금집행/Security (0811) | N*32h^G | fgkpxjbgthy.ps1 |
| 자금집행/Security (0813) | KK*3bU() | fgkpxjbgthy.ps1 |
| 고객서류 | N&*2hn | kvnourgr.ps1 |
| 매장 기준정보 | k*5jhc# | kvnourgr.ps1 |
| 보험료납부/정책자금 | *bebhj&U7 | kvnourgr.ps1 |
| 보험서류 | 27%&G3j | fgkpxjbgthy.ps1 |
| 이자납부(202608) | J83&^3 | kvnourgr.ps1 |
| 이자납부 | VNi^k | fgkpxjbgthy.ps1 |
| 인증서 갱신 | V&63bJ& | fgkpxjbgthy.ps1 |
| Visa5499 | OPu&6vh | fgkpxjbgthy.ps1 |
[표 2-2] 변종 별 디코더 키 및 스크립트명 비교
디코더 키만 교체한 채 알고리즘, 상수, 변수명을 그대로 재사용하는 방식은 동일한 빌더에서 파라미터만 변경해 다수의 변종을 생성했음을 뒷받침합니다.
디코딩된 2단계 스크립트의 전형적인 동작은 20260811_자금집행.lnk 기준으로 다음 순서로 진행됩니다.
1) 미끼 문서 준비conhost.exe --headless를 경유해 PowerShell을 숨김 창 방식으로 구동하는 행위는 사용자의 시야에서 후속 단계를 숨기기 위한 은닉 기법입니다.
또한, 예약 작업명은 BitLocker, MATLAB, .NET Framework NGEN 등 정상 시스템 작업처럼 보이도록 위장되어 있습니다. 변종별로는 철자를 미세하게 변형해 정적 시그니처 기반 탐지를 회피하려는 특징도 확인됩니다.
본 변종에서는 이전 보고서에 기술되지 않은 분석 회피 코드가 1단계 스크립트 선두에 추가된 것으로 확인되었습니다. 주요 동작은 다음과 같습니다.
1) 분석 도구 및 가상화 도구 프로세스 블록리스트 검사이러한 동작은 위협 행위자가 자동 분석 환경과 리버싱 도구에 대응하기 위한 기능을 강화하고 있음을 보여줍니다.
또한, 미끼 문서의 완성도나 실행 결과만으로 위협 여부를 판단하는 접근에는 한계가 있음을 재확인시켜 줍니다.
본 변종은 GitHub Raw에서 PNG 이미지 형식의 미끼 파일인 Visa_5499.png를 다운로드해 실행합니다.
1) 지속성 스크립트 동작이 변종은 GitHub 단일 채널에만 의존하지 않고, 정상 텍스트 공유 서비스인 Pastebin을 2단계 페이로드 전달 채널로 함께 사용합니다.
이는 특정 도메인 차단만으로 전체 C2 통신을 무력화하기 어렵게 만드는 채널 다변화 전략으로 평가됩니다.
LNK 악성파일 13종의 특성을 기준으로 정리하면 다음과 같고, 속성에 포함된 설명문이 모두 동일하게 적용된 것을 알 수 있습니다.
| No | File Name | Decoy |
GitHub 계정/저장소 |
예약 작업명 | LNK 속성 설명 (모두 동일) | 특이사항 |
| 0 | 20260811_자금집행.lnk | 자금집행첨부자료.pdf | sven5500/firtfirter | BitLockor Encrypter All Drives_102974298364124_skillerty |
Type: Hangul Document Size: 2.84 KB Date modified: 10/20/2023 11:23 |
4번과 PAT, 저장소, 작업명 공유 |
| 1 | 20260813_자금집행.lnk | 자금집행첨부자료.pdf | montry111/secsecon | BitLockor Encrypter All Drives_102974298364124_skillerty | 5번과 PAT, 저장소 공유 / 0, 4번과 작업명 동일(계정 상이) | |
| 2 | 20260819_고객서류_No01.lnk | 영수증.xlsx | jamjack2026/zoysotor | BitLooktr Enerypteer AlLER DrLiivers_9734568237652345_updateers | 분석 회피 루틴 탑재, 작업명 오타 포함 | |
| 3 | 2026년 8월 매장 기준정보 변경 지침.lnk | 2026년 8월 매장 기준정보 변경 지침.pdf | urusa4400/yutyutb | BitLockor Encrypter AllER Drives_89643165878_skillerty | 7, 9, 12번과 작업명 동일(계정 상이) | |
| 4 | Security_20260811.lnk | 보험료 자동이체 입금 안내.pdf | sven5500/firtfirter | BitLockor Encrypter All Drives_102974298364124_skillerty | 0번과 PAT, 저장소, 작업명 공유 | |
| 5 | Security_20260813.lnk | 보험료 자동이체 입금 안내.pdf | montry111/secsecon | BitLockor Encrypter All Drives_102974298364124_skillerty | 1번과 PAT, 저장소, 작업명 공유 | |
| 6 | Visa5499.lnk | Visa_5499.png | jamestony88/confgiwr | MATLAB R2022bsdugbvr Startup Acceleratorsdpvishdgreg | Pastebin 대체 C2 추가, PNG 미끼 | |
| 7 | 보험료 납부 안내_202608.lnk | 보험료 납부 안내_202608.pdf | baras6600P/oupouper | BitLockor Encrypter AllER Drives_89643165878_skillerty | 12번과 PAT, 저장소 공유 | |
| 8 | 보험서류.lnk | 보험서류.pdf (오류 문서) |
jamjack2026/twotwo | .NET Framework NGEN v4.0.3031923879465346234523 | 2번과 동일 계정, 다른 저장소 | |
| 9 | 이자 납부 안내_202608.lnk | 이자 납부 안내_202608.pdf | choemiyang/openoper | BitLockor Encrypter AllER Drives_89643165878_skillerty | 3, 7, 12번과 작업명 동일(계정 상이) | |
| 10 | 이자납부 안내.lnk | 보험서류.pdf (오류 문서) |
jeni534/qmcoiuuer | .NETRUdKBIEGE FremeweRGe9287347235233 MHHEN t4.2-w3094729136848273523 | - | |
| 11 | 인증서 갱긴 안내.lnk | 인증서 갱긴 안내.pdf (오류 문서) |
urusa4400/vcgheeg | .NETRUNOUE FremeweRk12273268762345 NGEN t7.9sldjgo2193874124 | 3번과 동일 계정, 다른 저장소 | |
| 12 | 정책자금 안내 수정 사항_202608.lnk | 정책자금 안내 수정 사항_202608.pdf | baras6600P/oupouper | BitLockor Encrypter AllER Drives_89643165878_skillerty | 7번과 PAT, 저장소 공유 |
[표 2-3] 변종 인프라 및 상관관계 분석
상관관계 분석 결과, 다음과 같은 운영 특성이 확인됩니다.
1) PAT와 저장소 공유(날짜 세트)
본 절에서는 앞서 분석한 LNK 악성파일이 GitHub C2로부터 내려받는 미끼 문서를 분석 대상으로 합니다.
수집된 다수의 미끼 파일을 해시 기준으로 분류한 결과, 고유 문서는 약 11종으로 확인되며, 나머지는 동일 문서를 서로 다른 무작위 파일명으로 재배포한 중복본입니다.
메타데이터 분석 결과, 문서 제작 과정에서 AI 도구가 사용된 정황이 다수 확인되었습니다.
미끼로 사용된 고유 문서 11종은 모두 최소 2개 이상의 서로 다른 파일명으로 존재합니다. 이 중 가장 많이 재사용된 주제는 보험료 관련입니다. 이는 위협 행위자가 동일한 미끼 문서를 저장소별로 무작위 파일명으로 재업로드하는 운영 방식을 사용하고 있음을 보여줍니다.
| 구분 | 수량 |
| 수집 파일 | 29개 |
| 고유 문서(MD5 Hash 기준) | 11종 |
| 중복 비율 | 62% (18개가 중복본) |
| 형식 | PDF 9종 / XLSX 2종 |
[표 2-4] 수집 현황 자료
11종의 문서 메타데이터를 분석한 결과, 제작 도구를 기준으로 4개 계열로 뚜렷하게 구분됩니다.
| 문서 제목 | 형식 | Creator / Producer | Author | 생성 시각(UTC) |
| 영수증 | XLSX | Microsoft Excel (AppVer 12.0000) | AzureUser | 2026-08-18 18:32:08 |
| 입금계좌정리 대장 | XLSX | Microsoft Excel (AppVer 12.0000) | AzureUser | 2026-08-18 18:34:14 |
| 보험금청구서 및 상세동의서_2026.08 | Adobe Illustrator 26.0 (Windows) / Adobe PDF library 16.03 | - | 2026-04-03 01:15:04 | |
| 이자 납부 안내 | HeadlessChrome/151.0.0.0 / Skia/PDF m151 | - | 2026-08-10 19:30:41 | |
| 보험료 납부 안내 (2026년 8월) | opencode / opencode | anonymous | 2026-08-16 03:00:00 | |
| 자금집행첨부자료 | HeadlessChrome/151.0.0.0 / Skia/PDF m151 | - | 2026-08-10 19:46:01 | |
| 자동이체 입금 안내 | HeadlessChrome/151.0.0.0 / Skia/PDF m151 | - | 2026-08-10 19:42:04 | |
| 2026년 8월 정책자금 지원 안내 | opencode / opencode | anonymous | 2026-08-16 03:00:00 | |
| 이자 납부 안내 (2026년 8월) | opencode / opencode | anonymous | 2026-08-16 03:00:00 | |
| 보험료 자동이체 입금 안내 | HeadlessChrome/151.0.0.0 / Skia/PDF m151 | - | 2026-08-10 19:27:58 | |
| 매장 마스터 데이터 변경 관리 가이드라인 (2026년 8월) | opencode / opencode | anonymous | 2026-08-16 03:00:00 |
[표 2-5] 제작 도구별 계열 분류
계열별로 요약하면 하기와 같고, AI 코딩 에이전트인 opencode 계열이 다수 관찰되었습니다.
| 계열 | 제작 도구 | 제작 시각 특성 |
| A. opencode 계열 | AI 코딩 에이전트 opencode | 4종 전량 2026-08-16 03:00:00 초 단위까지 동일 |
| B. HeadlessChrome 계열 | 헤드리스 크롬 인쇄 출력 | 2026-08-10 19:27~19:46 약 18분 내 집중 |
| C. Adobe 계열 | Adobe Illustrator 26.0 | 2026-04-03, 타 계열과 4개월 이상 이격 |
| D. Excel 계열 | Microsoft Excel / AzureUser | 2026-08-18 18:32~18:34 약 2분 내 |
[표 2-6] 제작 도구별 주요 요약
일부 PDF 문서에서는 메타데이터의 Creator와 Producer가 모두 opencode로 기록되어 있습니다. opencode는 터미널 기반의 오픈소스 AI 코딩 에이전트로, 자연어 지시에 따라 코드 작성과 파일 생성을 자동으로 수행하는 도구입니다.
[그림 2-3] opencode 화면
이는 일반적인 문서 작성 프로그램에서 생성되는 값이 아니며, 해당 문서가 수작업 문서 작성 도구가 아닌 AI 에이전트를 통해 프로그래밍 방식으로 생성되었을 가능성을 강하게 시사합니다. 또한 Author 필드가 모두 anonymous로 동일하게 기록되어 있어, 도구의 기본값이 그대로 남은 것으로 판단됩니다.
opencode 계열 문서 본문에는 LLM이 생성한 것으로 보이는 플레이스홀더 표기가 치환되지 않은 채 그대로 남아 있습니다.
이는 LLM에 문서 생성을 지시하는 과정에서 모델이 확정할 수 없는 수치를 임시값으로 표기했고, 위협 행위자가 이를 실제 값으로 교체하지 않은 채 그대로 배포했음을 보여줍니다. 문서 제작 과정에서 사람의 후속 검수가 사실상 이루어지지 않았음을 시사하는 동시에, AI 기반 자동 생성 정황을 직접적으로 드러내는 핵심 아티팩트로 보입니다.
타임스탬프 정보 역시 문서들이 개별적으로 작성되기보다 일괄 생성되었을 가능성을 뒷받침합니다. 확인된 opencode 계열 문서의 생성 시각(CreationDate)은 모두 2026-08-16 03:00:00 UTC로 초 단위까지 동일하며, 별도의 수정 시각(ModDate)은 확인되지 않습니다. 해당 시각을 한국표준시(KST, UTC+09:00)로 변환하면 2026-08-16 12:00:00에 해당합니다.
여러 문서의 생성 시각이 초 단위까지 완전히 일치한다는 점은 사용자가 각 문서를 순차적으로 생성하거나 편집한 일반적인 작업 패턴과는 차이가 있으며, 하나의 자동화된 처리 과정이나 스크립트를 통해 복수의 문서가 일괄 생성되었을 가능성을 시사합니다.
[그림 2-4] PDF 속성 정보에 포함된 opencode 기록
HeadlessChrome 계열 문서 간 본문 텍스트 유사도를 측정한 결과, 일부 문서가 80% 이상 일치하는 것으로 확인되었습니다. 실제 문장을 비교하면 주제어만 치환되고 문장 구조는 동일하게 유지됩니다.
[그림 2-5] HeadlessChrome 계열 미끼 문서 비교
또한, 내부 확인 및 업무 관리 목적으로 작성되었으며, 확인 요청의 건, 각 담당자께서는 해당 내용과 같은 공통 정형 문구가 여러 문서에서 동일하게 출현합니다. 이는 하나의 프롬프트 또는 문서 템플릿에 주제만 변경해 대량 생성한 전형적인 양상으로 추정됩니다.
HeadlessChrome 기반 PDF 생성 방식은 AI, LLM 기반 문서 자동화 파이프라인에서 자주 활용될 수 있는 구조입니다. LLM은 자연어 지시에 따라 문서 본문과 HTML/CSS 서식을 생성하고, Headless Chrome은 해당 HTML을 화면 없이 렌더링한 뒤 PDF로 저장합니다.
[그림 2-6] 이자 납부 안내 PDF 문서의 메타데이터
따라서 PDF 메타데이터에 Creator: HeadlessChrome 및 Producer: Skia/PDF 값이 기록된 경우, 사람이 일반 문서 편집기에서 직접 작성했다기보다 LLM 또는 스크립트가 생성한 HTML 문서를 브라우저 자동화 방식으로 PDF 변환했을 가능성을 시사합니다.
생성 시각과 수정 시각이 동일하여 사후 편집 흔적이 없고, 여러 문서가 약 18분 내에 연속 생성된 점 역시 자동화 정황을 뒷받침합니다.
해당 계열은 표 기반의 공문 서식을 갖추고 있어 opencode 계열보다 완성도가 높으며, (임시값)과 같은 노출 아티팩트도 확인되지 않습니다. 이는 AI로 HTML 서식을 생성한 뒤 브라우저로 렌더링하는 2단계 파이프라인을 통해 문서 품질을 높인 것으로 보입니다.
XLSX 문서 2종은 docProps/core.xml의 작성자와 최종 수정자가 모두 AzureUser로 기록되어 있습니다. AzureUser는 Microsoft Azure 가상머신에서 흔히 사용되는 기본 관리자 계정명으로, 위협 행위자가 클라우드 VM 환경에서 문서를 제작했을 가능성을 추정해 볼 수 있습니다. 이는 국가 배후 위협 그룹이 추적 회피를 위해 클라우드 인스턴스를 활용하는 일반적인 운용 양상과도 부합합니다.
지난달 보고서에서 확인된 "AI를 활용한 미끼 문서 제작" 흐름이 본 캠페인에서 한층 구체적으로 드러납니다. 특히 다음 세 가지가 새롭게 확인되었습니다.
본 캠페인은 다음 근거를 바탕으로 김수키 Operation GitPower 계열과 동일 위협 행위자의 소행으로 평가됩니다.
1) LNK 위장 지문 일치
| 전술 | 기법 | 설명 |
| Initial Access | T1566.001 스피어피싱 첨부 | ZIP 내 악성 LNK 유포 |
| Execution | T1059.001 PowerShell / T1204.002 사용자 실행 | LNK 실행 후 PowerShell 로더 |
| Execution/Defense Evasion | T1202 간접 명령 실행 | conhost.exe --headless로 창 없이 PowerShell 실행 |
| Defense Evasion | T1027 난독화 / T1140 디코딩 | 커스텀 디코더, URL 분할, 파일 크기 팽창 |
| Defense Evasion | T1036.005 위장 | Chrome 아이콘, 위조 속성, 정상 SW 작업명 |
| Defense Evasion | T1497 가상화/샌드박스 회피 | 분석도구, 사용자명 검사 |
| Defense Evasion | T1070.003 히스토리 삭제 | PSReadLine 히스토리 제거 |
| Persistence | T1053.005 예약 작업 | 숨김 작업 등록, 주기 반복 |
| Command and Control | T1102 웹 서비스 | GitHub Raw / Pastebin(신규) C2 |
| Exfiltration | T1041 C2 채널 유출 | 시스템 정보 GitHub 업로드 |
[표 3-1] MITRE ATT&CK 매핑
본 캠페인의 침투 구조는 김수키의 기존 Operation GitPower와 동일합니다. 그러나 본 분석은 해당 계열이 정체되어 있지 않고, 회피 및 다변화 방향으로 지속적으로 진화하고 있음을 보여줍니다.
분석 회피 루틴의 도입, Pastebin 기반 대체 C2 활용, 미끼 유형의 다변화는 모두 탐지 및 분석 비용을 높이려는 명확한 의도를 보여줍니다. 특히 이전 보고서에서 강조된 "AI 활용에 따른 미끼 완성도 향상" 흐름과 결합할 경우, 미끼 콘텐츠 자체만을 판별 기준으로 삼는 방어 방식은 더 이상 충분하지 않습니다.
따라서 방어의 중심은 행위 기반 상관 탐지로 전환되어야 합니다. 특히 아래와 같은 연속적인 이상 행위를 하나의 공격 맥락으로 연결하여 분석할 것을 권고합니다.
AI는 미끼 문서의 완성도와 공격 준비 속도를 높이고, 회피 기법은 점차 정교해지고 있습니다. 그러나 엔드포인트에서 발생하는 실행, 지속성 확보, C2 통신, 페이로드 로드 행위 자체는 완전히 은폐하기 어렵습니다.
따라서 최신 침해지표를 지속적으로 반영하는 동시에, 공격 단계 간 상관관계를 분석하고 이상 행위를 신속히 차단할 수 있는 EDR 중심의 통합 대응 체계 구축이 필요합니다.
본 캠페인은 AI Agent 'opencode'와 HeadlessChrome 등으로 제작된 것으로 판단되는 미끼 문서와 악성 LNK 파일을 이용해 초기 침투한 뒤, 사용자 정의 디코더 기반의 난독화된 PowerShell 실행, 정상 소프트웨어로 위장한 숨김 예약 작업을 통한 지속성 확보, GitHub PAT 및 Pastebin 기반 C2 통신으로 이어지는 다단계 공격입니다.
특히, 일부 변종은 분석 도구 탐지와 명령 히스토리 삭제 등 분석 회피 기능까지 갖추고 있어, 다음과 같은 연속적 이상행위를 하나의 공격 맥락으로 연결해 분석해야 합니다.
'Genian Insights E'는 통합 엔드포인트 보안 플랫폼으로, 프로세스 트리와 명령행, 파일 생성, 예약 작업, 네트워크 연결 등 엔드포인트에서 발생하는 다양한 이벤트를 연계 분석합니다. 이를 통해 개별 이벤트만으로는 정상 행위처럼 보일 수 있는 LNK 실행, PowerShell 구동, GitHub 및 Pastebin 접속과 후속 페이로드 실행을 하나의 공격 흐름으로 가시화할 수 있습니다.
또한 LnkTarget 정보를 기반으로 LNK 파일이 참조하거나 실행하는 대상과 명령을 초기 단계부터 확인할 수 있어, 비정상적으로 긴 실행 인수와 선행 공백 같은 본 캠페인의 위장 특성을 조기에 식별하고, 이후 생성된 스크립트와 하위 프로세스, 지속성 확보 및 외부 통신 행위까지 연계 추적할 수 있습니다.
이러한 가시성은 GitHub, Pastebin 등 정상 클라우드 서비스와 개발 플랫폼을 C2로 악용하거나, 분석 환경을 탐지해 실행을 중단하는 방식으로 탐지를 우회하는 공격에도 효과적으로 대응할 수 있는 기반을 제공합니다.
궁극적으로 AI가 미끼 문서의 완성도와 제작 물량, 공격 준비 속도를 높이더라도, 엔드포인트에서 발생하는 실행, 지속성, 통신, 페이로드 행위까지 숨길 수는 없습니다. 따라서 본 캠페인에 대한 효과적인 대응을 위해서는 최신 침해지표(IoC)를 지속적으로 반영하는 동시에, 공격 단계 간 상관관계를 분석하고 이상행위를 신속하게 차단할 수 있는 EDR 중심의 통합 대응 체계를 구축해야 합니다.
[그림 4-1] EDR을 통해 악성 LNK 탐지 모습
Genian Insights E의 Attack Storyline 기능을 활용하면 스피어 피싱을 통해 유입된 ZIP 파일의 압축 해제 과정에서 생성되는 악성 LNK 파일을 신속하게 탐지하고 관련 행위 흐름을 확인할 수 있습니다.
이를 통해 초기 위협 유입 단계에서 악성 행위를 조기에 식별하고, 신속한 대응을 통해 추가 피해와 위협의 확산을 효과적으로 방지할 수 있습니다.
[그림 4-2] PowerShell 난독화 커맨드 라인 분석
악성 LNK 파일이 실행되면 PowerShell 프로세스가 연계되어 동작하며, 난독화된 커맨드라인을 통한 추가 명령 실행 등 일련의 악성 행위가 단계적으로 수행됩니다.
Genian Insights E는 이러한 프로세스 실행 흐름과 행위 기반 이벤트를 실시간으로 분석하고, PowerShell을 통해 실행되는 난독화된 커맨드라인도 직관적으로 식별할 수 있어 공격 활동을 신속하게 파악하고 대응할 수 있습니다.
[그림 4-3] PowerShell을 통한 Github C2 접속 화면
PowerShell 명령이 실행된 이후 공격자는 예약 작업(Task Scheduler) 등의 지속성 유지 기법을 활용하여 악성 행위가 일정 주기마다 반복적으로 실행되도록 구성합니다. 이후 감염 시스템은 GitHub 기반 C2 서버와 주기적으로 통신하며 추가 명령이나 페이로드를 수신하고, 위협 행위자가 의도한 후속 악성 행위를 지속적으로 수행합니다.
Genian Insights E는 이러한 과정에서 발생하는 예약 작업 생성 및 실행 이력, PowerShell을 비롯한 프로세스 행위 정보, 반복적인 외부 네트워크 통신 패턴을 연계하여 분석할 수 있습니다.
이를 통해 정상적인 GitHub 서비스 이용과 구분되는 비정상적인 통신 및 실행 흐름을 식별하고, 보안 관리자가 C2 통신과 지속성 유지 행위를 신속하게 인지하여 위협 차단, 추가 확산 방지 등 필요한 대응 조치를 수행할 수 있도록 지원합니다.
[그림 4-4] Genian Insights E 분석 전용 화면
Genian Insights E는 별도의 Analysis 전용 화면을 통해 탐지된 위협과 이상행위(XBA)에 대한 핵심 정보를 직관적으로 제공하며, 개별 이벤트를 단순 나열하는 방식이 아니라 공격 흐름과 연계된 주요 프로세스, 행위, 네트워크 활동을 한눈에 파악할 수 있도록 지원합니다.
특히 XBA 기반 이상행위 탐지 결과를 시각적으로 확인할 수 있어 정상 행위와 구분되는 비정상적인 실행 패턴이나 의심 행위를 빠르게 식별할 수 있으며, 관련 이벤트 간의 연관성을 기반으로 위협의 발생 원인과 전개 과정을 효율적으로 분석할 수 있습니다.
이를 통해 보안 관리자는 탐지된 위협의 중요도와 공격 맥락을 신속하게 파악하고, 상세 분석부터 영향 범위 확인, 차단 및 후속 대응까지 필요한 조치를 보다 빠르고 효율적으로 수행할 수 있습니다.
10780939962b54addc9d31f57d80edfc
1523a2fcc901965ab4568d9fe829e4af
500e0bc0d7579fb338912770964076fe
685bfc6b2c29fbc16cfad908894add55
7a53089053b1381742856a5cf2b95f8b
8db2f20b719dcb7029d6296505622093
900e832c10d851bbdef3fb191a15db0e
a2015665a3e18bf0ef86e3931245c7e6
bb88940e915b11f6330b7446f6037f5b
ce5932b88f879f26006df81f2fa7667e
d0894d4626aae0f96d6b84ca3bb71a36
e50f2ae7fb03675a1ef58b1cf9cda6d1
f648bdd3c2cd902e239149de86d43e8f
github[.]com/sven5500
github[.]com/montry111
github[.]com/jamjack2026
github[.]com/urusa4400
github[.]com/jamestony88
github[.]com/baras6600P
github[.]com/choemiyang
github[.]com/jeni534
pastebin[.]com/raw/gybpx38s
baras6600@proton[.]me
choemiyang@hotmail[.]com
dustinharrise91@outlook[.]com
jackal3300@proton[.]me
jametony8@outlook[.]com
jamjack2026@proton[.]me
montry111@proton[.]me
sven5500@proton[.]me
taini7700@outlook[.]com
urusa4400@proton[.]m