공격자는 어떻게 디지털 분석 도구를 무기화하는가?
Mandiant
* 해당 블로그의 원문은 2024년 8월 30일 Google Cloud 블로그(영문)에 게재되었습니다.
작성자: Adrian McCabe, Ryan Tomcik, Stephen Clement
소개
디지털 분석 도구는 현대 사이버 공간이라는 광활한 영역의 필수 구성 요소입니다. 트래픽 로드 밸런서를 관리하는 시스템 관리자부터 브랜드의 가장 큰 팬층에 관련 콘텐츠를 제공하기 위해 노력하는 마케팅 담당자 및 광고주에 이르기까지 링크 단축기, 위치 추적기, CAPTCHA 및 디지털 광고 플랫폼과 같은 도구는 정보를 누구에게나 보편적으로 접근 가능하고 유용하게 만드는 데 각자의 역할을 합니다.
하지만 이러한 도구들이 좋은 목적으로 사용될 수 있는 것처럼, 악의적인 목적으로도 사용될 수 있습니다. Mandiant와 Google Cloud 연구원들은 위협 행위자들이 탐지를 회피하고 악성 캠페인의 효과를 증폭시키기 위해 디지털 분석 및 광고 도구를 교묘하게 재활용하는 것을 목격했습니다.
이 블로그 게시물에서는 위협 행위자의 플레이북을 심층적으로 살펴보고 공격자가 악성 데이터 분석("멀널리틱스(malnalytics)") 기능을 위협 캠페인에 추가하기 위해 이러한 도구를 어떻게 무기화하는지 보여줍니다. 우리는 이러한 전략의 놀라운 효과를 폭로하고 방어자들에게 자신의 환경에 대한 탐지 및 완화 전략을 제공할 것입니다.
짧게 줄이세요 (Get Shor.ty)
2000년경 처음 등장하여 꾸준히 인기를 얻고 있는 링크 단축기는 인터넷 생활에서 상당히 보편적인 도구가 되었습니다. bit.ly 및 rb.gy와 같은 인기 있는 링크 단축 서비스 외에도 Amazon(a.co) 및 Google(goo.gl)과 같은 대형 기술 회사도 자체 링크 단축 구조 및 스키마를 가지고 있습니다(또는 Google의 경우 과거에 가지고 있었습니다). 합법적인 광고 및 마케팅 측면에서 링크 단축기는 일반적으로 광고의 클릭률과 같은 것을 추적하거나 매개변수화된 인수가 있는 복잡한 URL이 공유될 때 훼손될 가능성을 줄이는 메커니즘으로 사용됩니다. 그러나 링크 단축기 및 링크 단축 서비스는 위협 행위자가 악성 랜딩 페이지의 URL을 난독화하는 데에도 사용되었으며(MITRE ATT&CK Technique T1608.005), Mandiant는 위협 행위자가 공격 체인의 초기 액세스 단계에서 피해자를 리디렉션하는 데 링크 단축기를 사용하는 것을 관찰했습니다. 최근 몇 가지 예는 다음과 같습니다.
-
2022년 봄 UNC1189(일명 "MuddyWater")가 클라우드 스토리지 제공업체에 호스팅된 피싱 루어 문서로 사용자를 유도하기 위해 사용한 링크 단축 서비스입니다.
-
2021년 봄부터 2022년 말까지 금전적 이득을 목적으로 하는 위협 행위자가 조직한 일련의 SMS 피싱 캠페인으로, 링크 단축기를 활용하여 사용자를 기기, 위치 및 브라우저 검사의 중첩된 웹을 통해 최종적으로 신용 카드 정보를 훔치려는 일련의 양식으로 유도했습니다.
-
2023년 봄에 발생한 악성 광고 캠페인으로, 악성 페이로드를 호스팅하는 Dropbox URL에 대한 클릭률 데이터를 추적하기 위해 링크 단축기를 활용했습니다.
가면 속의 진실 (Behind the ma.sk)
링크 단축 서비스가 위협 행위자들에게 어떤 도구가 될 수 있는지 알아보기 위해, 이번 게시물에서는 bit.ly를 예시로 살펴보겠습니다. 2008년 무렵 트위터(현재 X)에서 인기를 얻기 시작한 bit.ly는 오늘날까지 널리 사용되는 링크 단축 서비스입니다. 대부분의 최신 서비스형 소프트웨어(SaaS) 플랫폼처럼, bit.ly는 사용량과 기능에 따라 다양한 구독 등급을 제공합니다(그림 1).


그림 1: bit.ly 구독 페이지
위협 행위자는 직접적인 귀인을 피하기 위해 가짜 또는 도난당한 개인 및/또는 결제 정보를 사용하여 이러한 구독 또는 서비스 등록을 완료할 수 있습니다. 설정 프로세스가 완료되면 공격자는 단축 링크를 생성하기 시작할 수 있습니다(그림 2).


그림 2: bit.ly 대상 URL 구성


그림 3: bit.ly 사용자 지정 URL 구성
일부 bit.ly 구독 수준에서는 관련 활동에 대한 추가 정보를 얻기 위해 URL에 매개변수로 사용자 지정 필드를 추가할 수 있습니다(그림 4의 "사용자 지정 URL 매개변수 이름" 필드 및 값 쌍 참조). 이 기능 세트는 소셜 미디어 브랜드 인플루언서, 마케팅 담당자 및 광고주에게 분명히 매우 유용하지만 공격자는 이 기능을 사용하여 캠페인 활동에 대한 추가 정보를 얻을 수 있습니다.
이 가상의 예에서 공격자가 "703" 지역 번호 내의 전화번호를 대상으로 하는 더 큰 SMS 피싱 캠페인의 일부로 단축된 bit.ly 링크를 사용하려고 한다고 가정해 보겠습니다. 링크를 열면 사용자는 공격자가 제어하는 가짜 결제 사이트로 리디렉션되어 사용자가 미결 송장에 대한 긴급 결제를 하도록 유도합니다.
공격자는 추적 목적으로 피싱 캠페인의 이 구성 요소에 특정된 Urchin Tracking Module(UTM) URL을 생성하기 위해 매개변수(그림 4)를 구성할 수 있습니다(그림 5). 이 bit.ly 기사에는 이러한 유형의 URL 데이터 필드의 합법적인 사용에 대한 자세한 정보가 포함되어 있습니다.


그림 4: 사용자 지정 UTM 파라미터 구성


그림 5: UTM 필드가 있는 매개변수화된 URL 구조
공격자가 일반적으로 그림 5의 예처럼 캠페인 인프라의 URL 매개변수에 이러한 필드를 명시적으로 표시하지는 않지만, 이러한 온라인 마케팅 통합 및 데이터 필드를 활용하는 효과는 분명합니다. 이 시나리오에서는 다음과 같습니다.
- 출처(Source)는 SMS 메시지를 수신할 수 있는 활성 전화번호 목록에 대한 지정자입니다. 목록 자체와 메시지를 보내는 인프라는 bit.ly 외부에 있지만 bit.ly는 이러한 URL 매개변수를 통해 해당 클릭률 활동을 연결하는 데 사용할 수 있습니다.
- 매체(Medium)는 피해자가 링크에 노출되는 메커니즘입니다. 이 경우 "sender_1"은 공격자가 다운스트림 피해자를 처음에 메시지를 보낸 공격자 인프라의 전화번호와 연결하는 방법입니다.
- 캠페인(Campaign)은 bit.ly 내에서 볼 수 있는 관련 활동의 집합체입니다. bit.ly에서 개별 캠페인에는 여러 개의 링크가 연결될 수 있지만 관련 활동은 동시에 추적할 수 있습니다.
- 용어(Term)는 광고주가 검색 엔진 키워드 또는 용어를 전략적으로 배치된 bit.ly 링크에 매핑하기 위한 합법적인 용도로 사용되는 선택적 필드입니다.
- 사용자 지정 URL 매개변수 이름 - targeting_area_code, 703: 이는 공격자가 이 특정 링크로 타겟팅할 지역 번호를 나타내는 이 시나리오의 목적을 위해 포함된 완전히 사용자 지정된 bit.ly 필드입니다. 이 경우 공격자는 북부 버지니아의 워싱턴 D.C. 대도시 지역 주민을 대상으로 합니다.
이러한 매개변수를 선택하고 bit.ly 링크를 완전히 구성한 후 공격자는 링크를 실행할 수 있습니다. 캠페인이 진행 중이고 선택한 매체를 통해 링크가 배포되면 공격자는 대시보드 인터페이스(그림 6)를 사용하여 단축 링크에 대한 활동을 모니터링할 수 있습니다.


그림 6: bit.ly 클릭률 분석 대시보드
링크 단축기를 악용하는 공격에 대한 방어
링크 단축기는 상당히 보편화되어 있기 때문에 환경 내에서 사용을 일괄적으로 차단하는 것은 일반적으로 바람직하지 않습니다. 이러한 결정은 생산성과 사용자 경험 모두에 부정적인 영향을 미칠 수 있습니다. 대신 방어자는 다음과 같은 행동 조건을 감지할 수 있는 자동 분석 시스템을 구현하는 것을 고려해야 합니다.
- 단축 URL이 다른 인프라의 두 번째/중첩된 단축 URL로 연결되는 경우
- 동일한 단축 URL이 환경 내의 여러 호스트와 관련된 원격 측정 데이터에서 짧은 시간 내에 여러 번 나타나는 경우
- URL이 클라우드 호스팅 서비스의 실행 파일 또는 아카이브 파일이나 "비표준" 파일 형식(예: .REV 파일)의 파일로 직접 연결되는 경우
또한 링크 단축기 악용을 나타낼 수 있는 네트워크 원격 측정에서 의심스러운 행동 패턴을 식별할 수 있습니다. 이 연습의 일환으로 bit.ly URL을 초기 감염 벡터(IIV)로 활용하는 두 가지 시뮬레이션된 공격 체인과 관련된 네트워크 원격 측정을 검토하고 잠재적으로 탐지 또는 헌팅 전략을 구축할 수 있는 트래픽의 몇 가지 실행 가능한 요소를 식별했습니다.
IP 지리 위치 정보 유틸리티의 악용
IP 지리 위치 정보 유틸리티는 광고주와 마케팅 담당자가 광고 도달 범위의 지리적 분산 영향과 마케팅 퍼널의 효과를 측정하는 데 합법적으로 사용될 수 있습니다(세분성 및 데이터 가용성 수준은 다를 수 있음). 그러나 Mandiant는 공격자가 IP 지리 위치 정보 유틸리티를 사용하는 것을 관찰했습니다(MITRE ATT&CK Technique T1614). Mandiant가 관찰한 IP 지리 위치 정보 유틸리티를 활용하는 실제 공격 패턴의 몇 가지 예는 다음과 같습니다.
-
악성코드는 호스트를 침해한 후, 감염 추적 목적으로 지리 위치 정보 서비스에 연결할 수 있습니다. Kraken 랜섬웨어가 이러한 방식을 사용하는 대표적인 예입니다. 이를 통해 공격자는 자신의 캠페인이 얼마나 빠르게, 그리고 얼마나 멀리 확산되고 있는지 파악할 수 있습니다.
- 맬웨어는 IP 지리적 위치 데이터를 기반으로 특정 조건에서만 악성 행위를 수행합니다. 이는 공격자가 공격 대상 및 범위를 세밀하게 제어하고, 불필요한 피해를 최소화하며, 탐지를 회피하는 데 도움을 줍니다. Adwind 악성코드의 TURKEYDROP 변종은 터키에 위치한 시스템만을 공격 대상으로 합니다. 이는 공격자가 특정 국가를 대상으로 하는 공격을 수행할 때 IP 지리적 위치 데이터를 활용하는 방식을 보여주는 대표적인 예시입니다.
-
Caffeine PhaaS 플랫폼은 공격자가 IP 범위를 기반으로 피싱 루어 페이지 및 2단계 악성코드 다운로드에 대한 접근 제한을 설정할 수 있는 기능을 제공합니다. 이는 공격자의 캠페인 인프라가 너무 빨리 식별되고 완화되는 것을 방지하는 제한적인 방어 메커니즘 역할을 합니다.
비록 단순하지만, 이러한 기능들은 공격자가 진행 중인 캠페인에 대한 통찰력을 얻고 캠페인의 지속 기간과 효과를 연장하는 데 필수적입니다.
How2DoUn2Others
공격자가 사용하는 IP 기반 지리 위치 정보 유틸리티에는 여러 가지 예가 있지만, 설명을 위해 여기서는 ip2location.io를 사용하겠습니다.


그림 7: Ip2Location.io 구독 페이지
ip2location.io는 상당히 강력한 기능 세트(그림 7)를 가지고 있으며, 무료 버전에서는 적절한 제한이 있는 전용 API 키를 제공하고, 상위 계층 구독에서는 공격자에게 유용할 수 있는 IP 주소 쿼리 결과에 대한 점진적으로 세분화된 정보를 제공합니다. ip2location.io를 사용하면 다음과 같은 정보를 확인할 수 있습니다.
- 연결된 개체의 IP 주소가 특정 회사 소유의 IP 넷블록에 속하는지 여부
- 연결된 개체의 지역과 관련된 통화
- 연결된 개체가 VPN을 사용하는지 여부
- 연결된 개체가 Tor를 사용하는지 여부
공격자의 관점에서 이러한 유형의 도구를 활용하는 주요 기능은 타겟팅 최적화와 탐지 회피를 위해 프로그래밍 방식으로 작업에 통합하는 것입니다. 다음 예제 코드 스니펫에서는 간단한 웹 페이지를 Javascript로 구성하여 ip2location API를 사용하여 조회를 수행하고 지역 또는 연결 유형에 따라 사용자를 다른 페이지로 리디렉션할 수 있습니다. 사용자가 미국 이외의 국가에서 연결하는 경우 무해한 페이지를 표시합니다. 사용자가 미국 내에서 연결하고 VPN이나 Tor를 사용하지 않는 경우(일부 분석 샌드박스 환경과 달리) 악성 웹 페이지로 리디렉션됩니다. VPN이나 Tor를 사용하는 경우 오류 페이지가 표시됩니다.
<script type="module">
let raw_response = await
fetch('https://api.ip2location.io/?key=<key>&format=json');
let response_text = await raw_response.text();
var parsed_json = JSON.parse(response_text);
if(parsed["country_code"]=="US") {
if(parsed["proxy"]["is_tor"] == true || parsed["proxy"]["is_vpn"]
== true)
document.location = 'error.html';
else
document.location = 'evilpage.html';
}
else
document.location = 'nothingburger.html';
</script>
이전에 보여준 예제는 연결 속성에 따라 연결된 사용자를 다른 페이지로 라우팅하도록 구성되었지만 자동 분석 도구를 방해하는 데에도 놀라울 정도로 효과적일 수 있습니다. 이러한 종류의 기술은 지리적으로 분산된 특정 회사를 대상으로 하는 지역적 피싱 공격이나 특정 지역의 사용자를 대상으로 하는 캠페인에 특히 적용할 수 있습니다.
IP 지리 위치 정보 유틸리티를 악용하는 공격으로부터 방어하기
IP 지리 위치 정보 유틸리티는 합법적인 웹사이트에서 흔히 볼 수 있지만, 개별 워크스테이션과 같은 엔드포인트의 브라우저가 아닌 프로세스에서 프로그래밍 방식으로 사용될 가능성은 적습니다. 이는 방어자에게 좋은 소식입니다. 탐지 및 헌팅 노력을 관찰된 URL 기반 원격 측정 데이터와 엔드포인트 원격 측정의 비정상적인 이벤트를 연결하는 데 집중할 수 있기 때문입니다.
ip2location.io 서비스를 사용하는 시뮬레이션된 공격 스크립트의 PowerShell 코드 스니펫 예시를 보여드리겠습니다.
$Response = Invoke-WebRequest -UseBasicParsing -URI
https://api.ip2location.io/?key=<key>
if ($Response.Content.IndexOf('"country_code":"US"') -ne "0"){
$EvilScript = 'echo "<raw bytes of evil file to drop on disk>" >>
C:\TEMP\out.tmp'
iex $EvilScript
}
이 명령어는 PowerShell을 활용하여 프로그래밍 방식으로 ip2location.io에 연결하고, 호스트가 미국 기반 IP 주소를 통해 연결하는지 확인한 다음, 그렇다면 "C:\TEMP\out.tmp" 파일을 디스크에 드롭합니다.
네트워크 기반 원격 측정에서 PowerShell Invoke-Webrequest 함수의 사용자 에이전트가 명확하게 식별됩니다. 따라서 이러한 활동을 식별하기 위해 ip2location.io에 연결하는 PowerShell 사용자 에이전트에 대한 행동 기반 네트워크 탐지를 생성할 수 있습니다. 이는 상당히 좁은 범위의 탐지이지만 방어자는 환경의 규모와 노이즈 허용 수준에 따라 개념을 확장할 수 있습니다.
CAPTCHA-cha Slide: 봇 분류 도구를 이용한 탐지 회피
CAPTCHA는 "Completely Automated Public Turing test to tell Computers and Humans Apart"의 약자로, 봇과 자동화된 활동이 웹 양식 및 호스팅된 리소스에 접근하고 상호 작용하는 것을 방지하기 위해 개발되었습니다. Google의 reCAPTCHA 또는 CloudFlare의 Turnstile과 같은 CAPTCHA 기술 구현은 인간 사용자가 웹사이트에 접근하고 양식 및 웹 페이지의 다른 요소(예: HTML 버튼)와 상호 작용할 수 있도록 허용하는 동시에 원치 않는 봇 활동을 필터링하는 보안 조치로 사용됩니다. 전통적으로 CAPTCHA 보안 챌린지는 사용자가 시각적 퍼즐을 풀거나 간단한 대화형 작업을 수행하도록 요구했습니다. 최근 구현에서는 행동 특성에 따라 봇 활동을 식별하기 위해 패시브 점수 기반 탐지를 수행합니다.


그림 8: reCAPTCHA의 진화
악의적인 활동 문제를 해결하기 위한 목적으로 만들어졌지만, CAPTCHA 기술은 위협 행위자가 보안 도구에 의한 악성 인프라 및 페이로드의 탐지 및 스캔을 회피하기 위해 악용되었습니다(MITRE ATT&CK T1633.001). 예를 들어 위협 행위자는 URL이 악성인지 확인하기 위해 이메일 보안 기술에서 일반적으로 수행하는 동적 액세스 및 폭발 작업을 방지하기 위해 무료 CAPTCHA 서비스를 사용하는 것이 관찰되었습니다. 이를 통해 위협 행위자는 사람 사용자가 피싱 페이지에 액세스할 수 있도록 허용하는 동시에 프로그래밍 방식 활동과 cURL과 같은 데이터 전송 도구의 사용을 차단할 수 있습니다(그림 9).


그림 9: CAPTCHA 피해자 흐름
Mandiant는 2024년 1월 초부터 UNC5296이 Google Sites 서비스를 악용하여 CAPTCHA 챌린지를 호스팅하고 사용자를 ZIP 아카이브 다운로드로 리디렉션하는 것을 추적해 왔습니다. ZIP 아카이브에는 금융 기관의 PDF 파일로 위장한 악성 LNK 파일이 포함되어 있으며, 실행되면 AZORULT 또는 DANCEFLOOR가 배포됩니다. Mandiant는 또한 FIN11이 2020년 6월 피싱 캠페인의 일환으로 CAPTCHA 챌린지를 사용하여 FRIENDSPEAK 다운로더와 MIXLABEL 백도어를 제공하는 것을 확인했습니다.
봇 분류 도구를 사용하는 공격으로부터 방어하기
CAPTCHA 도구는 인터넷에서 합법적으로 광범위하게 사용되기 때문에 악의적인 목적으로 사용되는 시점을 탐지하기가 어렵습니다. CAPTCHA 위젯은 해당 JavaScript 리소스를 참조하는 몇 줄의 HTML과 CAPTCHA 챌린지를 등록한 사용자와 연결된 고유한 사이트 키를 사용하여 웹사이트 내에 쉽게 구현할 수 있습니다.
<html>
<head>
<title>reCAPTCHA Test</title>
<script
src="https://www.google.com/recaptcha/api.js"></script>
<script>
function passRedirect() {
window.location.href =
"https://www.youtube.com/watch?v=dQw4w9WgXcQ";
}
</script>
<div class="g-recaptcha" data-sitekey="<removed>"
data-callback="passRedirect"></div>
</html>
CAPTCHA 챌린지가 중간 웹페이지에 구현될 때 방어자는 CAPTCHA JavaScript API 파일에 대한 네트워크 요청을 잠재적인 탐지 또는 강화 기회로 사용할 수 있습니다.
허점과 이익을 위해 효과적인 것을 훔치다
마케터는 광고 캠페인을 운영할 때 고려해야 할 변수가 많습니다. 말씀하신 대로 광고 자체의 콘텐츠(텍스트, 비디오, 이미지 등), 타겟 고객의 인구 통계, 광고가 게재될 지역, 게재 시간 등 수많은 요소가 있습니다. 새로운 광고 캠페인을 시작할 때는 광고하는 제품이나 서비스에 가장 적합한 광고 "공식"을 찾기 위해 마케터가 직접 실험하고 개선하는 과정이 필수적입니다. 마치 요리사가 새로운 레시피를 개발할 때 여러 재료와 조리법을 시도해 보는 것과 같습니다.
디지털 광고 개선 프로세스의 속도를 높이기 위해 마케터는 경쟁사 분석 도구를 사용하여 경쟁사가 게재하는 광고를 확인할 수 있습니다. 도구에 따라 마케터는 경쟁사 광고에 연결된 키워드, 광고가 게재된 웹사이트 및 애플리케이션, 광고와 관련된 미디어 유형(예: 동영상, 텍스트, 이미지), 사용자가 광고를 클릭한 후 표시되는 방문 페이지, 그리고 기타 주목할 만한 광고 인사이트를 확인할 수 있습니다. 이러한 도구 중 잘 알려져 있고 강력한 도구 중 하나는 AdBeat입니다. Google과 Meta도 저장소를 가지고 있습니다. 이러한 검색 엔진 마케팅(SEM) 도구는 악성 또는 의심스러운 광고 캠페인을 설정하려는 위협 행위자(MITRE ATT&CK Technique T1583.008)에게 Google Ads 정책을 우회하기 위한 광고 지역 타겟팅 및 효과적인 키워드 사용을 포함한 인사이트를 제공할 수 있습니다(그림 10 및 그림 11).


Figure 10: Geolocation competitive intel tool functionality mentioned on the blackhatworld.com forum


그림 11: 블랙햇월드 포럼에서 키워드 개선에 도움이 되는 경쟁 정보 도구에 대한 추천
악성 광고 공격 대상의 흐름 만들기
경쟁 정보 도구가 위협 행위자에 의해 어떻게 악용될 수 있는지 보여주기 위해, Google Ads 위협 연구팀이 조사하고 처리했던 실제 사례를 바탕으로 악성 광고 캠페인을 계획하고 실행하는 단계를 살펴보겠습니다. 그림 12는 위협 행위자가 악성 광고 캠페인을 만드는 데 사용할 수 있는 프로세스의 예시를 보여줍니다.


그림 12: 악성 광고 캠페인을 설정하는 단계
효과적인 광고 따라하기 - 마케터는 무엇을 볼 수 있을까요?
합법적인 마케터와 마찬가지로, 공격자가 악성 광고 캠페인을 시작할 때 가장 먼저 고려하는 것은 잠재적 피해자를 최대한 많이 유인할 수 있는 광고 키워드입니다. 일부 검색 엔진 마케팅 도구에서 제공하는 키워드 조사 기능을 사용하여 위협 행위자는 특정 키워드와 관련된 광고와 과거에 상호 작용한 사용자 수를 확인할 수 있습니다.
예를 들어, 한 경쟁 정보 도구에서 제공하는 데이터에 따르면 2024년 6월에 "고급 IP 스캐너" 키워드와 관련된 관련 광고에서 약 22만 건의 클릭이 발생했으며, 이러한 클릭은 "ktgotit[.]com" 및 "advanced-ip-scanner[.]com"을 포함한 여러 도메인에서 발생했습니다. 이 두 도메인은 2024년 6월에는 트래픽이 없었지만 과거에는 동일한 키워드와 관련되어 있었습니다. 그런 다음 이 데이터를 ktgotit[.]com 도메인이 포함된 과거 광고와 연결하면 공격자가 모방할 만한 광고로 다음 광고를 식별할 수 있습니다.*


Figure 13: Ad snippet, ktgotit[.]com
악의적인 광고주는 악성 광고 콘텐츠를 제작할 때 일반적으로 다음과 같은 여러 기술을 사용합니다.
- 키워드 플래그를 피하기 위해 광고 텍스트에 합법적인 브랜드를 언급하지 않습니다.
- 원래 제품, 서비스 또는 브랜드와 관련 없는 도메인 이름으로 랜딩 페이지를 만듭니다.
- 가상의 전자상거래 브랜드를 사용하여 "가짜 사이트"를 만듭니다.
- 클로킹된 페이지를 사용합니다. 이 기술은 연결 출처 확인, 기기 프로파일링 및 초기 랜딩 페이지 URL과 최종 목적지 간의 페이지 리디렉션 조합을 사용하여 악의적인 활동을 숨기려고 시도합니다.
다른 악성 광고 캠페인이 공식 또는 합법적인 웹사이트의 철자를 잘못 입력하거나 완전히 관련 없는 웹 도메인을 사용하여 조정 필터를 통과하는지 여부와 같은 추가 정보도 공격자에게 도움이 될 수 있습니다. 공격자는 이 정보를 사용하여 광고를 클릭한 직후 사용자에게 표시되는 설득력 있는 랜딩 페이지를 만들어 사용자가 피해자 흐름으로 더 깊이 이동하도록 유도할 수 있습니다.
복제 전쟁
경쟁 정보 도구를 통해 얻은 전략적 정보를 바탕으로 공격자는 ktgotit[.]com의 악성 광고 캠페인에서 사용된 공격 방식을 모방하는 것이 효과적이라고 판단할 수 있습니다. 즉, 적은 비용으로 많은 잠재적 피해자에게 악성 광고를 노출시킬 수 있는 방법을 찾아낸 것입니다. 이 경우 공격자는 다음과 같은 단계를 거쳐 공격을 실행할 수 있습니다.
- 랜딩 페이지와 악성 페이로드를 호스팅할 도메인을 구매하고 설정합니다. (플랫폼에 따라 세부 설정이 다를 수 있습니다.)
- 랜딩 페이지를 제작하고 호스팅합니다. (경쟁 정보 도구에서 이러한 기능을 제공할 수도 있습니다.)
- 클로킹 페이지 리디렉션 및/또는 호스팅된 악성 페이로드 배포를 설정합니다. (필요한 경우)
- 키워드 광고를 구매하고 악성 광고를 배포합니다. (플랫폼에 따라 방법이 다릅니다.)
이제 공격자는 분석 트래픽을 감시하며 피해자가 발생하기를 기다리기만 하면 됩니다.
후기: ktgotit[.]com 사건 종결
그림 13의 ktgotit[.]com으로 연결되는 광고에서 악성코드 제작자는 자동 분석 기술을 우회하고 악성 콘텐츠를 숨기기 위해 클로킹과 함께 전자상거래 "미끼" 페이지를 사용했습니다. 하지만 클로킹 기술도 완벽하지는 않습니다. Google 위협 연구팀은 ktgotit[.]com 사건을 조사하여 해당 페이지의 최종 URL이 hxxps://aadvanced-ip-scanner[.]com임을 밝혀냈습니다.


그림 14: 광고에 연결된 랜딩 페이지, ktgotit[.]com


그림 15: "ktgotit[.]com에서 검증 확인을 통과한 연결에만 표시되는 재현된 미끼 페이지
이 시나리오에서 그림 15의 "무료 다운로드" 링크는 "hxxps://britanniaeat[.]com/wp-includes/Advanced_IP_Scanner_v.3.5.2.1.zip" URL에서 "Advanced_IP_Scanner_v.3.5.2.1.zip"(MD5: "5310d6b73d19592860e81e4e3a5459eb")라는 악성 아카이브 파일을 다운로드하도록 연결되었습니다.
광고 공격으로부터 방어하기
광고 네트워크는 새로운 악용 전략에 신속하게 대응해야 합니다. 하나의 위협 행위자가 악용 방법을 알게 되면 곧 많은 사람들에게 알려지게 됩니다.
기업의 경우, 현재 환경의 기본 브라우저 보안 설정을 일상적인 브라우징을 위해 강화하는 것을 고려하는 것이 우아하고 간단하며 사전 예방적인 솔루션이 될 수 있습니다. 대부분의 최신 브라우저는 기본적으로 활성화된 자동 보호 조치(예: Google 세이프 브라우징)와 관련하여 사용성과 보안 간의 균형을 최적화하려고 합니다. 일부 기업 환경에서는 전체적인 사용자 경험에 큰 영향을 미치지 않으면서 이러한 설정을 기본 수준 이상으로 높일 수 있습니다.
개별 사용자의 경우 광고 또는 광고의 링크를 클릭할 때 대상 웹사이트 주소(URL)가 광고의 회사 또는 제품과 일치하고 오타가 없는지 다시 확인해야 합니다. URL 표시줄이 숨겨져 있을 수 있는 휴대폰에서는 특히 중요합니다. 그림 13에 표시된 예에서 광고의 URL은 "ktgotit[.]com"이었고 랜딩 페이지 콘텐츠는 광고에 표시된 도메인(즉, ktgotit)과 일치했습니다. 그러나 양성 랜딩 페이지의 콘텐츠는 모두 다른 제조업체와 제휴되었다고 주장하는 느슨하게 관련된 제품에 대한 의심스럽게 형식이 지정된 제품 세부 정보를 보여주었고 악성 페이지(클로킹 메커니즘으로 보호됨)의 콘텐츠에는 광고에 표시된 도메인과 일치하는 도메인이 없었습니다(그림 13).
또한 사용자는 웹 광고에서 후원하는 도메인에서 파일을 다운로드하기 전에 URL을 다시 확인하는 것이 좋습니다. Mandiant의 "Opening a Can of Whoop Ads: Detecting and Disrupting a Malvertising Campaign Distributing Backdoors"에서 설명했듯이 사용자는 다운로드하는 파일이 "재무부"의 미청구 자금과 관련이 있다고 믿게 되었습니다.
Google은 사용자에게 정책을 위반하거나 사용자에게 해를 끼칠 수 있다고 생각되는 광고를 신고하여 필요에 따라 검토하고 조치를 취할 수 있도록 권장합니다. 이 도움말에는 광고를 신고하는 방법에 대한 추가 지침이 포함되어 있습니다.
침해지표 (IoC)
결론
디지털 세상에서 모든 클릭은 흔적을 남기며, 마케팅 인구 통계 관련 데이터 분석 도구와 악성코드 공격 캠페인 최적화 사이의 경계가 어느 정도 위험할 정도로 모호해졌습니다. 합법적인 도구의 기능이 향상됨에 따라 악의적인 목적으로 이를 사용하는 위협 행위자의 기능도 향상될 것입니다. 그러나 이 블로그 게시물 전체에서 보여준 실제적인 예를 통해 입증했듯이 공격자가 이러한 도구를 사용하는 방법을 보여주고 방어자가 사전에 조치를 취하여 그 영향을 완화하거나 제거할 수 있는 방법에 대한 통찰력을 제공함으로써 실행 가능하고 영향력 있는 방어를 구축하는 것이 가능합니다.
특별히 감사드립니다.
Adrian McCabe는 디지털 마케팅 도구에 대한 전문 지식을 공유해 준 Joseph Flattery에게 감사의 말씀을 전합니다.
저자들은 관련 위협 지표를 심층적으로 검토해 준 Mandiant Advanced Practices 팀에게 깊은 감사를 드립니다.