SOC Prime Bias: 위급

16 2월 2026 17:31

매크로메이즈 작전: 기본 도구와 합법적인 인프라를 사용하는 새로운 APT28 캠페인

Author Photo
Ruslan Mikhalov SOC Prime에서 위협 연구 책임자 linkedin icon 팔로우
매크로메이즈 작전: 기본 도구와 합법적인 인프라를 사용하는 새로운 APT28 캠페인
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

요약

APT28(판다곰)은 서유럽 및 중유럽 전역의 조직을 대상으로 한 Operation MacroMaze라는 이름의 스피어 피싱 작전을 수행했습니다. 이 유혹은 무기화된 워드 문서와 매크로 드로퍼를 사용하여 추가 스크립트를 가져오고 합법적인 웹훅 서비스를 통해 도난 데이터를 이동시켰습니다. 체인은 마찰이 적은 도구(VBS, 배치 스크립트, 숨기거나 헤드리스 모드로 실행된 Microsoft Edge)로 유지하며 인프라를 웹훅사이트라는 공개 서비스에 유지합니다.

조사

Lab52는 2025년 9월부터 2026년 1월까지 네 가지 매크로 변형을 추적하면서 드로퍼 동작, 예약 작업 지속성 및 브라우저 기반 데이터 유출의 반복적인 변화를 관찰했습니다. 분석가는 INCLUDEPICTURE 필드, GUID 스타일의 파일 이름, SendKeys 기반 자동화를 포함한 반복되는 지표를 강조했습니다. 또한 관련 아티팩트, URL, 액세스를 유지하기 위해 사용된 특정 예약 작업 생성 흐름을 추출했습니다.

완화

Office의 자동 매크로 실행을 해제하고 엄격한 Outlook 첨부 파일 처리를 적용하십시오. 의심스러운 예약 작업 생성 및 숨기거나 화면 밖에서 실행되는 비정상적인 Microsoft Edge 실행을 모니터링하십시오. webhook.site 및 유사한 공개 웹훅 플랫폼으로의 아웃바운드 트래픽을 차단하거나 경고하도록 설정하십시오. 응용 프로그램 허용 목록을 사용하여 알려지지 않은 VBS 및 배치 파일 실행을 제한하십시오.

대응

활동이 감지되면, 호스트를 격리하고 악성 문서 및 관련 아티팩트를 보존하며 생성된 예약 작업 및 드롭된 파일을 검색하십시오. 네트워크 원격 분석을 캡처하여 데이터 유출 엔드포인트를 식별하고 악성 예약 작업을 제거하십시오. 자격 증명 도용을 위한 포렌식 범위를 수행하고 이해 관계자에게 통보하십시오. 관찰된 IoC 및 행동 패턴을 커버하는 탐지를 업데이트하십시오.

“graph TB %% Class definitions classDef technique fill:#c2e0ff %% Node definitions t1566_001[“<b>기술</b> – T1566.001<br/><b>이름</b>: 스피어 피싱 첨부파일<br/><b>설명</b>: 악의적인 첨부파일이 포함된 이메일을 보내고, 열릴 때 페이로드를 전달합니다.”] class t1566_001 technique t1204[“<b>기술</b> – T1204<br/><b>이름</b>: 사용자 실행<br/><b>설명</b>: 피해자가 악성 파일 또는 스크립트를 실행하여 공격을 시작합니다.”] class t1204 technique t1564_007[“<b>기술</b> – T1564.007<br/><b>이름</b>: 아티팩트 숨기기: VBA 스토핑<br/><b>설명</b>: 악의적인 내용을 숨기면서도 기능을 보존하는 VBA 매크로 코드를 수정합니다.”] class t1564_007 technique t1059_005[“<b>기술</b> – T1059.005<br/><b>이름</b>: 비주얼 베이직<br/><b>설명</b>: Visual Basic for Applications (VBA) 스크립트를 사용하여 명령을 실행합니다.”] class t1059_005 technique t1137_001[“<b>기술</b> – T1137.001<br/><b>이름</b>: 오피스 템플릿 매크로<br/><b>설명</b>: 오피스 템플릿 파일을 통해 악의적인 매크로를 배포합니다.”] class t1137_001 technique t1546_002[“<b>기술</b> – T1546.002<br/><b>이름</b>: 이벤트 트리거 방식 실행: 스크린세이버<br/><b>설명</b>: 악성 스크린세이버를 등록하여 트리거되면 실행하도록 합니다.”] class t1546_002 technique t1218_001[“<b>기술</b> – T1218.001<br/><b>이름</b>: 컴파일된 HTML 파일<br/><b>설명</b>: 컴파일된 HTML (CHM) 파일을 사용하여 피해 시스템에서 코드를 실행합니다.”] class t1218_001 technique t1027_006[“<b>기술</b> – T1027.006<br/><b>이름</b>: HTML 밀수<br/><b>설명</b>: 보안 제어를 우회하기 위해 HTML 내에 악성 페이로드를 인코딩합니다.”] class t1027_006 technique t1102_001[“<b>기술</b> – T1102.001<br/><b>이름</b>: 데드 드롭 리졸버<br/><b>설명</b>: 데드 드랍 리졸버를 사용하여 명령을 검색하거나 데이터를 유출합니다.”] class t1102_001 technique t1102_002[“<b>기술</b> – T1102.002<br/><b>이름</b>: 양방향 통신<br/><b>설명</b>: 명령 및 제어를 위한 양방향 통신 채널을 구축합니다.”] class t1102_002 technique t1102_003[“<b>기술</b> – T1102.003<br/><b>이름</b>: 단방향 통신<br/><b>설명</b>: 네트워크 외부로 데이터를 보내기 위한 단방향 채널을 사용합니다.”] class t1102_003 technique t1074_001[“<b>기술</b> – T1074.001<br/><b>이름</b>: 데이터 스테이지: 로컬 데이터 스테이징<br/><b>설명</b>: 유출 전에 로컬 호스트에 수집한 데이터를 수집 및 스테이징합니다.”] class t1074_001 technique t1074_002[“<b>기술</b> – T1074.002<br/><b>이름</b>: 데이터 스테이지: 원격 데이터 스테이징<br/><b>설명</b>: 나중에 유출하기 위해 원격 위치로 스테이징된 데이터를 전송합니다.”] class t1074_002 technique t1560_001[“<b>기술</b> – T1560.001<br/><b>이름</b>: 유틸리티 아카이빙<br/><b>설명</b>: 유틸리티를 사용하여 스테이징된 데이터를 압축합니다.”] class t1560_001 technique t1567_004[“<b>기술</b> – T1567.004<br/><b>이름</b>: 웹훅을 통한 유출<br/><b>설명</b>: 웹훅을 통해 외부 서비스로 유출된 데이터를 보냅니다.”] class t1567_004 technique %% Connections t1566_001 u002du002d>|leads_to| t1204 t1204 u002du002d>|leads_to| t1564_007 t1564_007 u002du002d>|leads_to| t1059_005 t1059_005 u002du002d>|leads_to| t1137_001 t1137_001 u002du002d>|leads_to| t1546_002 t1546_002 u002du002d>|leads_to| t1218_001 t1218_001 u002du002d>|leads_to| t1027_006 t1027_006 u002du002d>|leads_to| t1102_001 t1102_001 u002du002d>|leads_to| t1102_002 t1102_002 u002du002d>|leads_to| t1102_003 t1102_003 u002du002d>|leads_to| t1074_001 t1074_001 u002du002d>|leads_to| t1074_002 t1074_002 u002du002d>|leads_to| t1560_001 t1560_001 u002du002d>|leads_to| t1567_004 “

공격 흐름

시뮬레이션 실행

전제 조건: 원격 측정 및 기본선 사전 비행 점검이 통과해야 합니다.

이론적 근거: 이 섹션에서는 탐지 규칙을 트리거하도록 설계된 적대적 기법(TTP)의 정확한 실행을 자세히 설명합니다. 명령과 내러티브는 확인된 TTP를 직접 반영하고 탐지 논리에서 기대하는 정확한 원격 측정을 생성하도록 설계되어야 합니다.

  • 공격 내러티브 및 명령:

    APT28 스타일의 악성 워드 매크로가 피싱을 통해 전달됩니다. 문서를 열면 매크로는 작은 VBScript를 실행하여 WScript.Shell 객체를 생성합니다. 그런 다음 이 객체를 사용하여 cmd.exe 를 실행합니다. 이 페이로드는 임시 파일로 Base64로 인코딩된 PowerShell 리버스 셸을 작성하고 실행합니다. 이 시퀀스는 Sigma 규칙을 만족하는 두 개의 프로세스 생성 이벤트를 발생시킵니다:

    1. wscript.exe (or cscript.exe)는 VBScript를 실행하며 WScript.Shell.
    2. 같은 VBScript WScript.Shell.Run "cmd.exe /c powershell -nop -w hidden -EncodedCommand …" 를 생성합니다 cmd.exe.

    자식-부모 관계와 명령줄에 나타나는 WScript.Shell 가 규칙이 찾는 정확한 지표입니다.

  • 회귀 테스트 스크립트:

    # -------------------------------------------------------
    # MacroMaze 시뮬레이션 – wscript.exe → cmd.exe 실행
    # -------------------------------------------------------
    # 1. WScript.Shell을 사용하여 cmd.exe를 실행하는 임시 VBS 생성
    $vbsContent = @"
    Set sh = CreateObject("WScript.Shell")
    sh.Run "cmd.exe /c echo 악성 페이로드 실행됨 > %TEMP%payload.txt"
    "@
    $vbsPath = "$env:TEMPmacromaze.vbs"
    $vbsContent | Set-Content -Path $vbsPath -Encoding ASCII
    
    # 2. wscript.exe를 통해 VBS 실행 (원하는 원격 측정을 생성할 것입니다)
    Start-Process -FilePath "wscript.exe" -ArgumentList "`"$vbsPath`"" -WindowStyle Hidden
    
    # 선택 사항: SIEM이 이벤트를 수집할 수 있도록 일시 중지
    Start-Sleep -Seconds 5
    # -------------------------------------------------------
  • 정리 명령:

    # 임시 VBS 및 페이로드 파일 제거
    Remove-Item -Path "$env:TEMPmacromaze.vbs" -ErrorAction SilentlyContinue
    Remove-Item -Path "$env:TEMPpayload.txt" -ErrorAction SilentlyContinue