차례
- 개요
- 주요 목표
- 영향을 받는 산업
- 지리적 초점.
- 감염 사슬.
- 초기 발견
- 미끼 문서를 살펴보다
- 기술 분석
- 1단계 – 악성 LNK 스크립트
- 2단계 – 가짜 다국어 능력 속임수: 모두 하나로.
- 3단계 – 최종 탑재물: LOTUSHARVEST
- 인프라 및 속성.
- 맺음말
- 시크라이트 보호.
- IOC
- 미터 공격.
- 작성자
개요
SEQRITE Labs APT 팀은 전 세계적으로 위협을 추적해 왔으며, 최근 가짜 이력서 형태의 다국어 문서를 사용하여 베트남 IT 부서와 HR 채용 담당자를 표적으로 삼는 캠페인을 발견했습니다. 다른 연구자들 동일한 활동을 본 적도 있습니다. 캠페인 이름을 하노이 도둑 작전 최종 페이로드와 그 탈취 지향 기능, 그리고 이력 내 지리적 위치가 베트남 수도 하노이 근처이기 때문입니다. 위협 행위자는 악의적인 의도를 숨기기 위해 주로 유사 다국어 페이로드라고 부르는 파일 유형을 사용합니다.
이 블로그에서는 캠페인의 동작과 이 다단계 캠페인의 기술적 분석을 시작으로 전체 감염 경로를 설명합니다. 첫 번째 단계에서는 악성 스피어 피싱 이메일 첨부 파일인 ZIP 파일을 볼 수 있습니다. 이 ZIP 파일에는 두 개의 파일이 포함되어 있는데, 하나는 미끼이자 2단계 페이로드 역할을 하는 문서이고, 다른 하나는 초기 반응을 유발하는 LNK 파일입니다. 이후 최종 단계 페이로드인 LOTUSHARVEST라는 C++ DLL 임플랜트를 살펴보겠습니다. 이 임플랜트는 대상 컴퓨터에서 DLL 사이드로딩을 통해 실행됩니다. 마지막으로, 캠페인의 인프라 및 기타 세부 사항에 대해 중점적으로 살펴보겠습니다.
주요 목표
영향을 받는 산업
- 정보 기술 기업
- 채용 및 HR 회사
지리적 초점
- Vietnam
감염 사슬

초기 발견
처음에 우리 팀은 2025년 11월 3일에 Le-Xuan-Son_CV.zip이라는 악성 스피어 피싱 ZIP 파일을 발견했는데, 이 파일은 우리의 개인 원격 측정과 유명한 공개 맬웨어 코퍼스에서 모두 나타났습니다. VirusTotalZIP 아카이브에는 두 개의 파일이 포함되어 있습니다.

첫 번째 파일은 CV.pdf.lnk라는 LNK 파일입니다. 두 번째 파일은 offsec-certified-professional.png라는 이름의 유사 다국어 페이로드로, 미끼 역할을 하며 .bat(batch) 스크립트 페이로드의 컨테이너 역할을 합니다. 이제 미끼-유인물을 먼저 살펴보겠습니다.
미끼 문서를 살펴보다
일반 PDF 파서 또는 문서 뷰어를 통해 PDF를 실행하면 "라는 사람의 이력서가 포함되어 있음을 알 수 있습니다.레 쑤언 손".

저희 조사 시점에는 캠페인 배포 목적으로 제작된 것으로 추정되는 미끼의 내용을 살펴본 결과, 해당 사람은 소프트웨어 개발자 직책에 지원하는 것으로 보입니다. 하지만 앞서 확인했던 파일명은 정보 보안 도메인에 속하는 offsec-certified-professional로, 피해자와 관련된 우려가 제기됩니다. ZIP 파일 내 이력서는 소프트웨어 엔지니어링 전문가의 이력서와 관련이 있기 때문입니다.
글쎄요, 피해자의 신뢰를 얻고 피해자의 신뢰를 확립하고 사회 공학적 동기를 강화하기 위해 위협 행위자는 2021년에 생성된 계정의 GitHub URL을 첨부했으며 이력서에는 지원자의 위치가 다음과 같이 나열되어 있습니다. 하노이, 베트남.

이력서에 언급된 GitHub 프로필을 검토한 결과, 해당 계정에는 업데이트나 활동이 없는 것으로 나타났습니다. 이는 이 계정이 특별히 이 피싱 캠페인을 위해 설정되었을 가능성이 높다는 것을 의미합니다.
다음 섹션에서는 LNK 파일이 폴리글롯 페이로드를 실행하는 방식과 그 결과로 생성된 악성 DLL 파일이 작동하는 방식을 살펴보겠습니다.
기술 분석
분석은 세 부분으로 나뉩니다. 첫째, 악성 바로가기(.LNK) 파일을 분석합니다. 둘째, 두 번째 단계인 유사 다국어 공격(pseudo-polyglot)을 분석하고, 바로가기(.LNK) 파일에 존재하는 악성 명령줄이 어떻게 이 유사 다국어 공격을 실행하는 독특한 방법을 활용하는지 살펴봅니다. 셋째, 마지막으로 LOTUSHARVEST라는 DLL 임플랜트에 집중합니다. 마지막으로 인프라 등 캠페인의 세부적인 내용을 살펴보겠습니다.
1단계 – 악성 LNK 스크립트
ZIP 파일을 추출하면 가장 먼저 실행되는 문서는 LNK 파일인데, 이 파일은 두 번째 스테이저 의사 다국어 페이로드를 실행하는 역할을 합니다.

이제 LNK 세부 정보를 살펴보면 명령줄 인수에서 흥미로운 매개변수를 발견할 수 있습니다. 즉, -s라는 플래그를 사용하여 의사 다국어 파일을 실행하기 위해 ftp.exe를 사용하는 것입니다. LNK 파일을 실행하면 화면에 이력서가 표시되는 반면, 다음 부분에서 다룰 배치 스크립트는 LOLbin ftp.exe를 사용하여 실행됩니다.
글쎄요, 이것을 LOLBIN 학대라고 부르는 건 그다지 간단한 TTP 지향적 행동이 아닐 겁니다. 다음 섹션에서 설명하겠습니다.
2단계 – 가짜 다국어 능력 속임수: 모두 하나로.

처음에는 일반 텍스트 파일이라고 하는 파일 유형을 여러 파일 파서에 의해 파싱되어 하나로 판별되는 반면, PDF 파일 유형 파서는 이를 PDF 파일로 분류하여 처리하고 생성합니다. 따라서 혼동을 피하기 위해 일반적인 헥스 편집기를 사용하여 추론했습니다.

헥스 편집기를 살펴본 결과, PDF Magic 헤더가 존재하기 전에 실행되는 악성 스크립트 세트가 포함되어 있음을 확인했습니다. 따라서 해당 스크립트를 추출했습니다.


이제, 여기에 약간 흥미롭지만 간단한 부분이 있는데, 이는 다음에 의해 발견되었습니다. 보안 연구원 몇 년 전, ftp.exe는 FTP 서버에 접속하여 다운로드나 유출 등의 명령을 실행하는 데 사용되었지만, 이번 캠페인에서는 FTP 바이너리가 로컬 컴퓨터에서 ! 기호가 있는 명령을 호출하는 것을 확인했습니다. 따라서 ftp.exe 바이너리는 대상 컴퓨터에서 위의 명령이나 스크립트를 실행했습니다.
이제 스크립트를 살펴보면 기본적으로 DeviceCredentialDeployment.exe로 알려진 LOLBIN을 처음에 남용합니다. 숨기는 데 사용 cmd.exe 바이너리. 또한 스크립트의 명령을 살펴보면 certutil.exe 바이너리를 열거한 후 lala.exe로 이름을 변경합니다. 그런 다음 배치 스크립트는 offsec-certified-professional.png 파일의 이름을 CV-Nguyen-Van-A.pdf로 변경하고 파일 탐색기를 실행하여 피해자에게 가짜 PDF 파일을 표시합니다.

다음으로, 스크립트는 의사 다국어 파일 내에서 콘텐츠에 포함된 페이로드를 찾기 위해 Base64로 인코딩된 데이터 블롭을 검색합니다. 그런 다음 이 인코딩된 데이터를 추출하고 디코딩한 후 MsCtfMonitor.dll이라는 DLL 파일을 생성하여 다음 위치에 저장합니다. C : \ ProgramData LOTUSHARVEST 임플란트로 추적하는 디렉토리입니다.

스크립트는 System32 폴더에서 원본 ctfmon.exe 파일을 DLL 파일과 같은 위치에 복사한 다음 실행합니다. 디코딩된 DLL 파일의 이름은 MsCtfMonitor.dll이며, 이는 다음에서 가져온 라이브러리 파일입니다. ctfmon.exe 바이너리DLL 검색 순서에 따라 Windows는 먼저 실행 파일과 동일한 폴더를 확인하고 거기에서 해당 DLL을 로드하므로 DLL 사이드로딩이 발생합니다.
다음 섹션에서는 캠페인의 마지막 페이로드인 LOTUSHARVEST라는 악성 DLL 임플란트의 작동 방식을 살펴보겠습니다.
3단계 – 최종 탑재물: LOTUSHARVEST

처음에 파일 분석 도구를 사용하여 확인했는데, 평소처럼 64비트 PE 바이너리인 것으로 나타났습니다. DLL을 분석한 결과, 해당 페이로드가 정보 탈취 기능을 하는 것으로 확인되었습니다. 이 블로그의 다음 섹션에서는 해당 기능을 자세히 살펴보겠습니다.
![]()
음, 이 임플란트의 핵심 기능과 특징을 살펴보기 전에, 흥미로운 PDB 경로도 발견했습니다. TA에서는 이를 DEV-LOADER로 분류했지만, 저희는 이를 LOTUSHARVESTER로 추적하고 있습니다.
분석 방지 검사

임플란트는 일부 분석 방지 방법을 사용했는데, 예를 들어 프로그램이 가상 환경에서 실행되는지 확인하고, 해당 조건을 감지하면 강제로 충돌을 일으키는 등의 작업을 수행했습니다. 이 외에도 다음과 같은 작업이 많이 있습니다.
프로세서 기능이 있는지 여부: 특정 CPU 기능을 확인하고, 발견되면 최신 CPU, VM 또는 보호된 환경에서 실행을 회피하기 위한 분석 방지 조치로 즉시 빠른 실패 종료를 트리거합니다.
디버거 존재 여부: 사용자 모드 디버거가 연결되어 있는지 확인하는 매우 일반적인 기술입니다. 디버거가 감지되면 프로그램이 충돌합니다.
가짜 예외: 이 프로그램은 가짜 예외와 가짜 CPU 상태를 생성하여 가짜 충돌을 일으키고, 코드가 실행 중인 것처럼 "가짜" 위치(RIP/RSP)를 변경한 후 UnhandledExceptionFilter()로 전송합니다. 이는 디버거를 속이고 호출 스택을 엉망으로 만들며 프로그램의 실제 작업을 숨깁니다.
이제 브라우저 기반 자격 증명을 수집하는 데 중점을 둔 임플란트 부분으로 넘어가겠습니다.
브라우저 기록 및 저장된 자격 증명 수집

이제 DoMsCtfMonitor라는 다른 내보내기 파일에 특정 기능을 수행하는 악성 코드가 포함되어 있음을 확인했습니다.

악성 함수를 분석하는 과정에서 두 가지 핵심 루틴을 발견했습니다. 하나는 자격 증명을 수집하는 루틴이고, 다른 하나는 수집된 데이터를 유출하는 루틴입니다. 이 DLL 임플랜트는 주로 정보 탈취 도구로 작동하기 때문에, 이 섹션에서 살펴보겠지만 주요 목적은 민감한 브라우저 관련 정보를 추출하는 것입니다.



보시다시피 이 임플란트는 Google Chrome, Microsoft Edge와 같은 브라우저를 타겟으로 하며, 처음에는 파일의 내용을 열고 읽은 다음, 파일을 수집한 후 GetComputerNameA 및 GetUserNameA와 같은 함수에서 반환된 피해자의 컴퓨터 이름과 사용자 이름을 첨부한 다음 데이터 유출을 시작하여 위협 행위자 측에 고유한 항목을 생성합니다.

위의 코드 조각에서 우리는 맬웨어가 브라우저의 SQLite를 여는 것을 볼 수 있습니다. 연혁 데이터베이스에서 가장 최근에 방문한 URL 20개를 추출하는 쿼리를 실행하고, 결과를 URL, 페이지 제목, 방문 횟수, 마지막 방문 시간을 포함하는 JSON 배열로 포맷합니다.

그런 다음 열립니다 로그인 데이터 데이터베이스에서 최대 5개의 저장된 로그인 자격 증명을 읽고, 클래식 CryptUnprotectData API를 사용하여 각 비밀번호를 해독하려고 시도합니다.
데이터 유출

다음 함수에서 해당 임플란트가 Windows WinINet API를 사용하여 데이터를 유출하는 것을 확인했습니다. HTTP 세션을 열고 공격자가 제어하는 서버 eol4hkm8mfoeevs.m.pipedream.net에 443번 포트를 통해 연결합니다. 연결을 설정한 후, /service 엔드포인트에 POST 요청을 보내고 탈취한 브라우저 정보를 JSON 페이로드로 전송합니다.
다음 부분에서는 캠페인과 관련된 인프라 세부 사항을 살펴보겠습니다.
인프라 및 속성
분석 과정에서 페이로드가 여러 외부 호스팅 엔드포인트와 통신하는 것을 확인했습니다. 확인된 도메인 중 하나는 무작위로 생성된 하위 도메인인 uuhlswlx[.]requestrepo[.]com이고, 다른 도메인인 eol4hkm8mfoeevs[.]m[.]pipedream[.]net 역시 무작위로 생성된 하위 도메인으로, 주로 수집된 자격 증명을 유출하는 데 사용되었습니다. 따라서 이 글에서는 이 악성코드와 관련된 인프라 세부 정보를 간략하게 요약했습니다.

이제 매우 기본적인 OSINT 검색을 사용하여 TA가 가짜 이력서에 사용한 연락처 번호 +84912345678이 하노이 시내의 좋은 매장에 속한다는 사실을 발견했습니다. 하지만 여러 위치에 잘못되거나 가짜 연락처 번호가 입력되는 경우가 많아 구체적인 정보를 얻을 수는 없습니다.

귀속 중심의 세부 사항에 초점을 맞추려면 전술, 기법 및 절차의 재사용, 인프라 재사용, 피해자 연구 등 여러 매개변수에 대한 구체적인 증거가 필요합니다. 앞서 2025년 3월경에 살펴본 바와 같이, 중국 국가가 지원하는 위협 집단이 베트남을 표적으로 삼았다 가짜 CV 기반 미끼의 경우 미끼의 이름이 CV-Nguyen-Lam-San-Xuat-Noi-Dung-Compress.pdf인 것이 특징이며, 같은 캠페인에서도 미끼의 이름이 `CV-Nguyen-Van-A`인 것을 보았습니다. 비슷한 명명법이 사용되었는데, 이는 두 캠페인을 동일한 위협 실체의 유사한 클러스터에 속하는 것으로 보기에는 매우 신뢰성이 부족합니다.
글쎄요, 두 캠페인 모두에서 흔하면서도 간단한 중복이 있는데, 임플란트를 전달하기 위해 무작위 DGA 지향 도메인을 사용하고 두 캠페인 모두에서 명령 및 제어(C2) 서버를 사용했다는 점입니다. 이는 두 캠페인을 모두 공격 대상으로 분류하기에는 신뢰도가 매우 낮다는 것을 의미합니다. 마지막으로 두 캠페인 모두에서 가장 유사하지만, 소프트웨어와 채용 산업을 표적으로 삼는 등 피해자 유형을 비슷하게 사용한다는 점입니다.
이제 연구자로서 우리는 우리의 편견이 중복뿐만 아니라 독특하고 유사하지 않은 아티팩트에도 관련이 있어야 한다고 믿습니다. 이 경우 위협 행위자가 정보 도용기처럼 기능하는 LOTUSHARVEST 임플란트를 배포했다는 것을 알 수 있습니다. 중국 국가가 후원하는 이 악성코드는 DLL 사이드로딩을 남용하지만 PlugX와 같은 잘 알려진 임플란트를 배포하고 더 많은 것을 배포한다는 우려가 제기됩니다. 따라서 도용기를 고려하는 것은 상충되고 고유한 측정 기준이 될 것입니다.
따라서 이전에 목격한 위협 캠페인과 TTP 및 기타 여러 가지의 중복 및 차이점에 초점을 맞춘 중간 수준의 확신도를 바탕으로, 우리는 이 위협 실체가 중국에서 유래했다고 판단하기로 했습니다. 하지만 이를 국가가 지원하는 것으로 분류하려면 현재로서는 다른 중요한 지표가 필요합니다.
맺음말
SEQRITE APT-Team은 하노이 도둑 작전(Operation Hanoi Thief)을 베트남의 IT 및 채용 전문가를 표적으로 삼은 스피어 피싱 캠페인으로 식별했습니다. 가짜 이력서와 바로가기 파일을 사용하여 피해자를 속인 다음, 신뢰할 수 있는 Windows 도구를 악용하여 숨겨진 스크립트를 실행합니다. LOTUSHARVEST라는 최종 페이로드는 브라우저 자격 증명과 사용 기록을 훔쳐 공격자 서버로 전송하는 DLL 임플란트입니다. 이러한 전술과 이전 활동과의 중복으로 볼 때 중국 출신의 위협 행위자가 있을 가능성이 있지만, 국가 차원의 지원 여부는 확인되지 않았습니다.
Seqrite 보호
- 트로이 목마.50086.SL
- 트로이 목마.A18678918
- 어플리케이션
IOC
| 해시(SHA-256) | 악성코드 유형 |
| 1beb8fb1b6283dc7fffedcc2f058836d895d92b2fb2c37d982714af648994fed | 압축 파일 |
| 77373ee9869b492de0db2462efd5d3eff910b227e53d238fae16ad011826388a | LNK 파일 |
| 693ea9f0837c9e0c0413da6198b6316a6ca6dfd9f4d3db71664d2270a65bcf38 | 의사 다국어 페이로드(PDF, 배치) |
| 48e18db10bf9fa0033affaed849f053bd20c59b32b71855d1cc72f613d0cac4b | DLL 파일 |
MITER ATT & CK
| 술책 | 기술 ID | 기술명 |
| 초기 액세스 | T1566.001 | 스피어피싱 첨부 파일 |
| 자원 개발 | T1587.001 | 개발 페이로드: 맬웨어 |
| 실행 | T1204.002 | 사용자 실행: 악성 파일 |
| T1218 | 서명된 바이너리 프록시 실행 | |
| 방어 회피 | T1036.007 | 위장: 오해의 소지가 있는 파일 확장자 |
| T1140 | 파일 난독화 해제 | |
| 권한 에스컬레이션 | T1574.002 | DLL 사이드 로딩 |
| 발견 | T1082 | 시스템 정보 검색 |
| T1012 | 브라우저 데이터에 대한 파일 시스템 검색 | |
| 자격 증명 액세스 | T1555.003 | 암호 저장소의 자격 증명 |
| 수집 | T1005 | 로컬 시스템의 데이터 |
| 여과 | T1041 | C2 채널을 통한 유출 |
| 명령 및 제어 | T1071.001 | 웹 프로토콜: HTTPS |
작성자
- 수바지트 싱하
- 프리야 파텔



