SOC Prime Bias: 치명적

14 1월 2026 17:55

폴더 리디렉트 기법으로 윈도우 디펜더의 보호 껍질 깨기

Author Photo
Ruslan Mikhalov Chief of Threat Research at SOC Prime linkedin icon 팔로우
폴더 리디렉트 기법으로 윈도우 디펜더의 보호 껍질 깨기
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

요약

이 기사는 Windows Defender 플랫폼 경로에 심볼릭 링크 디렉토리를 배치하고 공격자 제어 위치로 가리키는 폴더 리디렉션을 악용하는 Windows Defender 하이재킹 방법을 보여줍니다. 심볼릭 링크 폴더에 정당한 플랫폼 디렉토리보다 높은 ‘버전’ 번호를 할당하여 Defender가 다시 부팅 후 공격자가 제어하는 경로를 선택하고 그로부터 구성 요소를 로드할 수 있습니다. 이는 DLL 사이드 로딩, 선택적 파일 삭제 또는 Defender 서비스의 운영 방해 기회를 제공합니다.

조사

저자의 워크플로우는 활성 Defender 플랫폼 폴더를 임시 공격자 제어 디렉토리에 복사한 후 (mklink /D를 통해) 플랫폼 위치에 조작된, 더 높은 버전 식별자를 사용하여 디렉토리 심볼릭 링크를 만듭니다. 다시 부팅 후, Defender는 리디렉션된 디렉토리에서 실행되는 것으로 관찰되며 DLL 하이재킹 또는 Defender 시작 및 보호를 방해하기 위한 이진 파일 제거와 같은 후속 조작을 가능하게 합니다.

완화

Windows Defender 플랫폼 디렉토리에 대한 쓰기 권한을 엄격히 제한하고 심볼릭 링크의 의심스러운 생성 또는 예상치 못한 ‘버전 스타일’ 하위 폴더의 생성 여부를 모니터링하여 위험을 최소화하십시오. Defender 바이너리에 대한 무결성 제어를 구현하고 실행 경로나 플랫폼 디렉토리 선택 동작의 변경 시 경고를 합니다. 가능하다면 Windows Defender Application Control (WDAC) 또는 해당 경화 정책을 적용하여 보호된 시스템 위치의 무단 변경을 방지하십시오.

대응

mklink이 해당 디렉토리를 대상으로 사용할 때 또는 C:ProgramDataMicrosoftWindows DefenderPlatform 하에 새로운 심볼릭 링크 폴더가 나타날 때 경고하십시오. Defender 파일 무결성을 검증하고 실행 중인 바이너리가 예상 플랫폼 폴더에서 나온 것인지 확인하십시오. 변조가 확인되면 악성 심볼릭 링크를 제거하고 신뢰할 수 있는 소스에서 Defender 플랫폼 파일을 복원한 후, Defender 서비스를 다시 시작하고 호스트 전역에서 보호 상태를 다시 검증하십시오.

graph TB %% 클래스 정의 classDef action fill:#99ccff classDef technique fill:#ffcc99 %% 액션 노드 action_create_symlink[“<b>행동</b> – Defender 플랫폼에 심볼릭 링크 폴더 생성<br/><b>세부사항</b>: 링크는 더 높은 버전의 C:\TMP\AV를 가리킴”] class action_create_symlink action action_copy_binaries[“<b>행동</b> – 원본 Defender 바이너리를 공격자 제어 디렉터리로 복사”] class action_copy_binaries action action_place_malicious_dll[“<b>행동</b> – 침해된 폴더에 악성 DLL 배치”] class action_place_malicious_dll action action_cleanup[“<b>행동</b> – 증거 제거를 위해 심볼릭 링크 폴더 삭제”] class action_cleanup action %% 기술 노드 tech_T1574_009[“<b>기술</b> – T1574.009 COM 하이재킹<br/><b>설명</b>: COM 등록을 악용하여 정상 서비스가 공격자 코드를 로드하도록 유도”] class tech_T1574_009 technique tech_T1218[“<b>기술</b> – T1218 서명된 바이너리 프록시 실행<br/><b>설명</b>: 신뢰된 서명 바이너리를 이용해 악성 페이로드 실행”] class tech_T1218 technique tech_T1055_001[“<b>기술</b> – T1055.001 프로세스 인젝션(DLL)<br/><b>설명</b>: 정상 프로세스 메모리에 악성 DLL 주입”] class tech_T1055_001 technique tech_T1546_009[“<b>기술</b> – T1546.009 AppCert DLL 실행<br/><b>설명</b>: AppCert 메커니즘을 통해 악성 DLL 로드”] class tech_T1546_009 technique tech_T1070_004[“<b>기술</b> – T1070.004 파일 삭제<br/><b>설명</b>: 악성 활동을 숨기기 위해 파일 또는 디렉터리 제거”] class tech_T1070_004 technique tech_T1562[“<b>기술</b> – T1562 방어 무력화<br/><b>설명</b>: 보안 도구 및 기능을 방해하거나 비활성화”] class tech_T1562 technique %% 연결 action_create_symlink –>|사용| tech_T1574_009 tech_T1574_009 –>|활성화| action_copy_binaries action_copy_binaries –>|사용| tech_T1218 action_copy_binaries –>|준비| action_place_malicious_dll action_place_malicious_dll –>|활용| tech_T1055_001 action_place_malicious_dll –>|활용| tech_T1546_009 action_place_malicious_dll –>|결과| action_cleanup action_cleanup –>|사용| tech_T1070_004 tech_T1070_004 –>|결과| tech_T1562

공격 흐름

시뮬레이션 실행

전제조건: Telemetry 및 Baseline 사전 비행 체크가 통과해야 합니다.

이유: 이 섹션은 탐지 규칙을 유발하도록 설계된 적 공격자 기술(TTP)의 정확한 실행을 상세히 설명합니다. 명령어와 내러티브는 식별된 TTP를 직접 반영해야 하며, 탐지 논리에 의해 예상되는 정확한 텔레메트리를 생성하는 것을 목표로 해야 합니다. 추상적이거나 관련 없는 예는 오진을 초래할 것입니다.

  • 공격 나열 및 명령어:
    공격자는 대상 호스트의 낮은 권한 사용자 계정을 손상시켰습니다. 그들의 목표는 Windows Defender가 시작할 때 악성 페이로드를 로드하는 것으로, ‘플랫폼’ 폴더를 자신이 제어하는 위치로 리디렉션하는 것입니다. 그들은 다음 단계들을 수행합니다:

    1. 스테이징 디렉토리를 생성 (C:TMPAV) 악성 DLL을 가지고 있을 예정입니다.
    2. 스테이징 디렉토리 채움 조작된 DLL로 MpEngine.dll (Defender가 기대하는 이름).
    3. 디렉토리 심볼릭 링크 생성 … 이름 C:ProgramDataMicrosoftWindows DefenderPlatform{random} , 스테이징 디렉토리로 가리키며, 네이티브 mklink 유틸리티(시그마 규칙 트리거)와 PowerShell의 New‑Item (규칙 회피 테스트).
    4. Windows Defender 서비스 재시작 하이재킹된 경로에서 로딩을 강제하기 위해.
  • 회귀 테스트 스크립트:

    # ==============================
    #  폴더 하이재킹 시뮬레이션
    # ==============================
    $defenderPlatform = "C:ProgramDataMicrosoftWindows DefenderPlatform"
    $attackerStaging = "C:TMPAV"
    $linkName = "$defenderPlatformHijackTarget"
    
    # 1. 스테이징 폴더 준비
    New-Item -Path $attackerStaging -ItemType Directory -Force | Out-Null
    
    # 2. 더미 악성 DLL 드롭 (플레이스홀더)
    $dummyDll = "$attackerStagingMpEngine.dll"
    Set-Content -Path $dummyDll -Value "MALICIOUS DLL CONTENT" -Encoding ASCII
    
    # 3a. 네이티브 mklink 통해 심볼릭 링크 생성 (시그마 규칙 트리거)
    cmd /c "mklink /D `"$linkName`" `"$attackerStaging`""
    
    # 3b. PowerShell 통해 심볼릭 링크 생성 (회피 테스트)
    $psLink = "$defenderPlatformHijackTarget_PS"
    New-Item -ItemType SymbolicLink -Path $psLink -Target $attackerStaging -Force
    
    # 4. Windows Defender 서비스 재시작 (관리자 필요)
    # 주의: 강화된 환경에서는 이 단계가 차단될 수 있음; 완전성을 위해 포함.
  • 정리 명령어:

    # 생성된 심볼릭 링크 및 스테이징 파일 제거
    $links = @(
        "C:ProgramDataMicrosoftWindows DefenderPlatformHijackTarget",
        "C:ProgramDataMicrosoftWindows DefenderPlatformHijackTarget_PS"
    )
    foreach ($l in $links) {
        if (Test-Path $l) { Remove-Item $l -Force }
    }
    
    $staging = "C:TMPAV"
    if (Test-Path $staging) { Remove-Item $staging -Recurse -Force }
    
    # 필요 시 Defender 플랫폼 폴더 복원 (시뮬레이션 단계에서는 필요하지 않음)