COMMENTS (0)
댓글은 익명으로 작성되며, 삭제 비밀번호를 설정하면 본인만 삭제할 수 있습니다. 비밀번호를 설정하지 않은 댓글은 누구나 삭제할 수 있습니다.
베트남 연계 캠페인 AccountDumpling이 구글 AppSheet 봇 자동화를 악용해 SPF·DKIM·DMARC가 모두 통과된 피싱 메일로 페이스북 광고주 약 3만 명을 털어낸 사건의 구조를 정리한다.
댓글은 익명으로 작성되며, 삭제 비밀번호를 설정하면 본인만 삭제할 수 있습니다. 비밀번호를 설정하지 않은 댓글은 누구나 삭제할 수 있습니다.
2026년 4월 29일, 이스라엘 보안 업체 Guardio Labs는 페이스북 광고 계정을 노린 한 캠페인을 공개했다. 분석 시점에 활성화된 텔레그램 봇 4개에서 추출한 피해자 기록만 약 3만 건. 흥미로운 점은 발신 인프라였다.
피싱 메일은 모두 noreply@appsheet.com에서 출발했고, 구글의 정식 인증 인프라인 SPF·DKIM·DMARC가 모두 통과 상태였다. 스푸핑도, 도용한 구글 계정도 없었다. 그저 노코드 자동화 플랫폼인 구글 AppSheet가 설계된 그대로 동작하고 있었을 뿐이다.
Guardio가 'AccountDumpling'이라 이름 붙인 이 베트남 연계 캠페인은, "메일이 인증됐다"는 표시가 더는 신뢰의 증거가 아닐 수 있음을 보여 준다.
AccountDumpling은 한 명이 만들어 낸 단일 키트가 아니었다. Guardio는 4개의 인프라 클러스터를 구분했다.
| 클러스터 | 호스팅 | 미끼 |
|---|---|---|
| A | Netlify 다수 서브도메인 | 가짜 페이스북 헬프 센터·이의 신청 페이지 |
| B | Vercel 다수 도메인 | "블루 배지 / 광고주 보상" 안내 |
| C | Google Drive PDF (Canva 생성) | 광고 정책 위반 안내 PDF |
| D | AppSheet 발송 메일 | Meta·WhatsApp·Apple·Adobe 가짜 채용 제안 |
A·B·C는 코드 지문, 텔레그램 봇, 베트남어 주석이 서로 겹쳐 동일 운영 그룹으로 추적됐다. D는 미끼 유형이 다르고 코드 지문이 비어, Guardio는 직접 운영인지 제휴 관계인지 단정하지 않았다.
C 클러스터의 PDF 한 건에서 작성자 메타데이터가 그대로 남아 있었다. /Author: PHẠM TÀI TÂN. 같은 이름의 도메인 phamtaitan.vn은 페이스북 계정 "잠금 해제·보안" 서비스를 공개적으로 광고하고 있었고, 자매 도메인 dichvufbgiare.com은 베트남어로 "저렴한 페이스북 서비스"를 뜻한다. 코드 주석은 베트남어로 적혀 있었고, 텔레그램 봇 이름에 쓰인 Tích Xanh는 베트남어로 "블루 체크"를 의미한다.
피싱 방어의 1차 관문은 보통 발신 도메인 인증이다. 메일이 진짜 그 회사 서버에서 왔는지 검증하는 절차다.
해당 검증은 세 단계로 구성된다.
| 단계 | 역할 |
|---|---|
| SPF | 메일 발신 IP가 도메인이 허가한 서버인지 확인 |
| DKIM | 메일 본문이 도중에 변조되지 않았는지 서명으로 검증 |
| DMARC | 위 두 결과를 정책으로 강제하고 실패 시 처리 방식 결정 |
운영자가 노린 것은 이 3중 검증을 뚫는 게 아니라, 정식으로 통과시키는 경로였다.
AppSheet는 구글 워크스페이스에 포함된 노코드 앱 빌더다. 사용자는 시각적 편집기로 'Bot'이라 불리는 워크플로를 짜고, 그 안에 "Send an email" 액션을 끼워 넣을 수 있다. 공식 문서에 따르면 이 액션의 기본 발신 주소는 noreply@appsheet.com이며, 수신자가 여러 명일 때는 amp-noreply@appsheet.com이 사용된다. 두 발신 주소 모두 appsheet.bounces.google.com을 거치는 정식 구글 인프라에 묶여 있다.
공격자가 한 일은 단순했다. 자동화 봇에 수신자 명단을 넣고, "광고 계정에 정책 위반이 있으니 24시간 내 이의를 제기하라"는 본문을 등록한 뒤 실행 버튼을 눌렀을 뿐이다. 그 순간부터 메일은 구글의 정식 인프라가 발송하는 합법적 트래픽이 됐다. Guardio의 표현이 압축적이다.
"스푸핑도, 도용한 구글 계정도 필요 없었다. 그저 서비스가 설계된 그대로 동작하고 있었을 뿐이다."
미끼는 광고주에게 가장 익숙한 통보였다. "귀하의 페이지가 커뮤니티 가이드라인을 위반했습니다. 24시간 내 이의 신청 링크에서 본인 확인 절차를 진행하지 않으면 계정이 영구 정지됩니다." 메일에 박힌 링크는 보통 단축 도메인을 한 번 거쳐 Netlify 또는 Vercel에 호스팅된 페이지로 이어졌다.
Netlify에 배포된 A 클러스터 페이지는 페이스북 헬프 센터의 골격을 그대로 베껴 만들었다. 사용자가 비밀번호와 2단계 인증 코드를 입력하면 곧이어 정부 발급 신분증 사진까지 요구했다. 검증을 가장한 'KYC 절차'였다.
Vercel에 올라간 B 클러스터는 다른 결을 택했다. "축하합니다, 귀하의 계정이 블루 배지 후보로 선정됐습니다." 보상 페이지에는 reCAPTCHA가 깔려 있었고, 그 뒤로는 카운트다운 타이머가 돌았다. 표시되지 않는 폭의 공백 문자(hair-space)와 키릴 동형자가 곳곳에 박혀 있어, 자동 분석기가 보내는 헤드리스 브라우저는 콘텐츠를 정확히 파싱하기 어려웠다.
C 클러스터의 PDF는 한 단계 더 나아갔다. PDF 안의 주석을 누르면 Socket.IO 기반의 운영자 패널로 연결됐고, 피해자 화면은 html2canvas로 캡처되어 운영자에게 실시간 전달됐다. 피해자가 입력한 자격 증명은 그 자리에서 운영자가 진짜 페이스북에 시도해 보고, 2단계 인증이 막히면 즉시 추가 화면을 띄워 코드를 받아 냈다. 정적 피싱이 아니라 라이브 운영이었다.
Guardio가 공개한 30,000은 4개 텔레그램 봇이 보유한 활성 피해자 레코드의 합계다.
조사 도중에도 새 레코드가 계속 들어왔고, Guardio는 "현재 활성 인프라에서 확인한 3만 건보다 실제 총 피해는 훨씬 많을 것"이라고 적었다. 노출이 가장 큰 Bot-1 표본을 기준으로 분포를 보면, 미국이 약 68.6%(1,988건/2,898건)로 단연 우세했고, 이탈리아·캐나다·필리핀·인도·스페인·호주·영국·브라질·멕시코가 그 뒤를 이었다. 분포 국가는 50개국을 넘었다.
타깃은 일반 사용자가 아니라 페이스북 비즈니스 계정 운영자였다. 운영자의 광고 결제 수단이 그대로 카드 정보로 이어지고, 페이지 자체가 다음 단계 사기의 인프라가 되기 때문이다.
탈취된 계정은 사라지지 않았다. phamtaitan.vn에 올라간 광고 문구는 노골적이었다. 페이스북 계정 "잠금 해제" 서비스를 사고팔겠다는 공개 시장이었다. Guardio가 공식 가격표를 입수하지는 못했지만, 운영 구조 자체가 폐쇄 루프였다.
피해자가 잃은 계정을 되찾으려고 검색하면, 같은 운영자의 "복구 대행" 페이지가 나타났다. 같은 그룹이 한 번은 가해자로, 한 번은 구원자로 시장에 등장하는 구조다. Guardio는 이 구조를 "criminal-commercial loop"이라 불렀다.
피싱 방어는 오랫동안 발신 도메인 인증을 1차 척도로 삼아 왔다. 메일 헤더의 SPF가 pass인지, DKIM 서명이 깨지지 않았는지, DMARC 정책이 정렬됐는지. 보안 인식 교육에서도 "수상한 발신 주소를 보면 의심하라"는 말이 단골이었다.
AccountDumpling이 흔든 것은 그 다음 가정이다. 발신 주소가 도메인 인증을 통과하더라도, 그 주소가 SaaS 자동화 플랫폼의 공용 발신함일 수 있다. 공격자는 도메인 자체를 위조할 필요 없이, 그 도메인을 합법적으로 사용할 자격을 SaaS 가입 한 번으로 얻어 낸다. Guardio의 결론이 이 지점을 정확히 짚는다.
"완전히 인증된 메일이 증명하는 건 그 플랫폼이 그것을 발송했다는 사실뿐이지, 메일 내용이 신뢰할 만하다는 게 아니다."
같은 패턴은 AppSheet 한 곳의 문제가 아니다. 노코드 자동화 도구가 늘어날수록, 정식 인증을 통과하면서 대규모 발송이 가능한 신뢰 인프라가 곳곳에 쌓인다. 메일을 받은 사람 입장에서 발신 도메인이 익숙한 구글 자회사라는 점은 오히려 의심을 누른다. 30,000이라는 숫자는 그 가정 위에서 나왔다.
AI 활용 안내 이 글은 AI(Claude)의 도움을 받아 작성되었습니다. 인용된 통계와 사례는 참고 자료에 명시된 출처에 근거하며, 설명을 위한 일부 표현은 각색되었습니다.
면책 조항 본 글은 보안 인식 제고를 위한 교육 목적으로 작성되었습니다. 언급된 공격 기법을 실제로 시도하는 행위는 「정보통신망법」, 「형법」 등에 따라 처벌받을 수 있으며, 본 블로그는 이에 대한 법적 책임을 지지 않습니다.