지니언스 시큐리티 센터(Genians Security Center)는 Konni APT가 수행한 북한 테마 콘텐츠 위장 악성파일 유포 캠페인에 대한 심층 분석을 수행하였습니다.
분석 결과, 해당 위협 행위자는 북한인권 강사 위촉 안내로 위장한 스피어피싱 이메일을 통해 1차 침투를 시도하고, LNK 유형의 악성파일 실행을 유도하여 원격제어형 악성코드를 설치하는 방식으로 초기 감염을 유발한 것으로 확인되었습니다.
[그림 1-1] 전체 공격 흐름도
이후 감염 단말에 장기간 은닉하며 내부 문서 및 민감 정보를 탈취하는 한편, 피해자의 카카오톡 PC 버전에 비인가 접근하여 친구 목록 중 일부를 선별 대상으로 삼아 악성파일을 2차 유포하는 확산 전략을 사용한 정황이 식별되었습니다.
특히 공격자는 북한 관련 영상 기획안 형태의 미끼 콘텐츠를 활용해 수신자를 현혹하고, 기존 피해자를 추가 공격의 매개체로 악용하는 신뢰 기반 전파 구조를 형성한 것으로 분석됩니다. 이는 단순 스피어피싱을 넘어, 장기 잠복·정보 탈취·계정 기반 재확산이 결합된 다단계 공격 체계로 평가됩니다.
본 위협 인텔리전스 보고서는 코니(Konni) APT 캠페인에서 식별된 악성 LNK 파일 구조, 지속성 확보 메커니즘, 원격제어 통신 특성, 그리고 메신저 계정 악용 행위 등 주요 기술적 아티팩트를 중심으로 공격 전술·기법·절차(TTP)를 체계적으로 분석합니다.
또한 계정 기반 2차 확산과 정상 프로세스 위장 행위를 효과적으로 식별하기 위한 엔드포인트 행위 기반 탐지(EDR) 및 이상행위 상관 분석 중심 대응 체계의 필요성을 제시합니다.
Konni APT는 표적화된 사회공학적 피싱 전술과 다양한 침투 기법을 활용해 지속적인 지능형 공격 활동을 전개해 온 것으로 관측되었습니다. 지난 1월 보고한 '포세이돈 작전 (Operation Poseidon)'에서는 정상 광고 인프라의 클릭 리다이렉션 메커니즘을 악용한 스피어피싱을 통해 이메일 보안 필터링 및 사용자 경계 우회를 시도한 바 있습니다.
또한 2025년 11월 보고서에서는 '안드로이드 디바이스를 대상으로 원격 초기화 전술'을 활용한 정황이 식별되었습니다. 이는 단순 정보 탈취를 넘어, 감염 단말의 통제권을 유지하거나 증거를 제거하기 위한 목적의 행위로 평가되며, PC 환경을 넘어 모바일 영역까지 공격 표면을 확장하고 있음을 보여줍니다.
이번 보고서에서 분석된 캠페인에서도 스피어피싱 이메일이 초기 접근 벡터로 활용되었습니다. 공격자는 북한인권 강사 위촉 안내를 가장한 피싱 메시지를 통해 파일 실행을 유도하였으며, 그 결과 피해 시스템에 악성 LNK 파일이 실행되어 원격제어형 악성코드가 설치되는 초기 침투가 발생하였습니다. 이후 공격자는 피해자 시스템에 장기간 은닉하며 내부 문서 및 민감 정보를 탈취한 것으로 확인되었습니다.
특히 이번 캠페인의 특징은 피해자의 카카오톡(KakaoTalk) PC 버전 세션에 비인가로 접근한 후, 해당 사용자의 친구 목록 일부를 대상으로 다시 악성파일을 유포하는 확산 전략이 사용된 점입니다.
이 과정에서 위협 행위자는 북한 관련 영상 콘텐츠 기획 주제처럼 위장된 미끼 콘텐츠를 활용해 수신자의 관심을 유도함으로써 기존 피해자를 새로운 유포 경로로 전환시키는 구조를 형성하였습니다.
이러한 배경 하에 본 보고서는 Konni APT의 전술적 진화 양상을 종합적으로 조망하고, 특히 스피어피싱 이후 장기 잠복, 계정 세션 악용, 메신저 기반 재확산 메커니즘을 중심으로 기술적 특징을 분석합니다. 아울러 행위 기반 탐지 및 상관 분석 중심의 대응 체계 강화를 포함한 실질적 방어 전략을 제시합니다.
초기 침투 단계에서는 북한인권 강사 위촉 안내로 위장한 스피어피싱 이메일이 주요 공격 벡터로 활용되었습니다. 공격자는 수신자의 직무·관심 분야와 연관된 내용으로 신뢰를 형성한 후, 첨부파일 실행을 유도하였습니다.
전달된 압축파일 내부에는 정상 문서 아이콘으로 위장된 LNK 바로가기 악성파일이 포함되어 있었으며, 사용자가 이를 실행할 경우 추가 악성 페이로드가 외부 C2 서버로부터 다운로드되는 구조로 분석되었습니다. 해당 LNK 파일은 정상 프로세스 실행 흐름을 악용하여 악성 스크립트 또는 실행 파일을 은밀히 로드하며, 초기 감염 이후 원격제어 기능을 수행하는 악성코드를 메모리 상에 로드하는 특징을 보였습니다.
초기 감염 이후 위협 행위자는 예약 작업 등록, 시작 프로그램 등록 또는 정상 프로세스 위장 실행 등으로 지속성을 확보하였습니다.
그리고 감염 단말에 장기간 은닉하면서 내부 문서, 사용자 계정 정보, 시스템 환경 정보 등을 수집한 정황이 확인되었습니다. 수집된 정보는 암호화 또는 인코딩 과정을 거쳐 외부 서버로 전송된 것으로 추정됩니다.
이번 캠페인의 주요 특징은 감염된 피해자의 카카오톡 PC 버전에 비인가 접근하여 메신저 세션을 악용한 점입니다.
위협 행위자는 피해자의 친구 목록 중 일부를 선별 대상으로 삼아 추가 악성파일을 전송하였으며, 이 과정에서 북한 관련 콘텐츠 소개자료로 위장한 파일명을 사용해 수신자의 실행을 유도하였습니다.
[그림 3-1] 카카오톡으로 악성파일 유포 화면
이와 같은 방식은 신뢰 관계 기반 전파를 가능하게 하여 보안 솔루션 및 사용자 경계를 우회하는 효과를 가지며, 기존 피해자를 새로운 공격 매개체로 전환시키는 구조를 형성합니다.
본 공격은 ▲스피어피싱 기반 초기 침투 ▲LNK 악성파일 실행을 통한 원격제어형 악성코드 설치 ▲장기 잠복 및 정보 탈취 ▲카카오톡 PC 세션 악용을 통한 2차 악성파일 유포로 이어지는 다단계 구조를 보였습니다. 이는 단일 감염에 그치지 않고 계정 기반 확산을 결합한 복합 위협 시나리오로 평가됩니다.
카카오톡 메신저로 유포된 ZIP 압축파일 내부에는 바로가기(Shortcut) 유형의 악성 LNK 파일이 포함되어 있습니다.
해당 LNK 파일을 열었을 때 실행되는 순서와 내부 구조는 아래와 같습니다.
[그림 4-1] 악성 LNK 파일 내부 명령어 추출
메신저로 유포된 LNK 파일은 겉보기에는 "PDF 문서"처럼 보이도록 꾸며져 있지만, 실제로는 클릭 한 번으로 PowerShell 기반의 드롭퍼 동작을 수행하도록 설계된 악성 바로가기 파일입니다.
사용자가 파일을 실행하면 탐색기는 문서 파일을 연 것처럼 보이게 만들면서, 동시에 백그라운드에서 cmd.exe와 PowerShell을 호출해 후속 페이로드를 준비하고 지속성을 설정하는 흐름으로 동작합니다.
실행은 %windir%\system32\cmd.exe를 엔트리 포인트로 시작합니다.
LNK의 Target은 cmd.exe로 설정되어 있고, 인자에는 /c 옵션과 함께 32비트 PowerShell 경로인 C:\Windows\SysWoW64\WindowsPowerShell\v1.0\powershell.exe가 포함되어 있습니다.
즉 사용자가 LNK를 더블클릭하는 순간, cmd.exe /c powershell.exe -Command "<악성 스크립트>" 형태로 PowerShell 스크립트가 즉시 실행되도록 구성되어 있습니다. SysWoW64 경로를 사용하는 점은 실행 환경 호환성이나 일부 보안 통제를 우회하려는 의도가 섞여 있을 가능성이 있습니다.
PowerShell 스크립트는 먼저 "자기 자신(LNK 파일)"을 찾는 단계부터 수행합니다. 그리고 파일 크기를 이용해 자신을 식별합니다. 스크립트는 현재 폴더에서 *.lnk 목록을 수집한 뒤, Length 값이 특정 상수(0x001DBB82)와 동일한 항목만 골라냅니다.
[그림 4-2] 악성 LNK 파일 내부 구조
이 값은 실제 LNK 파일 크기(1,948,546 bytes)와 일치하며, 결과적으로 파일명이 바뀌어도 동일한 크기라면 자기 자신을 찾아낼 수 있습니다. 만약 현재 폴더에서 찾지 못하면 %USERPROFILE%\AppData\Local\Temp 하위로 경로를 옮겨 재귀 탐색을 수행합니다.
LNK 자기 자신 파일을 특정하면, 스크립트는 해당 LNK 파일을 바이너리로 열어 내부의 특정 위치에서 대용량 데이터를 그대로 읽어옵니다. 구체적으로 파일 오프셋 0x1892부터 길이 0x1D79FB 바이트를 읽습니다.
이 블록은 평문으로 포함되어 있지 않고 간단한 XOR 방식으로 난독화되어 있습니다. 스크립트는 읽어온 바이트 배열에 고정 키 0x3D를 적용해 복호화합니다.
특징적으로 키 스트림은 1바이트 반복(slSize=0x01)이라 사실상 모든 바이트에 동일한 XOR 키가 적용되는 단순한 방식입니다.
복호화가 끝나면 스크립트는 결과 데이터를 파일로 저장한 뒤 즉시 실행합니다. 저장 파일명은 원본 LNK 파일명에서 확장자 .lnk만 제거한 형태로 만들어집니다. 사용자가 실제로 문서를 열었다고 느끼게 하는 구간이 여기서 구현됩니다.
복호화 결과물은 PDF 헤더(%PDF)로 시작하는 문서이며, LNK 내부에 숨겨진 "미끼 문서(Decoy)" 역할을 합니다. 즉 사용자는 LNK를 클릭했을 때 "PDF가 열렸다"고 인식하지만, 그 순간 이미 PowerShell 기반 후속 동작이 진행되고 있는 구조입니다.
미끼 문서를 실행한 뒤에는 흔적을 줄이기 위한 정리 단계가 이어집니다. 스크립트는 remove-item -force로 원본 LNK 파일 자체를 삭제합니다. 이 동작은 사용자가 파일을 열어본 직후 원본 LNK 파일이 디스크에서 사라지게 만들어, 사용자의 신고나 분석가의 확보를 어렵게 하는 전형적인 안티포렌식(Anti-Forensics) 패턴입니다.
이후 스크립트는 작업 경로를 C:\Users\Public\Videos\로 변경합니다. Public 경로는 사용자 권한으로도 쓰기가 쉬워 후속 파일을 드롭하기에 자주 이용되는 위치입니다.
그 다음 외부 C2 서버에서 두 개의 파일을 내려받습니다. C2 주소는 워드프레스 기반의 drfeysal[.]com 도메인이며, wp-admin/maint/treasure 경로 아래 쿼리 문자열 형태로 제공되며, 다운로드 사이에는 짧은 지연(100ms)이 삽입되어 있습니다.
다운로드 시도되는 첫 번째는 AutoIt3.exe라는 이름의 정상 오토잇 실행 파일이고, 두 번째는 APDNHFU.pdf 이름의 문서처럼 위장된 Compiled AutoIt 악성 스크립트 파일입니다.
다운로드가 끝나면 공격자는 지속성을 확보합니다.
스크립트는 예약 작업(Scheduled Task)을 생성하는데, 트리거는 "현재 시각 기준 1분 뒤 시작"이며, 이후 "1분마다 반복"하도록 설정됩니다.
반복 기간은 365일로 지정되어 장기간 유지되도록 되어 있습니다.
실행 액션은 AutoIt3.exe를 실행하고 인자로 APDNHFU.pdf를 전달하는 형태이며, 작업 이름은 APDNHFU로 설정되어 있습니다.
이 구성은 사용자가 시스템을 재부팅하거나 시간이 지나도 1분 단위로 지속 실행이 가능하게 만들며, 감염 유지 및 추가 행위를 수행할 수 있는 기반을 제공합니다.
정리하면, 이 LNK 샘플은 "사용자에게 PDF 문서를 열어주는 것처럼 보이게 하면서" 실제로는 PowerShell을 통해 자기 자신(LNK)에 숨겨진 PDF 미끼 문서를 복호화해 실행하고, 동시에 외부에서 실행 파일과 추가 파일을 다운로드한 뒤, 예약 작업으로 1분 주기의 지속성을 구축하는 드롭퍼/로더형 악성 바로가기입니다.
분석 관점에서 특히 눈에 띄는 지점은 파일명을 하드코딩하지 않고 "파일 크기"로 자기 자신을 찾아가는 점, LNK 내부 데이터 블록을 오프셋 기반으로 크게 읽어 XOR로 풀어내는 점, 그리고 감염 후 원본 LNK를 삭제해 증거를 제거하는 점입니다.
침해지표(IoC) 관점에서는 drfeysal[.]com C2 접근, C:\Users\Public\Videos\ 하위의 AutoIt3.exe 및 APDNHFU.pdf 생성, 그리고 APDNHFU라는 이름의 예약 작업 생성 여부가 우선 확인 대상입니다.
APDNHFU.pdf 파일은 확장자만 보면 일반 PDF 문서로 보이지만, 실제 바이트 구조를 확인하면 "문서 데이터"가 아니라 AutoIt 컴파일 스크립트 컨테이너(A3X 계열) 데이터를 포함한 위장 파일로 구성되어 있습니다.
특히 이 파일은 단순히 확장자만 바꾼 수준이 아니라, 앞부분(prefix)과 뒷부분(suffix)에 더미 데이터를 의도적으로 삽입해 두어, 정적 시그니처 탐지를 동시에 교란하도록 설계되어 있습니다.
우선 파일을 HEX 수준에서 확인하면, 정상 PDF에서 기대되는 %PDF- 파일 시그니처가 파일 시작부에 존재하지 않습니다. 대신 파일 시작부터 상당 구간이 사람이 읽을 수 있는 ASCII 문자들로 채워져 있으며, 내용은 문서 객체 구조나 PDF와는 무관한 의미 없는 무작위 문자열 형태입니다.
실제로 offset 0x0000부터 0x270F까지 구간이 거의 전부 printable ASCII로 채워져 있고, 이 구간은 PDF 파서 관점에서도 의미 있는 문서 구조로 해석되지 않습니다. 위협 행위자 관점에서 이 "앞부분 더미 구간"은 파일의 실제 정체성을 숨기기 위한 1차 위장층 역할을 수행합니다.
Anti-Malware 프로그램이나 단순 파일 분류 로직이 "파일 시작부의 고정 매직 값"이나 "헤더 기반 판별"에 의존할 때, 실제 페이로드의 시그니처가 시작부에 존재하지 않도록 만들어 탐지 확률을 낮추는 방식입니다. 동시에 사용자는 파일명이 PDF이므로 문서로 오인할 가능성이 높아지고, 운영 측면에서는 이메일/웹 업로드 필터가 확장자·콘텐츠 타입을 혼합해 판단하는 환경에서 우회 여지를 만들 수 있습니다.
다음으로 핵심 페이로드는 파일 중간에서 확인됩니다. 본 파일에는 AutoIt 컴파일 스크립트에서 관찰되는 식별자 문자열인 AU3!EA06 값이 존재하며, 이는 문서 데이터가 아니라 AutoIt 스크립트 컨테이너/바이트코드 데이터가 포함되어 있음을 나타내는 강한 증거입니다.
[그림 4-3] PDF 문서로 위장한 코드 내부
실제 샘플에서는 offset 0x2720에서 AU3!EA06 시그니처가 확인되며, 이 지점부터 이후 구간은 더미코드가 아니라, 비정상적인 바이너리 데이터 비중이 급격히 증가하는 형태로 바뀝니다. 즉, 파일이 "PDF 문서 본문"을 담고 있는 것이 아니라, 앞부분 더미 문자열 뒤쪽에 AutoIt 컨테이너를 본문처럼 숨겨 붙인 구조로 설계되어 있음을 확인할 수 있습니다.
이 구간을 기준으로 추출·디컴파일을 수행하면, 실제로 분석 가능한 AutoIt 소스 수준의 코드가 복원되며, 이는 "확장자 PDF"가 내용물과 무관한 위장임을 기술적으로 뒷받침합니다.
그리고 뒷부분 더미 데이터(suffix)는 두 번째 위장층입니다. 파일의 후반부에서도 다시 한번 분석을 방해하는 구조를 취합니다. 파일 끝부분을 확인하면 offset 0x543CA부터 EOF(0x56AD9)까지 다시 printable ASCII 위주의 무작위 문자열로 구성되어 있으며, 이는 정상적인 AutoIt 컨테이너 종료 구조나 문서 포맷의 종료 구조와는 무관한 "노이즈 데이터(패딩)"에 해당합니다.
종합하면 APDNHFU.pdf는 PDF 포맷을 구현한 문서가 아니라, AutoIt 컴파일 스크립트 데이터를 파일 중간에 숨기고 앞뒤로 더미 문자열을 덧댄 다층 위장형 컨테이너 입니다.
본 분석 대상 파일 APDNHFU.pdf는 외형상 PDF 문서로 위장되어 배포되었으나, 내부 구조 분석 결과 AutoIt 컴파일 스크립트(A3X Container)를 포함하고 있습니다.
디컴파일을 통해 확보된 소스 코드를 분석한 결과 해당 파일은 공개적으로 보고된 EndRAT 계열 악성코드와 동작 구조가 일치하는 것으로 확인되었습니다.
EndRAT은 AutoIt 언어로 제작된 원격 제어형 악성코드로, 비교적 단순한 구현 방식에도 불구하고 파일 관리, 원격 셸, 데이터 전송 및 지속성 확보 기능을 통합적으로 제공하는 RAT 계열 악성코드로 알려져 있습니다.
본 샘플 역시 동일한 통신 구조와 명령 처리 방식, 그리고 내부 함수 구성 패턴을 그대로 포함하고 있습니다.
1차 스피어피싱 공격을 통해 최초 침투에 성공한 위협 행위자는 피해자 단말 내에 장기간 은닉하며 지속적인 접근 권한을 유지한 것으로 확인되었습니다.
잠복 기간 동안 공격자는 감염된 단말에 설치된 카카오톡 PC 버전을 악용하여 추가 악성 파일을 외부로 유포한 정황이 확인되었습니다.
해당 단말에 대한 정밀 포렌식 조사 결과, 시스템 내부에는 다수의 추가 악성코드가 설치되어 동작 중이었으며, 공격자는 지속성(Persistence) 확보를 위해 Windows 시작 프로그램(Startup) 영역을 악용한 것으로 분석되었습니다.
중복 항목을 제외한 결과, 총 2개의 악성 바로가기(LNK) 파일이 아래 시작 프로그램 경로에 등록되어 있었으며, 해당 LNK 파일들은 숨김 속성이 적용된 ProgramData 및 Public 경로 하위 폴더에서 AutoIt 기반 악성 스크립트를 실행하도록 구성되어 있었습니다.
<시작 프로그램 등록 경로>
%APPDATA%\Microsoft\Windows\Start Menu\Programs\Startup
해당 구성은 시스템 로그인 시 자동 실행을 통해 악성코드가 지속적으로 동작하도록 하는 전형적인 지속성 유지 기법으로 사용되었습니다.
또한 시작 프로그램 영역 외에도, 위협 행위자는 탐지를 회피하기 위해 ProgramData 하위 경로에 정상 프로그램으로 위장한 다수의 악성 파일을 은닉하여 실행하고 있었으며, 대표적으로 다음과 같은 파일들이 확인되었습니다.
해당 파일들은 정상 소프트웨어 또는 시스템 구성 요소로 위장한 형태로 배포되며, AutoIt 스크립트 및 실행 파일을 기반으로 동작합니다.
이들은 추가 악성 행위를 수행하기 위한 로더(Loader) 또는 드로퍼(Dropper) 역할을 수행하거나, 후속 페이로드를 메모리 상에서 로딩 및 실행하는 실행 체인(Execution Chain)의 중간 단계 구성 요소로 활용됩니다.
식별된 3개의 AutoIt 스크립트에서는 각각 EndRAT, RftRAT, RemcosRAT 등 상이한 RAT(Remote Access Tool) 계열이 확인되었습니다.
C2 인프라는 핀란드, 일본, 네덜란드 등 복수 국가에 분산된 주소를 활용하는 것으로 분석되었습니다.
이는 탐지 회피 및 인프라 지속성을 고려한 다국적 분산형 C2 운영 전략의 일환으로 판단됩니다.
|
File Name |
Type |
C2 |
|
mmlib.au3 |
EndRAT |
157.180.88[.]26 (FI) |
|
cliconfg.au3 |
RftRAT |
96.62.214[.]5 (JP) |
|
sqlite4.au3 |
RemcosRAT |
178.16.54[.]208 (NL) |
[표 4-1] 악성 AutoIt 스크립트별 유형 및 C2
채증된 3개 파일은 모두 AutoIt 스크립트 확장자(.au3)를 사용하고 있으나, 분석 결과 원본 스크립트 파일이 아닌 컴파일된(Compiled) AutoIt 실행 파일로 확인되었습니다.
Compiled AutoIt 파일의 특성상, 원본 스크립트는 실행 파일 내부에 압축 또는 암호화된 형태로 저장되며, 일반적인 정적 분석만으로는 실제 스크립트 로직을 직접 확인하기 어렵습니다.
따라서 해당 파일의 정확한 기능과 행위 흐름을 파악하기 위해서는 디컴파일 과정을 통해 내부 스크립트를 복원하는 절차가 필요합니다.
디컴파일이 성공적으로 수행될 경우, 실제 AutoIt 코드, 하드코딩된 문자열 정보, 외부 통신 대상(C2) 관련 정보, 추가 페이로드 다운로드 로직, 조건부 실행 및 안티 분석 기법 등 구체적인 악성 행위 여부를 정밀하게 분석할 수 있습니다.
먼저 mmlib.au3 파일은 EndRAT 계열의 변종 스크립트로 분류되었으며, D:\3_Attack Weapon\Autoit\Build\__Poseidon - Manage\client3.3.14.a3x 문자열이 포함된 것이 확인되었습니다.
해당 경로는 Operation Poseidon 보고서에서 소개된 기존 경로와 유사한 구조를 가지나, 기존의 "Poseidon - Attack" 표기 대신 "Poseidon - Manage"로 변경된 점이 식별됩니다.
이는 빌드 환경 또는 내부 프로젝트 명칭의 변경 가능성을 시사하는 단서로 해석될 수 있습니다.
[그림 4-4] EndRAT 로컬 빌드 경로 문자열
분석 대상 EndRAT AutoIt 스크립트에는 위협 행위자가 제어하는 C2 서버와 통신하기 위한 네트워크 설정 정보가 하드코딩되어 있습니다.
스크립트의 전역 변수 영역에서 C2 서버의 IP 주소와 통신 포트가 명시적으로 정의되어 있으며, 감염된 시스템은 해당 정보를 기반으로 외부 서버와의 연결을 시도하는 구조로 구현되어 있습니다.
코드 내에서는 C2 서버 주소가 157.180.88[.]26으로 설정되어 있으며, 통신 포트는 443으로 지정되어 있습니다.
일반적으로 443 포트는 HTTPS 통신에 사용되는 표준 포트로, 이러한 포트를 이용함으로써 정상적인 HTTPS 트래픽과 유사한 형태로 위장하여 네트워크 보안 장비의 탐지를 회피하려는 의도가 있습니다.
또한 스크립트에는 C2 서버와의 통신을 통해 감염 시스템을 원격으로 제어하기 위한 다양한 명령 문자열이 정의되어 있습니다. 코드 내에는 cmd, exit, download, upload, listdir, delete, run 등의 명령이 정의되어 있으며, 이를 통해 위협 행위자는 감염된 시스템에서 명령 프롬프트를 실행하거나 종료할 수 있습니다.
이와 함께 파일을 업로드하거나 다운로드하는 기능이 있으며, 디렉터리 목록을 조회하거나 특정 파일을 삭제하는 기능도 구현되어 있습니다.
또한 외부에서 전달되는 명령에 따라 특정 프로그램을 실행하는 기능도 포함되어 있어, 공격자가 감염된 시스템을 원격에서 지속적으로 제어할 수 있는 구조로 설계되어 있습니다.
[그림 4-5] EndRAT C2 서버 주소
EndRAT 스크립트에는 동일한 악성코드 인스턴스의 중복 실행을 방지하기 위한 Mutex 값도 설정되어 있습니다.
Global\78732E15-D8DD-03A1-7464-CE6398819E701 이름의 전역 Mutex가 생성되도록 구현되어 있으며, 이를 통해 이미 실행 중인 동일한 악성코드 인스턴스가 존재하는지 확인하는 기능이 포함되어 있습니다.
이러한 방식은 하나의 시스템에서 다수의 동일 프로세스가 실행되는 것을 방지하고, 안정적인 C2 통신을 유지하기 위한 목적으로 사용되는 경우가 많습니다.
다음으로 cliconfg.au3 파일은 내부 설정값을 평문 형태로 저장하지 않고, SUB 연산 기반의 반복키 문자열 난독화 기법을 사용하여 주요 문자열 정보를 은닉하고 있습니다.
정적 분석 결과 프로그램 실행 과정에서 특정 디코딩 루틴이 호출되며, 해당 루틴은 메모리에 저장된 인코딩 문자열과 키 값을 이용하여 바이트 단위 반복 연산을 수행하는 구조로 구현되어 있었습니다.
[그림 4-6] RftRAT C2 문자열 디코딩 로직
어셈블리 코드 수준에서 확인된 디코딩 루틴은 반복문 구조를 기반으로 동작하며, 각 바이트에 대해 반복적으로 SUB 연산을 수행하는 방식으로 구현되어 있습니다.
루프 내부에서는 먼저 현재 처리 중인 문자열 인덱스를 기준으로 키 배열의 인덱스를 계산하는 과정이 수행됩니다.
해당 과정은 x86 아키텍처의 div 명령어를 활용하여 구현되어 있으며, 루프 인덱스를 키 길이로 나눈 나머지 값을 키 배열의 인덱스로 사용하도록 설계되어 있습니다.
이후 디코딩 루틴에서는 인코딩된 문자열의 현재 바이트 값을 로드한 뒤, 앞서 계산된 키 배열의 값과 SUB 연산을 수행하는 방식으로 복호화를 진행하고 있습니다.
[그림 4-7] RftRAT C2 디코딩 결과
즉, 인코딩된 바이트 값에서 키 배열의 대응되는 값을 차감하는 방식으로 복호화된 결과가 생성되며, 해당 결과는 별도의 출력 버퍼에 순차적으로 저장되는 구조로 구현되어 있습니다.
실제 연산 과정을 확인하기 위하여 인코딩된 문자열과 키 값을 기반으로 동일한 연산을 수행한 결과, 난독화된 문자열은 반복적인 SUB 연산을 통해 복호화되는 것이 확인되었습니다.
복호화 문자열은 IPv4 주소 형식을 가지는 C2 서버 주소로 사용됩니다. SUB 기반 문자열 난독화 방식은 비교적 단순한 구조를 가지지만, 악성코드 내부의 네트워크 인프라 정보를 정적 분석 단계에서 직접 확인하기 어렵도록 만드는 효과를 가지고 있습니다.
특히 평문 형태의 IP 주소나 URL을 바이너리 내부에 직접 포함하지 않음으로써, 문자열 기반 탐지 또는 시그니처 기반 탐지 기법을 우회하려는 목적을 가진 경량 난독화 기법으로 활용됩니다.
이어서 sqlite4.au3 파일은 내부에 RemcosRAT 바이너리를 은닉하고 있습니다.
[그림 4-8] RemcosRAT 리소스 구조 화면
RemcosRAT은 PE 파일의 리소스 섹션 중 RCData 하위에 존재하는 SETTINGS 리소스에 악성코드의 구성(Configuration) 정보를 저장하는 구조를 가지고 있습니다.
해당 리소스에는 RC4 알고리즘으로 암호화된 설정 데이터가 포함되어 있으며, RC4 Key는 첫 바이트의 크기(0x99)만큼 데이터 블록 내부에 저장된 형태 입니다.
해당 Key 값 이후부터 존재하는 암호화된 데이터를 복호화할 경우 C2 서버 주소 및 포트 정보, Mutex 값, 설치 파일명, 키로깅 로그 파일명 등 악성코드의 주요 동작에 필요한 다양한 설정 정보가 포함되어 있습니다.
이러한 구조는 악성코드의 핵심 설정 정보를 실행 파일 내부에 은닉함으로써 분석을 어렵게 하고, 감염된 시스템과 C2 서버 간의 통신 및 악성 행위를 제어하기 위한 목적으로 사용됩니다.
[그림 4-9] RemcosRAT 구성파일 디코딩 결과 및 C2
지니언스 시큐리티 센터는 그동안 다양한 사이버 위협 인텔리전스(CTI) 분석 보고서를 통해 Konni 캠페인의 활동을 지속적으로 추적하고, 해당 위협 행위자가 수행해 온 주요 사이버 작전의 특징과 사례를 축적해 왔습니다.
이러한 분석 결과는 단일 공격 사례를 넘어 장기간에 걸쳐 관측된 캠페인 단위의 활동을 이해하는 데 중요한 참고 자료로 활용되고 있습니다.
특히 여러 시기에 수행된 공격 사례를 상호 비교하는 교차 분석은 위협 행위자가 반복적으로 사용하는 전술·기술·절차(TTP)의 패턴을 식별하는 데 효과적입니다.
이를 통해 공격 인프라 구성 방식, 악성코드 개발 경향, 사회공학적 접근 방식 등 다양한 요소 간의 연관성을 종합적으로 분석할 수 있으며, 결과적으로 공격 전략의 일관성과 작전 목적을 보다 명확하게 파악할 수 있습니다.
그동안 확인된 주요 Konni 캠페인 사례는 다음과 같습니다.
이처럼 다양한 CTI 분석을 통해 Konni 캠페인의 활동은 지속적으로 식별되고 있으며, 이는 특정 시점의 단발성 공격이 아닌 장기적이고 체계적인 작전 활동의 일부로 이해될 필요가 있습니다.
다시 말해, 개별 침해 사건에 대한 기술적 분석만으로는 해당 위협 행위자의 전체적인 운영 구조와 전략을 충분히 설명하기 어렵습니다.
이러한 맥락에서 위협 귀속(Threat Attribution)에 대한 분석은 Konni 캠페인의 실질적인 위협 수준을 평가하는 데 있어 중요한 분석 요소로 작용합니다.
위협 귀속은 단순히 공격의 배후를 특정하는 과정에 그치지 않고, 공격 인프라의 운영 방식, 반복적으로 사용되는 TTP, 장기간 지속되는 작전 패턴, 그리고 궁극적인 전략적 목표까지 포괄적으로 이해하는 데 도움을 줍니다.
특히 Konni 캠페인과 같이 장기간에 걸쳐 활동하는 국가 배후 위협 행위자의 경우, 여러 공격 사례에서 반복적으로 나타나는 기술적 특징과 운영 패턴을 종합적으로 분석해야만 보다 신뢰도 높은 귀속 판단이 가능합니다.
이러한 분석 과정은 개별 공격에서는 명확하게 드러나지 않았던 작전 구조와 공격 의도를 식별하는 데 중요한 단서를 제공합니다.
또한 위협 귀속 분석은 보안 운영 측면에서도 실질적인 활용 가치를 갖습니다.
특정 위협 행위자의 활동 특성을 이해하면 조직은 보다 정교한 위협 모델링을 수행할 수 있으며, 탐지 규칙의 정확도를 높이고 위협 헌팅 시나리오를 보다 구체적으로 설계할 수 있습니다.
이는 보안 대응 전략을 단기적인 사고 대응 중심에서 벗어나 지속적인 위협 대응 체계로 발전시키는 기반이 됩니다.
따라서 Konni 캠페인에 대한 분석은 개별 공격 이벤트에 대한 단편적인 기술 분석에 머무르기보다, 다양한 시기에 수행된 캠페인과 장기간 축적된 위협 정보를 종합적으로 고려하는 귀속 중심의 분석 관점에서 수행될 필요가 있습니다.
이와 같은 접근 방식은 위협 행위자의 전략적 목표와 장기적인 작전 방향을 이해하는 데 중요한 통찰을 제공하며, 조직이 직면한 위협 환경을 보다 현실적으로 평가하고 대응 우선순위를 설정하는 데에도 의미 있는 기준을 제시합니다.
본 위협 인프라를 분석한 결과, 이번 공격은 카카오톡 메신저를 통한 LNK 악성파일 유포, EndRAT·RftRAT·RemcosRAT 등 복수 RAT 운용, 그리고 유럽권 외부 IP와 연계된 C2 인프라가 하나의 흐름으로 결합된 공격 운영 체계로 판단됩니다.
특히 상관관계도 우측 클러스터에서 확인되는 감염 흐름은 단일 악성코드의 일회성 배포에 그치지 않고, 초기 침투 이후 추가 페이로드를 순차적으로 투입하는 모듈형 공격 방식을 보여줍니다.
[그림 5-1] 위협 인프라 클러스터 상관관계도
주목할 부분은 RftRAT 계열 인프라가 일본 소재 C2 서버 96.62.214[.]5를 매개로 좌측의 과거 Konni 캠페인 축과 연결된다는 점입니다.
해당 지점은 이번에 식별된 공격 인프라와 기존 Konni 계열 인프라 사이에 운영 연속성과 네트워크 자산 재사용 정황이 존재함을 시사합니다.
다시 말해, 우측 클러스터는 이번 활동의 핵심 공격 축에 해당하며, 일본 소재 인프라는 이를 과거 Konni 운영 인프라와 이어주는 상관관계상의 핵심 연결점으로 볼 수 있습니다.
이와 같이 악성 유포 방식, RAT 조합, 외부 인프라 구성, 그리고 일본 C2를 매개로 한 과거 캠페인과의 연결성을 종합적으로 고려할 때, 본 위협은 전술, 인프라, 운영 방식 전반에서 기존 Konni 활동과 높은 수준의 유사성을 보입니다.
따라서 본 위협 활동은 충분한 기술적 연계 근거를 바탕으로 Konni 위협 그룹의 소행으로 판단됩니다.
본 위협은 북한인권 강사 위촉 안내로 위장한 스피어피싱 이메일을 통해 초기 침투를 유도한 뒤, LNK 악성파일 실행을 매개로 원격제어형 악성코드를 설치하였습니다. 이후 장기 잠복, 정보 탈취, 카카오톡 세션 악용을 통한 2차 확산으로 이어지는 다단계 공격 구조를 보입니다.
특히 공격자는 북한 관련 미끼 콘텐츠를 활용해 수신자의 신뢰를 확보한 후, 감염된 피해자의 카카오톡 PC 버전에 비인가 접근하여 친구 목록 일부를 대상으로 악성파일을 재유포하는 방식으로 기존 피해자를 추가 공격의 매개체로 전환하였습니다.
이는 단순 스피어피싱을 넘어, 신뢰 관계 기반 전파와 계정 세션 악용이 결합된 확산형 APT 공격이라는 점에서 위협성이 높습니다.
또한 본 캠페인에서는 ▲EndRAT ▲RftRAT ▲RemcosRAT 등 복수 RAT 계열이 단계적으로 운용되었으며, 외부 C2 인프라와의 연계를 통해 감염 이후 추가 페이로드를 지속적으로 투입하는 양상이 확인되었습니다.
이러한 특성을 고려할 때, 본 위협은 단일 악성파일 차단이나 IoC 중심 대응만으로는 충분하지 않으며, 초기 침투부터 지속성, 정보 수집, 메신저 악용, 재확산까지 위협 행위자의 TTP 전반을 고려한 다계층 방어 전략이 요구됩니다.
북한, 인권, 안보, 공공기관 안내 등 사회·정치적 관심 주제를 활용한 스피어피싱 이메일에 대해 첨부파일 실행을 최소화하는 정책을 적용해야 합니다.
압축파일 내부에 포함된 LNK, 스크립트, 실행형 파일과 같이 다단계 실행이 가능한 포맷은 우선 점검 또는 격리 대상으로 지정하고, 업무상 필요성이 낮은 경우 수신 제한 정책을 검토할 필요가 있습니다.
사용자에게는 문서 아이콘으로 위장한 바로가기 파일, 공문 또는 안내문 형식을 가장한 첨부파일, 발신자 신뢰를 악용한 파일 실행 유도 사례에 대한 경계 교육을 강화해야 합니다.
본 위협은 LNK 실행 이후 정상 프로세스를 악용하거나 추가 페이로드를 순차적으로 적재하는 구조를 보이므로, 정적 파일 진단만으로는 변종 탐지 한계가 존재합니다.
따라서 EDR을 중심으로 LNK 실행 후 비정상 프로세스 생성, 스크립트 호출, 예약 작업 등록, 시작 프로그램 등록, 외부 C2 통신, 메모리 상 악성 모듈 적재와 같은 행위를 연계 분석할 수 있어야 합니다.
특히 단일 이벤트가 아니라, 초기 실행 이후 일정 시간 경과 후 발생하는 지속성 행위와 정보 수집 행위를 함께 상관 분석할 수 있도록 탐지 정책을 고도화하는 것이 중요합니다.
위협 행위자는 감염 이후 장기간 단말에 은닉하며 내부 문서, 사용자 정보, 시스템 환경 정보 등 다양한 데이터를 수집한 것으로 분석됩니다.
이에 따라 중요 문서 접근 이력, 비정상 파일 수집 행위, 대량 압축 또는 외부 전송 시도, 비업무 시간대 정보 접근 패턴 등을 탐지할 수 있는 행위 기반 모니터링 체계를 강화해야 합니다.
또한 장기 잠복형 위협을 전제로, 단발성 악성코드 탐지 여부뿐 아니라 감염 이후의 후속 행위까지 추적할 수 있는 포렌식 및 위협 헌팅 체계를 병행할 필요가 있습니다.
이번 캠페인의 핵심 특징 중 하나는 피해자의 카카오톡 PC 세션을 악용한 재확산입니다.
이는 기존 피해자의 신뢰 관계를 이용하여 추가 감염을 유도하는 방식으로, 일반적인 외부 유입 차단 정책만으로는 대응이 어렵습니다.
따라서 조직은 메신저를 통한 파일 송수신 행위에 대해 보안 가이드를 마련하고, 비정상적인 대량 전송, 반복 전송, 사용자 평소 행태와 다른 파일 공유 패턴을 탐지할 수 있도록 대응 체계를 보완해야 합니다.
또한 중요 인력 및 고위험 부서 단말에 대해서는 메신저 세션 보호, 인증 상태 점검, 저장 자격증명 및 세션 아티팩트 보호 여부를 포함한 보안 점검이 필요합니다.
이와 같은 위협에 효과적으로 대응하기 위해서는 정적 진단 중심의 대응을 넘어, 행위 기반 탐지와 실행 단계 차단이 가능한 엔드포인트 보안 체계가 필요합니다.
'Genian Insights E'는 다양한 위협 대응을 위해 단일 에이전트 기반으로 구성된 통합 엔드포인트 보안 플랫폼입니다.
실시간 행위 기반 탐지 및 위협 대응을 수행하는 EDR(Endpoint Detection and Response), 시그니처 기반으로 악성코드를 탐지·치료하는 Anti-Virus, 파일 암호화 행위의 실시간 차단과 중요 문서의 자동 백업·복원을 지원하는 Anti-Ransom 기능을 제공합니다.
또한 USB·외장하드 등 저장매체 사용을 통제하여 내부 정보 유출을 방지하는 Device Control 기능도 함께 제공합니다.
그리고 IoC(침해지표), ML(머신러닝), XBA(행위 기반 엔진) 를 복합적으로 활용하여 신속하게 탐지하고, APT 및 랜섬웨어와 같은 위협을 실행 단계에서 차단할 수 있는 대응 체계를 제공합니다.
따라서 본 보고서에서 확인된 LNK 기반 초기 침투, 복수 RAT 운용, 장기 잠복, 정보 탈취, 메신저 세션 악용형 2차 확산과 같은 공격 흐름에 대해서도, 개별 IoC 차단을 넘어 실제 행위 중심으로 탐지·대응할 수 있는 방어 수단으로 활용될 수 있습니다.
[그림 6-1] EDR 기반 초기 유입 흐름 파악
Genian Insights E의 Attack Storyline 기능을 활용하면, 북한인권 강사 위촉 안내로 위장한 스피어피싱 이메일을 통해 유입된 압축파일이 다운로드된 이후, 내부에 포함된 LNK 악성파일 실행, 후속 원격제어형 악성코드 적재, 그리고 지속성 확보 행위로 이어지는 공격 흐름을 단계별로 가시화할 수 있습니다.
[그림 6-2] PowerShell 명령어 식별 화면
특히 압축파일 내부의 LNK 바로가기 파일 실행과 그 이후 발생하는 PowerShell 실행 명령, 비정상 프로세스 생성, 추가 페이로드 호출, 외부 C2 통신 시도와 같은 행위는 EDR의 행위 기반 탐지 엔진(XBA) 을 통해 정상 사용자 행위와 구분되는 이상 징후로 식별할 수 있습니다.
이를 통해 위협행위자는 LNK 실행 이후 복수 RAT을 단계적으로 전개하더라도, 실제 공격 흐름이 본격적으로 확장되기 전 초기 단계에서 위협을 탐지하고 대응할 수 있습니다.
[그림 6-3] C2 통신 흐름 화면
EDR 관리자는 Attack Storyline을 기반으로 다음과 같은 대응 조치를 수행할 수 있습니다.
이와 같은 기능은 개별 이벤트 단위의 탐지를 넘어, 스피어피싱 기반 초기 침투 → LNK 실행 → RAT 감염 → 장기 잠복 → 메신저 악용형 2차 확산으로 이어지는 전체 공격 흐름을 맥락 기반으로 파악할 수 있게 해주며, 분석 효율성과 대응 속도를 함께 높이는 데 효과적입니다.
148405ff05bf15a6a053e4e7c1795d40
2e1b0ac49313873a0e0b982c591a5264
7dc50e8af0070e544bff5299405cd3b9
61f65bd593ea0e52ac0dfdc6bc9cd73a
461ade40b800ae80a40985594e1ac236
01022facb38cf60b052e65a682f4a127
3288c284561055044c489567fd630ac2
drfeysal[.]com
185.21.14[.]249
157.180.88[.]26
96.62.214[.]5
178.16.54[.]208