SOC Prime Bias: Critical

02 Feb 2026 11:44 UTC

UAC-0001 (APT28) CVE-2026-21509를 사용하는 공격

Author Photo
Ruslan Mikhalov Chief of Threat Research at SOC Prime linkedin icon 팔로우
UAC-0001 (APT28) CVE-2026-21509를 사용하는 공격
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

요약

APT28 (UAC-0001로 추적됨)는 새로 공개된 Microsoft Office 취약점 CVE-2026-21509을 이용하여 우크라이나 정부 대상과 유럽 전역의 조직을 공격하기 위해 악성 페이로드를 전달하고 있습니다. 침투는 무기화된 DOC로 시작하여 추가 구성 요소를 가져오기 위해 WebDAV 요청을 강제하고, DLL 기반 로더를 실행하여 Covenant 프레임워크를 시작하는 COM 하이재킹을 설정합니다. 이 활동은 합법적인 Filen 클라우드 스토리지를 네트워크 인프라의 일부로 활용합니다. 이 캠페인은 2026년 1월 말에 관찰되었습니다.

조사

악성 DOC 파일 분석 결과, Office에서 열면 WebDAV 연결이 시작되어 EhStoreShell.dll이라는 DLL과 PNG 셸코드 이미지를 다운로드하는 것을 확인했습니다. DLL은 CLSID COM 등록 하이재킹을 통해 지속성을 유지하며, 탐색기.exe를 실행하도록 하는 OneDriveHealth라는 예약 작업이 생성됩니다. 로더는 그런 다음 Covenant를 시작하고, 운영자 제어는 Filen을 기반으로 한 엔드포인트를 통해 이루어집니다.

완화

CVE-2026-21509를 해결하는 Microsoft의 Office 업데이트를 지체 없이 적용하십시오. 가능하면 Office 내에서 WebDAV 사용을 비활성화하거나 엄격히 제한하십시오. 악성 CLSID 레지스트리 등록을 제거하고 OneDriveHealth 예약 작업을 삭제하십시오. Filen 도메인과 관련 IP에 대한 출력 접근을 차단하고, DLL 및 PNG 아티팩트 생성 여부를 모니터링하십시오.

대응

EhStoreShell.dll, SplashScreen.png 생성 및 하이재킹된 CLSID 레지스트리 경로 아래의 변경 사항을 주의 깊게 관찰하십시오. OneDriveHealth와 일치하는 예약 작업 생성 여부를 탐지하고 조사하십시오. Office 프로세스 활동과 Filen 도메인으로의 외부 연결을 연관 지어 문서를 격리하고, 영향을 받은 시스템에 대한 전체 호스트 포렌식을 수행하십시오.

공격 흐름

탐지

의심스러운 Taskkill 실행 (cmdline 활용)

SOC Prime 팀
2026년 2월 2일

Schtasks가 의심스러운 디렉터리 / 바이너리 / 스크립트를 가리킴 (cmdline 활용)

SOC Prime 팀
2026년 2월 2일

탐색기 COM 하이재킹 가능성 (registry_event 활용)

SOC Prime 팀
2026년 2월 2일

Search / Search-MS URI 프로토콜 핸들러 남용 가능성 (cmdline 활용)

SOC Prime 팀
2026년 2월 2일

의심스러운 예약 작업 생성, 실행, 삭제 동작 (process_creation 활용)

SOC Prime 팀
2026년 2월 2일

서드 파티 서비스 / 도구를 통해 데이터 침입 / 유출 / C2 가능성 (proxy 활용)

SOC Prime 팀
2026년 2월 2일

서드 파티 서비스 / 도구를 통해 데이터 침입 / 유출 / C2 가능성 (dns 활용)

SOC Prime 팀
2026년 2월 2일

LOLBAS Regsvr32 (cmdline 활용)

SOC Prime 팀
2026년 2월 2일

IOCs (DestinationIP) 탐지: CERT-UA 발표: UAC-0001 (APT28) CVE-2026-21509 사용 공격

SOC Prime AI 규칙
2026년 2월 2일

IOCs (HashSha256) 탐지: CERT-UA 발표: UAC-0001 (APT28) CVE-2026-21509 사용 공격

SOC Prime AI 규칙
2026년 2월 2일

IOCs (HashSha1) 탐지: CERT-UA 발표: UAC-0001 (APT28) CVE-2026-21509 사용 공격

SOC Prime AI 규칙
2026년 2월 2일

IOCs (HashMd5) 탐지: CERT-UA 발표: UAC-0001 (APT28) CVE-2026-21509 사용 공격

SOC Prime AI 규칙
2026년 2월 2일

IOCs (Emails) 탐지: CERT-UA 발표: UAC-0001 (APT28) CVE-2026-21509 사용 공격

SOC Prime AI 규칙
2026년 2월 2일

IOCs (SourceIP) 탐지: CERT-UA 발표: UAC-0001 (APT28) CVE-2026-21509 사용 공격

SOC Prime AI 규칙
2026년 2월 2일

COM 하이재킹 탐지의 레지스트리 수정 [Windows 레지스트리 이벤트]

SOC Prime AI 규칙
2026년 2월 2일

APT28 사이버 공격 관련 악성 네트워크 연결 [Windows 네트워크 연결]

SOC Prime AI 규칙
2026년 2월 2일

확장 저장소 쉘 확장으로 가장한 의심스러운 파일 생성 [Windows 파일 이벤트]

SOC Prime AI 규칙
2026년 2월 2일

시뮬레이션 실행

필수 조건: 텔레메트리 및 기준선 검사 사전 비행 확인이 완료되어야 합니다.

근거: 이 섹션은 탐지 규칙을 트리거하기 위해 설계된 적군 기술(TTP) 실행을 자세히 설명합니다. 명령어와 설명은 반드시 식별된 TTP를 직접 반영하고, 탐지 논리에 의해 기대되는 정확한 텔레메트리를 생성해야 합니다. 추상적이거나 관련 없는 예시는 잘못된 진단을 초래할 것입니다.

  • 공격 내러티브 & 명령어:
    적군은 피해자 기기에서 거점을 확보하고 지속성과 은밀한 코드 실행을 달성하고자 합니다. 이들은 거의 사용되지 않는 CLSID를 선택합니다. {D9144DCD-E998-4ECA-AB6A-DCD83CCBA16D} 이는 합법적인 소프트웨어에 의해 참조될 가능성이 낮습니다. PowerShell(T1218.010)을 사용하여 악성 DLL 경로를 InProcServer32 서브 키에 기록하고, 필요에 따라 ThreadingModel 값을 "Both" 로 설정하여 COM 로딩 요구를 만족시킵니다. 등록이 완료되면, 이 COM 객체를 인스턴스화하려는 어떤 합법적인 애플리케이션도 공격자가 제어하는 DLL을 로드하게 되며, 이는 이후 rundll32.exe (T1218.009)을 호출하여 공격자의 C2 인프라(T1584.001)에 연결하는 페이로드를 실행할 수 있습니다.

  • 회귀 테스트 스크립트:

    # -------------------------------
    # COM 하이재킹 시뮬레이션 (T1546.015)
    # -------------------------------
    $clsid = '{D9144DCD-E998-4ECA-AB6A-DCD83CCBA16D}'
    $regPath = "HKLM:SoftwareClassesCLSID$clsidInProcServer32"
    
    # 키가 존재하는지 확인
    New-Item -Path $regPath -Force | Out-Null
    
    # 기본 값을 악성 DLL 경로로 설정 (DLL이 디스크에 이미 있다고 가정)
    $maliciousDll = "C:Tempevil.dll"
    Set-ItemProperty -Path $regPath -Name '(Default)' -Value $maliciousDll
    
    # 선택 사항: ThreadingModel을 Both로 설정 (일부 COM 객체는 이를 요구함)
    Set-ItemProperty -Path $regPath -Name 'ThreadingModel' -Value 'Both'
    
    Write-Host "[+] CLSID $clsid에 대한 레지스트리 하이재킹이 $maliciousDll를 가리키도록 생성되었습니다."
  • 정리 명령어:

    # -------------------------------
    # COM 하이재킹 시뮬레이션 정리
    # -------------------------------
    $clsid = '{D9144DCD-E998-4ECA-AB6A-DCD83CCBA16D}'
    $regPath = "HKLM:SoftwareClassesCLSID$clsid"
    
    # 전체 CLSID 키 트리 제거
    if (Test-Path $regPath) {
        Remove-Item -Path $regPath -Recurse -Force
        Write-Host "[+] 레지스트리에서 하이재킹된 CLSID $clsid을 제거했습니다."
    } else {
        Write-Host "[*] CLSID $clsid이 존재하지 않음; 정리할 것이 없습니다."
    }