SOC Prime Bias: 치명적

08 4월 2026 15:05

VEN0m 랜섬웨어: Windows Defender의 취약점

Author Photo
Ruslan Mikhalov SOC Prime에서 위협 연구 책임자 linkedin icon 팔로우
VEN0m 랜섬웨어: Windows Defender의 취약점
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

요약

VEN0m은 Rust로 작성된 오픈 소스 랜섬웨어 계열로, 커널 수준의 보호를 우회하기 위해 취약한 커널 드라이버(IMFForceDelete.sys)를 번들로 포함합니다. 테스트 중 malware는 파일을 암호화하고 지속성을 수립하며, Windows Defender가 활성화된 완전히 패치된 Windows 11 호스트에 몸값 노트를 표시했습니다. 이 전체 공격 체인은 9단계에 걸쳐 있으며, 취약한 드라이버를 성공적으로 로드하는 것이 핵심입니다. 방어의 주요 포인트는 간단합니다: 드라이버가 로드되지 않도록 막으면 공격이 중단됩니다. 이 보고서는 심지어 하드닝된 시스템에서도 위험한 커널 드라이버가 여전히 실행을 가능하게 하는 반복적인 엔드포인트 블라인드 스팟을 강조합니다.

조사

Ransom-ISAC은 Windows 11 Pro 24H2에서 통제된 실험실에서 침투를 재현하고 모든 9단계를 문서화했습니다. 이 체인은 DelegateExecute 하이잭을 통한 slui.exe를 활용하여 UAC 우회를 시작으로, IOCTL 작업을 통해 방어를 약화시키고 파일 암호화를 활성화하는 드라이버 지원 탬퍼링으로 전환됩니다. 다른 엔드포인트 스택에서도 동일한 핵심 행동이 관찰된 반면, MagicSword 플랫폼은 취약한 드라이버가 로드되기 전에 이를 차단하여 활동을 중단시켰습니다. DFIR 보고서에는 소스 수준의 관측과 포렌식 아티팩트가 포함되어 있으며, 2026년 2월 26일에 작성되었습니다.

완화

완화는 드라이버 로드를 방지하고 응용 프로그램 제어를 실행하는 데 초점을 맞춥니다. Windows Defender 응용 프로그램 제어(WDAC)를 활성화하거나, 신뢰할 수 있는 서드파티 취약 드라이버 블록리스트(예: MagicSword)를 사용하고, ASR 규칙 56a863a9-875e-4185-98a7-b882c64b5ce5을 시행하며, 하이퍼바이저 보호 코드 무결성(HVCI)을 켭니다. 응용 프로그램 제어를 강제 모드로 실행하여 VEN0m.exe를 차단하고, 드라이버 차단 규칙에 IMFForceDelete.sys를 명시적으로 포함시키십시오. 블록리스트를 최신 상태로 유지하고, 의심스러운 드라이버 설치 및 로드 활동을 경고하십시오.

대응

VEN0m이 감지되면 즉시 호스트를 격리하고 VEN0m.exe 프로세스를 종료하며 IMFForceDelete.sys를 디스크에서 제거하십시오. 검증된 백업에서 암호화된 데이터를 복구한 다음, Windows Defender 보호의 무결성과 구성을 검증하십시오. 관련 ASR 정책을 적용하거나 강화하고, 변경된 WinlogonUserinit 값과 의심스러운 예약 태스크와 같은 지속성 아티팩트에 대한 전체 포렌식 검사를 완료하십시오.

“graph TB %% Class definitions classDef technique fill:#99ccff %% Node definitions tech_uac_bypass[“기법T1548.002 권한 상승 제어 메커니즘 악용: 사용자 계정 제어 우회
설명: 높은 권한을 얻기 위해 UAC를 우회합니다.”] class tech_uac_bypass technique tech_code_sign_mod[“기법T1553.006 신뢰 제어 훼손: 코드 서명 정책 수정
설명: 코드 서명 정책을 수정하여 CVE-2025-26125를 통해 취약한 드라이버 IMFForceDelete.sys를 로드합니다.”] class tech_code_sign_mod technique tech_impair_def[“기법T1562 방어 저하
설명: 보안 방어를 비활성화하기 위해 Windows Defender 파일을 삭제합니다.”] class tech_impair_def technique tech_winlogon_helper[“기법T1547.004 부팅 또는 로그인 자동 시작 실행: Winlogon Helper DLL
설명: 로그온 시 악성 DLL을 로드하기 위해 Userinit 레지스트리 값을 수정합니다.”] class tech_winlogon_helper technique tech_encrypt[“기법T1486 영향력 있는 데이터 암호화
설명: AES-256-GCM 암호화를 사용하여 대상 파일을 암호화합니다.”] class tech_encrypt technique tech_scheduled_task[“기법T1053 예약된 작업/작업
설명: 랜섬웨어 노트를 주기적으로 보여주는 예약된 작업을 만듭니다.”] class tech_scheduled_task technique %% Connections showing attack flow tech_uac_bypass –>|활성화| tech_code_sign_mod tech_code_sign_mod –>|활성화| tech_impair_def tech_impair_def –>|활성화| tech_winlogon_helper tech_winlogon_helper –>|활성화| tech_encrypt tech_encrypt –>|활성화| tech_scheduled_task “

공격 흐름

시뮬레이션 실행

전제 조건: 원격 측정 및 기본 라인 프리 플라이트 검사 통과 필요.

이유: 이 섹션은 탐지 규칙을 유발하도록 설계된 적기술 체계(TTP)의 정확한 실행을 상세히 설명합니다. 명령과 설명은 식별된 TTPs를 직접 반영하여 탐지 논리가 기대하는 원격 측정을 정확하게 생성해야 합니다. 추상적이거나 관련 없는 예는 오진을 초래할 것입니다.

  • 공격 서사 및 명령:

    1. 발견: 공격자는 Windows Defender 설치 디렉토리를 찾기 위해 시스템을 열거합니다 (C:Program FilesWindows Defender).
    2. 방어 비활성화 (T1562.001): 권한 있는 프로세스를 사용하여 공격자는 MsMpEng.dll 파일과 관련된 Defender 바이너리를 삭제하여 Sysmon의 FileDelete 이벤트에서 Defender 경로로 끝나는 대상 파일 이름을 갖게 합니다.
    3. 악성 드라이버 배포 (T1211, T1548.002, T1569.002): 악성 드라이버 파일 ven0m.sys%AppData%LocalTemp에 복사됩니다. 공격자는 sc create 를 통해 드라이버를 서비스로 등록합니다(UAC 우회는 예약된 작업을 통해 수행됨). 이는 FileCreate 이벤트를 일으켜, 임시 폴더에 .sys 파일을 생성합니다.
    4. 지속성 (T1053.005): 시스템 시작 시 드라이버 로더를 실행하는 예약된 작업이 생성되어, 재부팅 후에도 드라이버가 로드되도록 합니다.
  • 회귀 테스트 스크립트:

    # VEN0m AV/EDR 분쇄 및 BYOVD 시뮬레이션
    # -------------------------------------------------
    # 1. Windows Defender 바이너리 삭제 (복사본으로 시뮬레이션)
    $defenderPath = "C:Program FilesWindows Defender"
    $dummyDefender = "$defenderPathMsMpEng.dll"
    New-Item -Path $dummyDefender -ItemType File -Force | Out-Null
    Write-Output "Defender 바이너리 삭제 시뮬레이션 중..." 
    Remove-Item -Path $dummyDefender -Force
    
    # 2. 악성 드라이버를 기록 가능한 위치에 드롭
    $driverSrc = "$env:USERPROFILEDownloadsven0m.sys"
    $driverDst = "$env:LOCALAPPDATATempven0m.sys"
    # Placeholder 드라이버 파일 생성 (데모용 빈 바이너리)
    Set-Content -Path $driverSrc -Value "가짜 드라이버 내용"
    Copy-Item -Path $driverSrc -Destination $driverDst -Force
    Write-Output "드라이버 $driverDst에 드롭됨"
    
    # 3. 관리자 권한으로 드라이버를 서비스로 등록
    $svcName = "Ven0mDrv"
    $svcCmd = "sc create $svcName binPath= `"$driverDst`" type= kernel start= demand"
    Write-Output "드라이버 서비스 등록 중..."
    Invoke-Expression $svcCmd
    
    # 4. 지속성을 위한 예약 작업 생성
    $action = New-ScheduledTaskAction -Execute "sc.exe" -Argument "start $svcName"
    $trigger = New-ScheduledTaskTrigger -AtStartup
    $taskName = "Ven0mPersistence"
    Register-ScheduledTask -TaskName $taskName -Action $action -Trigger $trigger -RunLevel Highest -Force
    Write-Output "$taskName 예약 작업 생성됨."
    # -------------------------------------------------
  • 정리 명령:

    # VEN0m 시뮬레이션 아티팩트 정리
    # 드라이버 서비스 중지 및 삭제
    sc stop Ven0mDrv
    sc delete Ven0mDrv
    
    # 드라이버 파일 제거
    Remove-Item -Path "$env:LOCALAPPDATATempven0m.sys" -Force
    
    # 예약 작업 삭제
    Unregister-ScheduledTask -TaskName "Ven0mPersistence" -Confirm:$false
    
    # 더미 Defender 파일 제거(여전히 존재하는 경우)
    $defenderDummy = "C:Program FilesWindows DefenderMsMpEng.dll"
    if (Test-Path $defenderDummy) { Remove-Item -Path $defenderDummy -Force }
    
    # 임시 드라이버 소스 파일 제거
    Remove-Item -Path "$env:USERPROFILEDownloadsven0m.sys" -Force