요약
2026년 10월 1일 오전, 기업의 대표 문의 메일 주소로 택배 파손 클레임을 사칭한 피싱 메일 두 통이 6분 간격으로 들어왔습니다. 제목은 각각 "수령 상품 파손 조치 진행 요청", "수령 상품 파손 교환 및 환불 요청"입니다. 대표 문의 메일을 받는 담당자라면 업무상 열어볼 가능성이 높은 내용입니다.
그림 1. 실제 수신된 피싱 메일 (메일 1)
그림 2. 실제 수신된 피싱 메일 (메일 2)
본문은 영상과 사진의 용량이 커서 링크로 전달한다며 개봉 영상과 파손 사진을 확인해 달라고 요청합니다. 반품·교환 비용을 언급해 처리 부담을 주고, 빠른 처리를 정중하게 부탁해 확인을 서두르게 합니다.
발신 주소와 링크도 정상 메일처럼 보였습니다. 발신 주소는 Google AppSheet의 실제 발송 주소인 noreply@appsheet.com이었고, 메일은 AppSheet 발송 인프라를 거쳐 SPF·DKIM·DMARC 인증을 모두 통과했습니다. 본문 링크는 Google의 단축 링크 서비스 주소인 share.google로 시작했습니다.
링크는 외부 다운로드 페이지로 이어졌고, 그곳에서 악성 ZIP 파일이 내려왔습니다. ZIP 안에는 정상 서명된 Microsoft Word 실행파일과 가짜 msvcr100.dll이 함께 들어 있습니다. Word 실행파일을 실행하면 같은 폴더의 가짜 DLL이 함께 로드되는 DLL 사이드로딩 방식입니다.
가짜 DLL은 로더입니다. 로더는 그 자체로 최종 악성 기능을 수행하지 않고, 함께 들어 있는 암호화된 악성코드 본체를 풀어 실행하는 역할을 하는 악성 프로그램입니다. 이번 분석에서는 로더의 실행까지 확인했고, 암호화 본체의 실행은 확인하지 못했습니다.
로그프레소는 피싱 메일 판정 후 유포 도메인·URL과 악성 파일 해시를 로그프레소 CTI 피드로 배포했습니다. 과정은 4장에 정리했습니다.
| 항목 | 내용 |
|---|---|
| 분석일 | 2026-10-01 |
| 판정 | 악성 (피싱 메일을 통한 로더 유포) |
| 위험도 | 높음 |
| 유입 경로 | Google AppSheet 발송 메일 → 기업 대표 문의 메일 주소 |
| 발송 인증 | SPF·DKIM·DMARC 모두 pass (정상 발송 플랫폼 악용) |
| 확인된 행위 | 단축 링크를 통한 외부 다운로드 페이지 연결, ZIP 유포, 정상 Word 실행파일을 이용한 DLL 사이드로딩 |
| 미확인 영역 | 악성코드 상세 동작 (암호화 본체 실행, 악성코드 계열, C2 통신, 정보 탈취, 지속성 확보) |
| 안티 바이러스 탐지 | 가짜 DLL 4 / 76, 암호화 본체 0 / 61, 유포 ZIP 미등록 (VirusTotal, 2026-10-01 기준) |
1. 개요
본 보고서는 확인한 사실과 추정을 구분해 씁니다. "확인"은 메일·파일·샌드박스에서 직접 본 내용, "추정"은 정황을 근거로 한 판단, "미확인"은 추가 분석이 필요한 내용입니다.
본 보고서에서 쓰는 이름은 다음과 같습니다.
- 가짜 DLL: ZIP에 들어 있던 서명 없는 msvcr100.dll. 정상 Microsoft 런타임 DLL과 이름만 같은 로더입니다.
- 암호화 본체: 한글 이름의 .dat 파일(암호화된 RAR v5) 안에 들어 있을 것으로 추정되는 최종 악성코드입니다.
- 단축 링크: 메일 본문의 share.google 링크입니다.
- 자동 분석 시스템: 로그프레소 SMS·EML 자동 분석 시스템입니다.
- CTI 피드: 로그프레소 CTI 서비스로 배포하는 IOC 피드입니다. 로그프레소 CTI 서비스를 구독하는 고객 환경에는 배포 즉시 실시간으로 적용됩니다.
판정 근거 요약
| # | 근거 | 확인 결과 | 상세 위치 |
|---|---|---|---|
| 1 | 발신 플랫폼과 회신 주소 불일치 | 발신은 AppSheet(noreply@appsheet.com), 회신 주소(Reply-To)는 개인 Gmail | 2.1 |
| 2 | 정상 발송 인증 통과 | SPF·DKIM·DMARC 모두 pass | 2.1 |
| 3 | 단축 링크로 목적지 은폐 | share.google 뒤에 외부 다운로드 페이지 | 2.2 |
| 4 | 접속 환경에 따른 응답 차이 | 공개 스캔 기록에는 안내 화면, 샌드박스에는 ZIP 제공 | 2.3 |
| 5 | DLL 사이드로딩 | 정상 Word 실행파일이 서명 없는 가짜 DLL을 로드 | 2.4, 3.2 |
| 6 | 악성코드 상세 동작 미확인 | 로더 실행까지만 확인. 암호화 본체 실행, C2 통신, 지속성 확보는 미확인 | 3.3 |
이번 사례의 특징
- 메일 인증 통과가 안전을 보장하지 않습니다. 공격자는 인증을 위조하지 않고 AppSheet의 정상 발송 인프라를 이용했습니다.
- 단계마다 정상 서비스와 정상 파일이 쓰였습니다. AppSheet 발송 메일, Google 단축 링크, 정상 서명된 Word 실행파일이 차례로 의심을 낮췄습니다.
- 분석으로 확인한 범위는 로더 실행까지입니다. 암호화 본체가 실제로 어떤 악성 행위를 하는지는 아직 알 수 없습니다.
2. 공격 분석: 메일 발송 → 리다이렉트 → 다운로드 → 실행
AppSheet 발송 메일 → share.google 단축 링크 → 외부 다운로드 페이지 → ZIP 다운로드 → 정상 Word 실행파일 실행 → 가짜 DLL 로드 → 암호화 본체 해제·실행 (추정)
마지막 단계인 암호화 본체의 해제와 실행은 동적 분석에서 확인하지 못했습니다.
2.1 메일 발송: 인증 우회가 아닌 정상 통과
메일은 실제 AppSheet 발송 인프라를 거쳐 전달됐습니다. AppSheet는 Google의 노코드 앱 제작 도구이며, 앱이 보내는 알림 메일을 noreply@appsheet.com 명의로 발송합니다. 공격자는 AppSheet 앱의 알림 기능으로 피싱 메일을 보내면서 표시 이름과 회신 주소를 직접 지정했습니다.
| 인증 | 결과 | 의미 |
|---|---|---|
| SPF | pass | 허용된 Google 메일 서버에서 발송 |
| DKIM | pass | AppSheet 도메인의 정상 서명 확인 |
| DMARC | pass | 발신 도메인과 인증 도메인이 일치함을 확인 |
그림 3. 자동 분석 시스템의 인증 판단 (SPF·DKIM·DMARC 모두 통과. 정상 인증을 통과해 인증 기반 필터를 피할 위험이 높다는 뜻에서 "우회 위험도 HIGH"로 표시)
이는 인증 체계를 뚫었다는 뜻이 아닙니다. SPF·DKIM·DMARC는 발신 도메인이 진짜인지 확인할 뿐, 메일 내용이 정상인지까지 보증하지 않습니다. 정상 발송 플랫폼을 악용하면 인증을 통과한 피싱 메일을 만들 수 있다는 것을 보여 주는 사례입니다.
Google 공식 문서에 따르면 AppSheet 자동화 메일은 noreply@appsheet.com에서 발송되며, 표시 이름과 회신 주소(Reply-To)를 설정할 수 있습니다. 2026년 5월 4일 이후 만든 AppSheet 계정은 자동화 메일을 로그인한 계정과 같은 도메인으로만 보낼 수 있습니다(Gmail 계정은 본인 주소로만). 그 전에 만든 계정은 이 제한을 받지 않습니다. 이번 메일은 공격자와 무관한 도메인으로 왔으므로, 제한 이전에 만든 계정이 쓰인 것으로 보입니다.
- AppSheet 자동화 메일 발송 안내
- AppSheet 자동화 메일 발송 제한
2.2 리다이렉트: 단축 링크 뒤에 숨은 다운로드 페이지
메일 본문 링크는 아래 순서로 이동했습니다.
hxxps[://]share[.]google/ARmvwNeclbuHCuEm4
→ (302) hxxps[://]www[.]google[.]com/share.google?q=ARmvwNeclbuHCuEm4
→ (301) hxxps[://]videostroge[.]alleasing[.]co[.]nz/download.php/Unboxing_Evidence_For_Dispute_Mp4?f=...
share.google 단축 링크는 바로 다운로드 페이지로 가지 않고, google.com의 공유 링크 처리 주소를 한 번 거친 뒤 외부 다운로드 페이지로 이동합니다. 처음 두 단계가 모두 Google 도메인이어서 URL 평판 검사에 걸리지 않습니다.
그림 4. 자동 분석 시스템이 추출한 IOC와 단축 링크의 최종 목적지
자동 분석 시스템은 리다이렉트 서비스가 제공하는 응답을 확인해 최종 목적지를 식별했습니다. 이후 격리된 샌드박스 환경에서 별도로 링크를 실행해 실제 배포된 ZIP 파일을 확보했습니다.
2.3 다운로드: 접속 환경에 따라 다르게 응답하는 다운로드 페이지
urlscan.io(누구나 URL을 스캔하고 결과를 공개하는 서비스)에 남은 같은 캠페인의 과거 스캔 기록 7건(2026-05-25~08-28)에서는 다운로드 페이지가 Google 첫 화면이나 "다른 기기를 사용하라"는 안내 화면을 보여 줬습니다. 반면 물리 Windows 환경으로 만들어진 샌드박스에서는 악성코드가 다운로드됐습니다. 따라서 접속 환경에 따라 응답을 달리하는 클로킹 로직이 있음을 확인했습니다.
다만 어떤 조건으로 접속 환경을 가려내는지(운영체제, 브라우저 정보, 접속 지역, 리퍼러, 쿠키 등)는 확인하지 못했습니다. 특정 개인을 골라 파일을 준 것이 아니라, 특정 조건을 충족한 접속 환경에 파일을 준 것으로 봐야 합니다.
내려온 ZIP의 이름은 Unboxing_Evidence_For_Dispute_Mp4_b0ce5491.zip입니다. 안에는 아래 핵심 파일 5개와 미끼 문서 586개가 들어 있습니다. 파일별 크기와 평판은 3.1에 정리했습니다.
| 파일 | 실제 정체 |
|---|---|
| Unboxing_Evidence_For_Dispute_Mp4.exe | 이름을 바꾼 정상 Microsoft Word 실행파일(WINWORD.EXE) |
| msvcr100.dll | 가짜 DLL (로더) |
| 한글 이름의 .dat 파일 | 파일명까지 암호화된 RAR v5. 암호화 본체가 들어 있을 것으로 추정 |
| .png로 위장한 파일 | 정상 RAR 명령줄 도구. 암호화 본체를 푸는 데 쓰이는 것으로 추정 |
| .pdf로 위장한 파일 | PDF가 아닌 고엔트로피 데이터. 용도 미확인 |
2.4 실행: 정상 Word 실행파일을 이용한 DLL 사이드로딩
이번 공격에 쓰인 WINWORD.EXE는 실행될 때 같은 폴더의 msvcr100.dll을 불러옵니다. 공격자는 이 동작을 이용해 정상 실행파일을 실행하면서 악성 DLL을 로딩했습니다. 사용자가 영상 파일처럼 위장된 exe를 실행하면 정상 Word 프로세스 안에서 가짜 DLL의 코드가 실행됩니다.
이 방식은 MITRE ATT&CK의 DLL Side-Loading(T1574.002)에 해당합니다.
가짜 DLL 파일의 전체 크기는 126 MB이지만, 실제 코드 영역은 약 424 KB에 불과했습니다. 나머지 약 125.7 MB는 무작위에 가까운 데이터를 덧붙인 것입니다. 일부 보안 제품의 검사 파일 크기 제한을 넘기려는 의도로 추정되지만, 이것이 낮은 탐지율의 직접 원인인지는 확인하지 못했습니다.
가짜 DLL이 실행된 뒤의 동작과 확인 범위는 3.2와 3.3에 정리했습니다.
3. 기술 분석 근거와 한계
3.1 배포된 파일의 구성과 평판 정보
유포 ZIP에는 정상 파일, 서명 없는 가짜 DLL, 암호화 본체로 추정되는 파일, 대량의 미끼 문서가 함께 들어 있습니다. VirusTotal 탐지율이 낮다는 것만으로 정상이라고 판단해서는 안 됩니다. VirusTotal 수치는 2026-10-01 기준입니다.
| 파일 구성 | 크기와 수량 | 식별, 평판 및 해석 |
|---|---|---|
| 유포 ZIP | 631개 항목 | VirusTotal 미등록. 다운로드마다 파일명 끝부분과 ZIP 해시가 달라질 수 있음 |
| 이름을 바꾼 WINWORD.EXE | 1,922,664 bytes | 정상 서명, 0 / 51. DLL 사이드로딩에 쓰인 정상 파일로, 해시 단독 차단 대상에서 제외 |
| 가짜 DLL (msvcr100.dll) | 126,175,232 bytes | 서명 없음, 4 / 76. ESET Win32/Agent.AILQ, AhnLab Trojan/Win.Generic.C5936651, Bkav W32.Malware.D3D914E0, McAfee ti!A1C11A34495F |
| 가짜 DLL의 PE 구조 | 코드 영역 약 424 KB(.text 159 KB), 덧붙은 데이터 약 125.7 MB | 덧붙은 데이터의 엔트로피 8.0. 비표준 .xnam 섹션, 정상 DLL과 같은 내보내기 함수명으로 위장. 크기 부풀리기 정황 |
| 한글 이름의 .dat | 10,204,878 bytes | 암호화된 RAR v5, 0 / 61. 파일명까지 암호화돼 내용 미확인. 암호화 본체가 들어 있을 것으로 추정 |
| .png 위장 파일 | 836,304 bytes | 정상 64비트 RAR 명령줄 도구, 0 / 71. 압축 해제용으로 추정. 해시 단독 차단 대상에서 제외 |
| .pdf 위장 파일 | 1,897 bytes | PDF 아님, 엔트로피 7.9, VirusTotal 미등록. RAR 암호나 설정값일 가능성. 용도 미확인 |
| docx·xlsx·pptx 미끼 문서 | 586개 (실제 내용 26종 반복) | 의미 없는 한글 채우기 이름. 자료 묶음처럼 보이게 하고 압축파일 크기를 늘리는 구성 |
3.2 동적 분석에서 확인한 행위
JoeSandbox와 VirusTotal에서 확인한 결과를 분석 대상별로 구분했습니다. 실제 유포되는 ZIP을 확인하고, 해당 파일로 WINWORD.EXE를 통한 DLL 사이드로딩과 가짜 DLL 코드가 호출한 Windows API를 확인했습니다.
WINWORD.EXE가 시작할 때 원래 부르는 API(IsDebuggerPresent, GetTickCount 등)는 Word의 정상 동작이므로 제외했습니다. 아래 API 호출은 exe 프로세스 안에 따로 로드된 모듈의 메모리 주소 대역(0x6EDDxxxx~0x6EDExxxx)에서 나온 것이며, 본 보고서는 이 모듈을 사이드로딩된 가짜 DLL로 판단했습니다.
| 분석 | 대상 | 결과와 해석 |
|---|---|---|
| JoeSandbox #1980364 | 메일 링크 (물리 Windows 10 환경) | 56 / 100 malicious, phis.evad. 브라우저가 Blob 방식으로 ZIP을 내려받고 압축을 푸는 것을 확인 |
| JoeSandbox #1980367 | EML 파일 | 48 / 100 malicious. 피싱 메일로 판정 |
| JoeSandbox #1980375 | 덧붙은 데이터를 제거한 재현본 | 8 / 100. WINWORD.EXE 실행과 가짜 DLL 로드 확인. 가짜 DLL 주소 대역에서 API 호출 56건 확인. RAR 도구와 암호화 본체는 실행되지 않음 |
| 파일 읽기 | 가짜 DLL | CreateFileW → GetFileSizeEx → ReadFile 순으로 파일을 열어 크기를 확인하고 읽음. 대상은 덧붙은 데이터 또는 .dat 파일로 추정 |
| 실행 중 API 찾기 | 가짜 DLL | LoadLibraryExW, GetModuleHandleExW, GetProcAddress로 필요한 함수를 실행 중에 찾아 씀. 정적 분석에서 기능을 숨기는 방식 |
| 메모리 보호 속성 변경 | 가짜 DLL | VirtualProtect 호출. 복호화한 코드를 실행 가능하게 바꾸는 단계로 추정 |
| 실행 환경 확인 후 종료 | 가짜 DLL | PEB(프로세스 환경 블록) 직접 조회, 관리자 권한·UAC 상태 확인 뒤 ExitProcess 호출. 실행 조건을 충족하지 못했을 가능성 |
| VirusTotal CAPE 샌드박스 | 가짜 DLL 단독 실행 | 권한·UAC 상태 확인과 의심 경로 DLL 로드까지만 확인 |
| 분석 회피 시그니처 | JoeSandbox 탐지 결과 | 대기 반복, 디버거 확인, 사용자 활동 감지 정황. 정상 WINWORD.EXE의 자체 호출과 구분해 해석해야 함 |
3.3 판정 범위와 분석의 한계
이번 분석으로 확정할 수 있는 범위는 로더 유포와 DLL 사이드로딩 실행까지입니다. 암호화 본체의 동작과 최종 목적은 확인하지 못했습니다.
| 구분 | 근거 | 판정 |
|---|---|---|
| 확인 | ZIP 다운로드와 압축 해제, WINWORD.EXE 실행, 같은 폴더의 가짜 DLL 로드 | 로더 유포와 DLL 사이드로딩 실행 |
| 확인 | CreateFileW·GetFileSizeEx·ReadFile, 실행 중 API 찾기, VirtualProtect, PEB 조회, ExitProcess | 가짜 DLL 코드의 동작 |
| 추정 | 가짜 DLL이 압축 해제 정보와 암호를 확보한 뒤 RAR 도구로 .dat 파일을 해제 | 실행 흐름 가설. 동적 분석에서는 확인하지 못함 |
| 미확인 | RAR 도구와 암호화 본체 실행, C2 통신, 정보 탈취, 추가 파일 생성, 지속성 확보 | 악성코드 계열과 목적 미확인 |
| 후속 분석 필요 | 가짜 DLL 정적 분석으로 해제 대상 파일명, RAR 암호 생성 방식, .pdf 위장 파일의 용도 확인 | 암호화 본체를 복호화한 뒤 코드·설정·C2 검증 필요 |
재현 분석에서는 가짜 DLL이 실행됐지만 RAR 도구를 실행하기 직전에 프로세스가 종료됐습니다. 원인은 세 가지 중 하나로 보이며 확정하지 못했습니다.
- 샌드박스가 압축을 풀면서 한글 파일명이 손상돼 .dat 파일을 찾지 못했을 가능성
- 실행 환경 판별 조건을 충족하지 못했을 가능성
- 재현을 위해 제거한 덧붙은 데이터에 의존했을 가능성
따라서 본 보고서는 로더의 유포와 실행까지 확인한 분석입니다. 악성코드의 계열과 목적까지 규명한 분석은 아닙니다.
3.4 연관 캠페인 판단
도메인 등록 정보, 전달 경로, 미끼 파일과 도구의 재사용 정황을 비교했습니다. 여러 단서가 연관 가능성을 높이지만, 공격 주체나 악성코드 계열을 확정할 근거는 아직 부족합니다.
| 단서 | 확인 내용 | 판단 |
|---|---|---|
| 도메인 재등록 | thinkingcap[.]co[.]nz 2025-10-13 22:42 UTC, alleasing[.]co[.]nz 22:54 UTC. 같은 등록기관, 같은 Cloudflare 네임서버 | 12분 간격 재등록은 연관 인프라의 단서이지만 동일 공격자의 근거는 아님 |
| VirusTotal 도메인 조회 | 탐지 0 / 91, 재등록 기준 도메인 나이 352일 | 탐지율이 낮고 도메인이 오래됐다고 안전한 것은 아님 |
| urlscan.io 과거 기록 | 2026-05-25~08-28, 7건. zfile·cloud 하위 도메인에서 Google 첫 화면 또는 다른 기기 사용 안내 화면 표시 | 유포 기간이 길었고, 접속 환경에 따라 응답을 달리했음을 뒷받침 |
| 같은 도구 재사용 | 같은 WINWORD.EXE·RAR 도구와 한글 채우기 파일명이 Item_Condition_Verification_mp4.exe, Order_Document_For_Review.exe, 이탈리아어 Controllo_Documenti_Societari_2026, 대만 DM_Audit_Evidence_Summary_TW2026에서도 발견됨 | 여러 나라 대상 유포에 쓰인 공통 도구 묶음일 가능성 |
| 다른 미끼와 인프라 | hxxps[://]dub[.]sh/monotypethailand → Monotype-License_Violation_Evidence_2026.rar, dropbox[.]thinkingcap[.]co[.]nz | 미끼 주제를 넓히고 인프라를 재사용했을 가능성 |
| 여러 단계의 단축 링크 | tr[.]ee → goo[.]su → cloud[.]alleasing[.]co[.]nz/share.php | 최종 유포지를 숨기는 공통 전달 방식 |
같은 등록기관과 네임서버, 같은 도구의 재사용만으로 동일 공격자라고 단정할 수 없습니다. 동일 캠페인인지 확정하려면 가짜 DLL의 코드·설정, 다운로드 페이지의 고유 코드와 클로킹 조건, 압축 구조와 암호 생성 방식, 인증서·계정 재사용, 암호화 본체와 C2의 일치 여부를 더 확인해야 합니다.
현재 단계에서는 유사한 패키지 구조와 인프라를 사용하는 연관 가능성 사례로 분류합니다. 특정 공격 그룹이나 악성코드 계열로 판단하는 것은 보류합니다.
4. 로그프레소의 탐지·대응 과정
대응은 두 단계로 진행했습니다. 먼저 자동 분석 시스템이 약 20초 만에 피싱 여부와 조사 대상을 좁혔습니다. 이어서 정밀 분석으로 실제 악성 행위를 확인하고, 확인한 URL·파일 해시 등을 로그프레소 CTI 피드로 배포했습니다.
4.1 자동 분석: 약 20초 만에 피싱 판정과 조사 대상 확보
자동 분석 시스템은 두 메일을 각각 17.8초, 16.2초 만에 PHISHING(신뢰도 0.85)으로 판정했습니다. 이 과정에서 EML을 다음과 같이 처리했습니다.
- 발신·회신·반송 주소와 SPF·DKIM·DMARC 결과 분석
- 본문·HTML·헤더의 URL, 도메인, IP, 첨부파일 해시 추출
- Google 등 리다이렉트 서비스에 질의해 최종 목적지 확인
- 화이트리스트와 로그프레소 CTI·외부 평판 정보 대조
- 분석 근거를 포함한 AI 판정 생성
- AI가 인용한 IOC를 원문과 다시 대조해 불일치 경고
그 결과 자동 분석 시스템은 정상 인증 뒤에 숨은 회신 주소(개인 Gmail)와, 단축 링크 뒤에 있던 외부 다운로드 도메인을 찾아냈습니다.
그림 5. EML 분석 이력 (이번 피싱 메일 2건이 모두 PHISHING으로 판정됨)
그림 6. EML 자동 분석 결과 (판정, 신뢰도, 공격 기법, 판정 근거)
4.2 정밀 분석과 CTI 피드 배포: 첫 수신 후 약 2시간 43분 만에 배포 완료
자동 분석 시스템이 확보한 목적지와 IOC를 바탕으로, 격리된 샌드박스에서 링크를 실행해 실제 ZIP 유포와 DLL 사이드로딩을 확인했습니다. 유포 도메인·URL은 샌드박스 결과를 기다리지 않고 먼저 로그프레소 CTI 피드로 배포했고, 파일 해시는 분석이 끝난 직후 배포했습니다.
| 시각 (KST) | 경과 (첫 수신 기준) | 대응 내용 |
|---|---|---|
| 10:49 / 10:55 | - | 피싱 메일 2건 수신 |
| 수신 직후 | 약 20초 | 자동 분석으로 PHISHING 판정, 최종 목적지·회신 주소 추출 |
| 12:44 | 약 1시간 55분 | 유포 도메인과 URL을 로그프레소 CTI 피드로 배포 |
| 13:20 | 약 2시간 31분 | 샌드박스 및 파일 분석 완료, 실제 ZIP 유포 확인 |
| 13:32 | 약 2시간 43분 | 유포 ZIP·가짜 DLL·.dat 파일 해시를 로그프레소 CTI 피드로 배포 |
| 13:38 | 약 2시간 49분 | 가짜 DLL과 .dat 파일을 VirusTotal에 최초 제출 |
로그프레소 CTI 서비스를 구독하는 고객 환경에는 CTI 피드가 실시간으로 적용됩니다. 이번 건의 유포 도메인·URL과 파일 해시도 위 표의 배포 시점부터 적용됐습니다.
자동 분석의 가치는 모든 악성 행위를 20초 안에 밝혀냈다는 데 있지 않습니다. 사람이 헤더와 링크를 일일이 조사하지 않아도 피싱 가능성, 실제 목적지, 조사할 IOC를 바로 확보해 CTI 피드 배포와 정밀 분석으로 넘어갈 수 있었다는 데 있습니다.
5. 조직에서 확인할 탐지 포인트와 대응 방법
이런 공격에 대응하려면 발신 정보, 링크, 파일 실행 행위를 함께 봐야 합니다.
5.1 보안 담당자가 확인할 탐지 포인트
| 탐지 포인트 | 설명 |
|---|---|
| AppSheet 발신 + 외부 회신 주소 + 단축 링크 | 정상 플랫폼을 악용한 메일을 발신 주소 하나가 아닌 여러 조건의 조합으로 탐지 |
| 단축 링크의 최종 목적지 분석 | share.google, tr.ee(Linktree의 단축 링크) 등 표시 주소 뒤의 외부 목적지를 따로 평판 조회 |
| 사용자 쓰기 경로에서 실행되는 Word 실행파일 | OriginalFileName이 WINWORD.EXE인 서명 파일이 Downloads·Temp·압축 해제 경로에서 실행되는지 확인 |
| 사용자 경로의 서명 없는 msvcr100.dll | 정상 서명된 프로세스가 같은 폴더의 서명 없는 DLL을 로드하는 행위 탐지 |
| 비정상적으로 큰 DLL과 대량의 덧붙은 데이터 | 실제 코드보다 덧붙은 데이터(overlay)가 대부분인 PE 파일 확인 |
| 확장자와 파일 시그니처 불일치 | .png·.pdf로 보이지만 MZ 헤더를 가진 실행파일 탐지 |
| 압축 해제 직후 실행되는 RAR 도구 | 사용자 경로에서 .dat 파일을 해제하는 rar 계열 프로세스 확인 |
5.2 분석가의 우선 헌팅 순서
- 메일 로그: AppSheet 발신 주소, 외부 Gmail 회신 주소, 단축 링크가 함께 나타난 메일을 검색합니다.
- 프록시·DNS: share.google 접속 뒤 alleasing[.]co[.]nz 하위 도메인으로 이어진 기록을 확인합니다.
- EDR: Downloads·Temp·압축 해제 경로에서 실행된 WINWORD.EXE와, 같은 폴더의 서명 없는 msvcr100.dll 로드를 확인합니다.
- 후속 확인: 유포 ZIP·가짜 DLL·.dat 파일 해시와 실행 전후의 프로세스·파일 생성 기록을 조사합니다.
- 예외 처리: 부록의 "차단 시 주의할 점"을 따릅니다.
5.3 사용자 및 조직 대응
| 상황 | 대응 방법 |
|---|---|
| 메일만 받은 경우 | 링크를 누르거나 회신하지 말고, 삭제하기 전에 보안 담당자에게 전달합니다. 보안 담당자는 같은 제목·회신 주소·링크의 메일이 다른 수신자에게도 왔는지 확인합니다. |
| 파일을 내려받았지만 실행하지 않은 경우 | 파일을 열거나 압축을 풀지 말고, 파일 위치와 수신 시각을 보안 담당자에게 알립니다. 격리나 삭제는 조직의 절차를 따릅니다. |
| exe를 실행한 경우 | 즉시 네트워크에서 분리하고, 전원을 끄거나 파일을 지우지 않은 상태로 신고합니다. EDR·포렌식 조사 뒤 계정 보호 조치와 PC 재설치 여부를 정합니다. |
6. 마치며
이번 공격은 메일 인증을 위조하거나 정상 파일을 변조하지 않았습니다. 공격자는 정상 발송 플랫폼, Google 단축 링크, 정상 서명 실행파일을 이어 붙여 단계마다 신뢰를 악용했습니다.
따라서 개별 IOC를 차단하는 것만으로는 부족합니다. 발신 주소와 회신 주소의 관계, 단축 링크의 최종 목적지, 실행파일의 경로, 서명된 프로세스가 불러오는 DLL을 함께 봐야 합니다.
로그프레소 CTI는 의심 메일(EML)과 SMS·메신저 화면을 자동 분석해 공격 징후와 IOC를 추출하고, 정밀 분석과 차단으로 이어질 조사 대상을 빠르게 좁힙니다. 받은 메일이나 파일이 이번 사례와 비슷한지 확인이 필요하거나, 5.1의 탐지 포인트를 조직 환경에 적용하려면 로그프레소에 문의해 주십시오.
7. 분석 정보
| 항목 | 내용 |
|---|---|
| 분석 주체 | 로그프레소 CTI |
| 분석일 | 2026-10-01 |
| 1차 분석 | 로그프레소 SMS·EML 자동 분석 시스템 |
| 동적 분석 | JoeSandbox Cloud (물리 Windows 10 환경, #1980364·#1980367·#1980375), VirusTotal CAPE |
| 평판·인프라 조회 | VirusTotal, urlscan.io, .nz WHOIS, 로그프레소 CTI |
| VirusTotal 조회 시점 | 2026-10-01 |
| 샘플 제출 | 가짜 DLL·.dat 파일 VirusTotal 최초 등록 (2026-10-01) |
| 공개본 처리 | 수신 측 개인 식별 정보 제거 |
그림 7. 자동 분석 시스템의 VirusTotal 도메인 조회 (탐지 0 / 91, 재등록 기준 도메인 나이 352일)
본 보고서는 로더의 유포와 실행까지 확인한 결과입니다. 암호화 본체는 복호화하지 못했으므로 악성코드의 계열, C2, 최종 목적은 다루지 않습니다.
본 보고서는 추가 피해 예방을 목적으로 공개합니다.
부록. 침해지표(IOC)
차단 시 주의할 점입니다.
- IP로 차단하지 않습니다. 관련 IP(104.21.72.122, 172.67.184.28, 172.67.166.128, 104.21.58.247)는 Cloudflare 공용 IP여서 무관한 정상 사이트가 함께 차단됩니다. 도메인 단위로 차단합니다.
- noreply@appsheet.com은 정상 AppSheet 발송 주소이므로 단독으로 차단하지 않습니다.
- 정상 WINWORD.EXE와 RAR 명령줄 도구는 해시로 차단하지 않습니다(A-3). 해시를 차단하면 정상 업무 환경에서 오탐이 생깁니다. 경로, 실행 관계, 함께 로드된 서명 없는 DLL을 묶어 탐지합니다.
- 유포 ZIP은 다운로드마다 파일명 끝부분이 바뀔 수 있어, ZIP 해시도 수신자마다 다를 수 있습니다.
- 아래 URL은 위협 헌팅과 사후 추적에만 쓰고 브라우저로 접속하지 않습니다.
A-1. 네트워크
| 유형 | 값 | 비고 |
|---|---|---|
| 도메인 | videostroge[.]alleasing[.]co[.]nz | 이번 사례의 다운로드 페이지. "storage"의 오기로 보이나 철자 그대로가 IOC |
| 도메인 | zfile[.]alleasing[.]co[.]nz | 과거 다운로드 페이지 |
| 도메인 | cloud[.]alleasing[.]co[.]nz | 과거 클로킹 페이지 |
| 도메인 | alleasing[.]co[.]nz | 상위 도메인 |
| 도메인 | dropbox[.]thinkingcap[.]co[.]nz | 연관 가능성 인프라 |
| 도메인 | thinkingcap[.]co[.]nz | 연관 가능성 상위 도메인 |
| URL | hxxps[://]share[.]google/ARmvwNeclbuHCuEm4 | 메일 1 본문 링크 |
| URL | hxxps[://]share[.]google/9910Pn8vgZjpFrlA0 | 메일 2 본문 링크 |
| URL | hxxps[://]videostroge[.]alleasing[.]co[.]nz/download.php/Unboxing_Evidence_For_Dispute_Mp4?f=70e906e6347bd53139b90e7da09ccc88&shem=aimgspe | 메일 1 최종 목적지 |
| URL | hxxps[://]videostroge[.]alleasing[.]co[.]nz/download.php/Product_Damage_Documentation_Mp4?f=6b972f1ef5c8848ea91a1488a5b2143a&shem=aimgspe | 메일 2 최종 목적지 |
A-2. 파일 해시
유포 ZIP. Unboxing_Evidence_For_Dispute_Mp4_b0ce5491.zip
MD5 4eb0dd3694f6a09b195f1a0f60f28b48
SHA1 a0b5998db179954e875c49fea19109fb5462bc16
SHA256 b3a1dc63148a3370f1ce0000016453335ded6a9de669d7091d71ba99600204fa
가짜 DLL. msvcr100.dll, 126,175,232 bytes
MD5 71c7e67695cdd321556323cea21cf8fc
SHA1 2727e0823256d48b595ac9d7a257b2d3a4e93494
SHA256 a1c11a34495f6888abaf63e2a6315e0c09f39aa306ce8f4cee143b7efddc0bc7
암호화 본체 추정 파일. 한글 이름의 .dat (암호화된 RAR v5)
SHA256 76441c005084de023503fa9ab09fbd590ae212f41e51b0deb311f68e60c5b4df
A-3. 차단 금지 정상 파일
공격에 악용됐지만 정상 파일입니다. 해시 단독 차단 대상에서 제외합니다.
| 파일 | SHA256 | 정체 |
|---|---|---|
| Unboxing_Evidence_For_Dispute_Mp4.exe | 3d46e95284f93bbb76b3b7e1bf0e1b2d51e8a9411c2b6e649112f22f92de63c2 | 정상 Microsoft WINWORD.EXE |
| .png 위장 파일 | d6e72df68ac53eb50e9f161dd1ece98fb36c7174c2d3d581db83faac0c921599 | 정상 RAR 명령줄 도구 |
A-4. 발신 정보
| 유형 | 메일 1 | 메일 2 |
|---|---|---|
| 제목 | 수령 상품 파손 조치 진행 요청 | 수령 상품 파손 교환 및 환불 요청 |
| 발신 주소 | noreply@appsheet[.]com | noreply@appsheet[.]com |
| 표시 이름 | SendForce | 서연 |
| 회신 주소 (Reply-To) | m0505722711@gmail[.]com | m0505507426@gmail[.]com |
| EML SHA256 | 33f247d14224117166012f47b68a925a8b565783699dd76d123fd40e313dabaa | 606bc316725052e73480908654431ed9d814905b52723195a203b08965979f61 |