SOC Prime Bias: 중간

12 11월 2025 15:37

매버릭 말웨어: SOC 팀을 위한 실행 가능한 보고서

Author Photo
Ruslan Mikhalov Chief of Threat Research at SOC Prime linkedin icon Follow
매버릭 말웨어: SOC 팀을 위한 실행 가능한 보고서
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

매버릭 트로이 목마 분석

매버릭 트로이 목마는 소셜 엔지니어링을 활용하여 WhatsApp 웹을 통해 악성 ZIP 아카이브를 배포하는 정교한 브라질 타겟 은행 악성코드로, LNK 바로가기를 포함하여 파일이 없는 감염 체인을 위한 난독화된 PowerShell 및 .NET 로더를 트리거합니다. 이 악성코드는 피해자의 시스템이 브라질에 위치해 있는지 확인한 후(시간대, 로케일, 지역 검사로), 브라우저 세션을 모니터링하고 브라질 은행, 암호화폐 거래소 및 결제 플랫폼의 하드코딩된 목록을 타겟으로 정찰합니다. 코드 중복은 매버릭을 이전의 코요테 트로이 목마 캠페인과 연결시키지만, 그 아키텍처와 전파 방법은 발전을 나타냅니다. 이 보고서는 SOC 팀에게 매버릭에 대처할 수 있도록 공격 흐름, 주요 침해 지표(IOCs), 탐지 쿼리, 완화 제어 및 시뮬레이션 지침을 제공합니다.

매버릭 악성코드 조사

연구자들은 매버릭의 초기 감염 벡터가 WhatsApp 웹을 통해 전달되는 ZIP 아카이브이며, 이는 악성 LNK 파일을 포함한다고 관찰했습니다. LNK는 C2 서버(예: sorvetenopote[.]com)에서 초기 로더를 다운로드하는 PowerShell 체인을 실행합니다. 이 로더는 .NET 어셈블리를 메모리에서 완전히 디코딩 및 실행하며, 디스크에 파일을 드롭하지 않습니다. 하나의 실행 분기는 Selenium 및 WPPConnect를 사용하여 WhatsApp 감염 모듈을 설치하고 브라우저 세션을 하이재킹하여 자가 전파합니다. 두 번째 분기는 피해자가 브라질인지를 확인하는 매버릭 은행 페이로드(“Maverick.Agent”)를 로드하고 시작 폴더에 HealthApp-<GUID>.bat을 통해 지속성을 유지하며, 브라우저 전경 창을 은닉/암호화된 은행 URL 목록을 모니터링하고 일치하는 경우 모듈을 디크립트하고 이를 실행하여 자격 증명 탈취, 키로깅, 스크린샷 캡처, 오버레이 피싱 및 C2 통신을 수행합니다. 수많은 코드 재사용 패턴 및 동일한 AES/GZIP 암호화 루틴은 매버릭과 코요테를 연결합니다.

매버릭 익스플로잇 완화

매버릭에 대처하기 위해 SOC 팀은 엄격한 제어와 계층화된 방어를 시행해야 합니다. 민감한 시스템에 접근할 수 있는 직원들의 WhatsApp 웹 사용을 제한하거나 차단하십시오. ZIP 첨부파일 및 메시징 플랫폼의 바로가기 파일에 대한 피싱 인식 교육을 실시하십시오. 엄격한 PowerShell 실행 정책을 적용하십시오(예: 서명되지 않은 스크립트 제한, 과도한 사용 로그, IEX DownloadString 패턴 차단). 시작 폴더에 비정상적인 배치 파일이 생성되는 것을 모니터하십시오(예: “HealthApp-*.bat”). 메모리 내의 .NET 로딩 및 Donut 쉘코드 실행을 감지할 수 있는 엔드포인트 탐지 및 대응(EDR) 솔루션을 사용하십시오. DNS/방화벽 계층에서 sorvetenopote[.]com 및 zapgrande[.]com과 같은 알려진 악성 도메인 및 C2 인프라를 차단하십시오. 최신 안티바이러스/EDR 서명 및 위협 데이터를 유지하며, 자동화된 브라우저 세션 하이잭 도구를 비활성화하거나 모니터링하십시오.

매버릭 은행 악성코드에 대응하는 방법

잠재적인 매버릭 감염이 감지되면, 사고 대응자는 즉시 영향을 받은 호스트를 고립시키고 포렌식 조사를 시작해야 합니다. SIEM/EDR에서 다음을 찾기 위해 탐지 쿼리를 사용하십시오. DownloadString 의심스러운 도메인에서, 메모리 내의 .NET 반사 실행 및 시작 폴더에서 배치 파일을 실행하는 하위 프로세스를 탐지하십시오. “HealthApp-<GUID>.bat”라는 이름의 모든 배치 파일을 격리하고 관련된 C2 도메인 및 IP를 차단하십시오. ChromeDriver 또는 Selenium과 같은 인증되지 않은 자동화 도구가 있는지 브라우저 프로필을 검토하십시오. 영향을 받은 사용자의 은행 자격 증명을 재설정하고 모든 금융 서비스 접근에 다중 요소 인증(MFA)을 강제하십시오. 매버릭의 잔여 모듈이 없는지 확인하여 철저한 정리를 보장하고 네트워크에서 전체 악성코드 검사를 수행하십시오.

graph TB %% 클래스 정의 classDef action fill:#99ccff classDef tool fill:#ffcc99 classDef file fill:#ccffcc classDef malware fill:#ff9999 classDef process fill:#ccffcc classDef operator fill:#ff9900 %% 노드 delivery_content_injection[“<b>행동</b> – <b>T1659 콘텐츠 주입</b><br/><b>설명</b>: WhatsApp Web을 통해 악성 ZIP/LNK 파일 전송”] class delivery_content_injection action phishing_service[“<b>행동</b> – <b>T1566.003 피싱: 서비스 기반 스피어피싱</b><br/><b>설명</b>: WhatsApp을 사용하여 악성 페이로드 배포”] class phishing_service action user_execution[“<b>행동</b> – <b>T1204.002 사용자 실행</b><br/><b>설명</b>: 피해자가 바로가기를 열고 난독화된 cmd 실행”] class user_execution action cmd_tool[“<b>도구</b> – <b>이름</b>: cmd.exe”] class cmd_tool tool powershell_interpreter[“<b>행동</b> – <b>T1059.001 PowerShell</b><br/><b>설명</b>: Base64 페이로드를 디코딩하고 명령 실행”] class powershell_interpreter action powershell_tool[“<b>도구</b> – <b>이름</b>: PowerShell”] class powershell_tool tool obfuscation[“<b>행동</b> – <b>T1027.014 난독화된 파일 또는 정보</b><br/><b>설명</b>: 다형 코드, 분할 토큰, 중첩 FOR 루프, Base64 및 UTF‑16LE”] class obfuscation action location_discovery[“<b>행동</b> – <b>T1614.001 시스템 위치 탐지</b><br/><b>설명</b>: 언어/지리 위치 확인 후 브라질이 아니면 중단”] class location_discovery action sandbox_evasion[“<b>행동</b> – <b>T1497.002 가상화/샌드박스 회피</b><br/><b>설명</b>: 사용자 활동 기반 검사”] class sandbox_evasion action uac_bypass[“<b>행동</b> – <b>T1548.002 권한 상승 메커니즘 악용: UAC 우회</b><br/><b>설명</b>: Microsoft Defender 및 UAC 비활성화”] class uac_bypass action persistence_startup[“<b>행동</b> – <b>T1037.004 부팅 또는 로그인 초기화 스크립트: RC 스크립트</b><br/><b>설명</b>: 시작 폴더에 배치 파일 배치”] class persistence_startup action batch_file[“<b>프로세스</b> – <b>이름</b>: HealthApp‑<GUID>.bat”] class batch_file process persistence_startup_item[“<b>행동</b> – <b>T1037.005 부팅 또는 로그인 초기화 스크립트: 시작 항목</b><br/><b>설명</b>: 배치가 주기적으로 C2와 통신”] class persistence_startup_item action process_discovery[“<b>행동</b> – <b>T1057 프로세스 탐지</b><br/><b>설명</b>: 브라우저 프로세스 열거”] class process_discovery action session_hijack[“<b>행동</b> – <b>T1539 웹 세션 쿠키 탈취</b> / <b>T1185 브라우저 세션 탈취</b><br/><b>설명</b>: 은행 사이트에서 쿠키 캡처”] class session_hijack action web_c2_bidirectional[“<b>행동</b> – <b>T1102.002 웹 서비스: 양방향 통신</b><br/><b>설명</b>: HTTPS API 호출을 zapgrande.com으로 전송”] class web_c2_bidirectional action web_c2_oneway[“<b>행동</b> – <b>T1102.003 웹 서비스: 단방향 통신</b><br/><b>설명</b>: 추가 페이로드 수신”] class web_c2_oneway action proxy_execution[“<b>행동</b> – <b>T1216 시스템 스크립트 프록시 실행</b> 및 <b>T1218 시스템 바이너리 프록시 실행</b><br/><b>설명</b>: PowerShell 및 cmd.exe가 메모리에서 원격 스크립트 실행용 프록시 역할 수행”] class proxy_execution action masquerading[“<b>행동</b> – <b>T1036.001 가장하기</b><br/><b>설명</b>: .lnk, .zip 등으로 위장, 잘못된 서명 포함”] class masquerading action malware_payload[“<b>악성코드</b> – <b>이름</b>: 난독화된 PowerShell 로더”] class malware_payload malware %% 연산자 op_and_location((“AND”)) class op_and_location operator %% 연결 delivery_content_injection u002du002d>|전달| phishing_service phishing_service u002du002d>|이후| user_execution user_execution u002du002d>|실행| cmd_tool cmd_tool u002du002d>|시작| powershell_interpreter powershell_interpreter u002du002d>|사용| powershell_tool powershell_tool u002du002d>|실행| obfuscation obfuscation u002du002d>|활성화| location_discovery location_discovery u002du002d>|통과| op_and_location sandbox_evasion u002du002d>|관련| op_and_location op_and_location u002du002d>|허용| uac_bypass uac_bypass u002du002d>|설정| persistence_startup persistence_startup u002du002d>|생성| batch_file batch_file u002du002d>|호출| web_c2_bidirectional web_c2_bidirectional u002du002d>|수신| web_c2_oneway web_c2_oneway u002du002d>|제공| proxy_execution proxy_execution u002du002d>|실행| malware_payload malware_payload u002du002d>|배치| persistence_startup_item persistence_startup_item u002du002d>|주기적으로 통신| web_c2_bidirectional process_discovery u002du002d>|브라우저 식별용| session_hijack session_hijack u002du002d>|유출| web_c2_bidirectional proxy_execution u002du002d>|위장| masquerading %% 클래스 적용 class delivery_content_injection action class phishing_service action class user_execution action class cmd_tool tool class powershell_interpreter action class powershell_tool tool class obfuscation action class location_discovery action class sandbox_evasion action class uac_bypass action class persistence_startup action class batch_file process class persistence_startup_item action class web_c2_bidirectional action class web_c2_oneway action class proxy_execution action class masquerading action class malware_payload malware class process_discovery action class session_hijack action

공격 흐름

매버릭 트로이 목마 페이로드

시뮬레이션 지침

필수 조건: Telemetry & Baseline Pre‑flight Check를 통과해야 합니다.

이유: 이 섹션은 탐지 규칙을 유도하도록 설계된 상대 기술(TTP)의 정확한 실행을 상세히 설명합니다. 명령과 서사는 식별된 TTP를 직접 반영해야 하며, 탐지 로직에 의해 기대되는 정확한 원격 조종을 생성할 목표를 가집니다. 추상적이거나 관련이 없는 예시는 오진을 초래할 수 있습니다.

  • 공격 서사 및 명령어:

    1. 초기 정찰 (규칙의 효과 가 없음, 생략됨).
    2. C2 연락: 공격자는 하나의 PowerShell 명령어를 실행하여zapgrande.com를 해결하고 악성코드의 비콘을 모방하여 HTTP GET 요청을 수행합니다. 이는 네트워크 Sysmon NetworkConnect 이벤트를 생성하며 DestinationHostname = zapgrande.com.
    3. 페이로드 수신: GET 직후, 스크립트는 동일한 호스트에서 작은 실행 파일 페이로드를 다운로드하여 %TEMP%에 저장합니다.공격자는 네이티브.

    The attacker uses native Invoke-WebRequest를 사용하여 별도의 악성 바이너리를 생성하지 않고 “리빙 오프 랜드”를 유지합니다.

  • 회귀 테스트 스크립트:

    # -------------------------------------------------
    # 매버릭 C2 도메인 접촉을 위한 시뮬레이션 스크립트
    # -------------------------------------------------
    $maliciousDomains = @("zapgrande.com","sorvetenopote.com")
    foreach ($domain in $maliciousDomains) {
        try {
            Write-Host "[*] C2 호스트로 연락 중: $domain"
            # DNS 해결(creates DNS query logs)