SOC Prime Bias: 중간

24 3월 2026 14:48

W-2에서 BYOVD까지: 세금 검색이 커널 모드 AV/EDR 킬로 이어지는 방법

Author Photo
Ruslan Mikhalov SOC Prime에서 위협 연구 책임자 linkedin icon 팔로우
W-2에서 BYOVD까지: 세금 검색이 커널 모드 AV/EDR 킬로 이어지는 방법
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

요약

광범위한 악성 광고 작전은 세금 양식 검색에 연결된 Google Ads를 악용하여 가짜 ScreenConnect 설치 프로그램을 배포합니다. 해당 설치 프로그램은 다단계 크립터를 배포하고, 이는 BYOVD 유틸리티 인 HwAudKiller를 로드합니다. 이 도구는 서명된 화웨이 오디오 드라이버를 설치하고 커널 수준의 액세스를 사용하여 AV 및 EDR 프로세스를 종료합니다. 보안 제어가 비활성화되면 공격자는 LSASS 자격 증명을 덤프하고 NetExec를 사용하여 네트워크 전반에 걸쳐 자격 증명을 수집합니다. 이 활동은 기본형 악성코드 배포가 맞춤형 커널 드라이버와 결합되어 잠입 액세스, 방어 억제, 지속성을 유지할 수 있음을 강조합니다.

조사

Huntress 연구원들은 다음에서 리다이렉션 경로를 추적했습니다. anukitax.com to bringetax.com 가짜 ScreenConnect MSI 패키지의 배달을 확인했습니다. 드롭된 crypteds.exe는 회피를 위해 2 GB 메모리 할당 트릭을 사용하고 HwAudKiller를 로드하기 전 timeSetEvent를 통해 셸코드를 간접적으로 실행합니다. 해당 페이로드는 %TEMP%에 Havoc.sys를 작성하고 하드코딩된 보안 프로세스 목록을 종료하기 위해 Havoc라는 이름의 커널 서비스를 등록합니다. 두 번째 침입에서는, 공격자들이 VPN 컴프레션을 통해 액세스를 얻고 동일한 드라이버를 재사용했으며, FortiEDR 프로세스를 포함하도록 킬 목록을 확장했고, comsvcs.dll을 사용하여 LSASS를 덤프하고, NetExec를 사용하여 측면 이동을 수행했습니다.

완화

조직은 합법적인 ScreenConnect 배포를 차단하거나 엄격하게 허용 목록에 추가하고, 익숙하지 않은 시험 인스턴스 유형-* 릴레이 호스트 이름을 모니터링해야 합니다. 보안 팀은 %TEMP% 경로에서 로드된 커널 드라이버를 주시하고 Sysmon 이벤트 ID 6과 Windows 서비스 설치 활동에 대한 경고를 설정해야 합니다. C:WindowsSystemTempScreenConnect 및 %TEMP%에 기록된 파일의 엄격한 실행 제어를 수행해야 합니다. 사용자 인식 노력을 강화하여 Google Ads 검색 결과가 세금 관련 다운로드의 신뢰할 수 있는 출처가 아니라는 점을 상기시켜야 합니다.

대응

불량 ScreenConnect 설치 프로그램이 발견되면 즉시 엔드포인트를 격리하고 crypteds.exe 및 드롭된 모든 Havoc.sys 드라이버를 수집하며 Havoc 서비스를 중지하세요. 잠재적으로 손상된 계정에 대해 자격 증명 재설정 절차를 시작하고 노출된 액세스를 취소합니다. 그런 다음 추가 ScreenConnect 릴레이 연결, NetExec 실행 및 LSASS 덤핑 징후를 위해 더 넓은 환경을 스캔합니다. 마지막으로, 발견된 IOC를 내부 및 외부 위협 인텔리전스 채널과 문서화하여 공유합니다.

"graph TB %% Class definitions classDef action fill:#99ccff classDef tool fill:#ffcc99 classDef malware fill:#ff9999 classDef process fill:#ccccff classDef driver fill:#ffddaa %% Node definitions initial_access["<b>기술</b> – T1659 콘텐츠 삽입<br/><b>설명</b>: 악성 Google Ads가 세금 양식을 검색하는 사용자를 가짜 ScreenConnect MSI 설치 프로그램을 제공하는 은폐 된 랜딩 페이지로 리디렉션합니다."] class initial_access action tool_google_ads["<b>도구</b> – 이름: Google Ads<br/><b>목적</b>: 랜딩 페이지에 연결되는 악성 광고 제공."] class tool_google_ads tool malware_screenconnect["<b>악성코드</b> – 이름: ScreenConnect MSI<br/><b>유형</b>: 원격 액세스 설치 프로그램."] class malware_screenconnect malware user_execution["<b>기술</b> – T1204 사용자 실행<br/><b>설명</b>: 사용자가 다운로드한 form_w9.msi를 실행하여 ScreenConnect를 설치합니다."] class user_execution action remote_desktop["<b>기술</b> – T1219.002 원격 데스크톱 소프트웨어<br/><b>설명</b>: 침입당한 ScreenConnect 세션을 통해 공격자가 대화형 원격 제어를 얻습니다."] class remote_desktop action obfuscation["<b>기술</b> – T1027 숨겨진 파일 또는 정보<br/><b>설명</b>: 페이로드는 XOR 암호화된 셸코드, 사용자 정의 압축 및 반사 로딩을 사용합니다."] class obfuscation action compile_after_delivery["<b>기술</b> – T1027.004 배송 후 컴파일<br/><b>설명</b>: 정적 감지를 피하기 위해 배송 후 페이로드를 컴파일합니다."] class compile_after_delivery action reflective_loader["<b>프로세스</b> – 이름: Reflective Loader<br/><b>설명</b>: 런타임에 암호화된 셸코드를 로드합니다."] class reflective_loader process persistence_service["<b>기술</b> – T1543 시스템 프로세스를 생성하거나 수정<br/><b>설명</b>: 악성코드는 서명된 화웨이 드라이버를 로드하여 SYSTEM으로 실행되는 Windows 서비스를 생성합니다."] class persistence_service action driver_havoc["<b>드라이버</b> – 이름: Havoc.sys<br/><b>설명</b>: %TEMP%에서 로드된 서명된 화웨이 커널 드라이버."] class driver_havoc driver credential_dump["<b>기술</b> – T1547.008 LSASS 드라이버<br/><b>설명</b>: 드라이버는 rundll32를 통해 comsvcs.dll을 사용하여 LSASS 메모리를 덤프합니다."] class credential_dump action tool_comsvcs["<b>도구</b> – 이름: comsvcs.dll<br/><b>목적</b>: rundll32에 의해 LSASS 덤프를 위해 호출됩니다."] class tool_comsvcs tool process_rundll["<b>프로세스</b> – 이름: rundll32.exe<br/><b>설명</b>: 자격 증명 덤핑을 위해 comsvcs.dll을 실행합니다."] class process_rundll process discovery_netscan["<b>기술</b> – T1018 원격 시스템 검색<br/><b>설명</b>: NetScan은 내부 호스트를 나열합니다."] class discovery_netscan action tool_netscan["<b>도구</b> – 이름: NetScan<br/><b>목적</b>: 네트워크 내 라이브 호스트를 스캔합니다."] class tool_netscan tool lateral_rdp["<b>기술</b> – T1021.001 원격 서비스 RDP<br/><b>설명</b>: RDP를 사용하여 측면 이동을 수행합니다."] class lateral_rdp action tool_rdp["<b>도구</b> – 이름: RDP<br/><b>목적</b>: 측면 이동을 위해 사용하는 원격 데스크톱 프로토콜."] class tool_rdp tool lateral_nxc["<b>기술</b> – T1210 원격 서비스의 취약점 악용<br/><b>설명</b>: NetExec(nxc)를 사용하여 원격 머신에서 명령을 실행합니다."] class lateral_nxc action tool_nxc["<b>도구</b> – 이름: NetExec(nxc)<br/><b>목적</b>: SMB 또는 RDP를 통해 명령을 실행합니다."] class tool_nxc tool defense_terminate["<b>기술</b> – T1027 추가 방어 회피<br/><b>설명</b>: 커널 드라이버는 Defender, Kaspersky, SentinelOne과 같은 보안 프로세스를 종료합니다."] class defense_terminate action %% 연결 initial_access –>|사용| tool_google_ads tool_google_ads –>|배달| malware_screenconnect malware_screenconnect –>|설치됨| user_execution user_execution –>|활성화| remote_desktop remote_desktop –>|채널 제공| obfuscation obfuscation –>|사용| compile_after_delivery compile_after_delivery –>|로딩됨| reflective_loader reflective_loader –>|생성| persistence_service persistence_service –>|드라이버 로드| driver_havoc driver_havoc –>|활성화| credential_dump credential_dump –>|사용| tool_comsvcs tool_comsvcs –>|실행| process_rundll process_rundll –>|간소화| discovery_netscan discovery_netscan –>|사용| tool_netscan discovery_netscan –>|활성화| lateral_rdp lateral_rdp –>|사용| tool_rdp lateral_rdp –>|활성화| lateral_nxc lateral_nxc –>|사용| tool_nxc driver_havoc –>|실행| defense_terminate "

공격 흐름

탐지

가능한 IP 조회 도메인 통신 시도 (dns를 통해)

SOC Prime 팀
2026년 3월 23일

가능한 BYOVD – 취약한 드라이버 공격 가져오기 (감사를 통해)

SOC Prime 팀
2026년 3월 23일

제3자 서비스/도구를 통한 데이터 침투/유출/C2 가능 (dns를 통해)

SOC Prime 팀
2026년 3월 23일

대체 원격 액세스/관리 소프트웨어 (프로세스 생성을 통해)

SOC Prime 팀
2026년 3월 23일

Comsvcs.dll을 사용한 가능한 자격 증명 덤핑 (명령줄을 통해)

SOC Prime 팀
2026년 3월 23일

가능한 BYOVD – 취약한 드라이버 공격 가져오기 (파일 이벤트를 통해)

SOC Prime 팀
2026년 3월 23일

시스템 프로세스 나열 가능 (명령줄을 통해)

SOC Prime 팀
2026년 3월 23일

텔레그램 남용 명령 및 제어 채널 가능 (dns_query를 통해)

SOC Prime 팀
2026년 3월 23일

의심스러운 위치에 있는 드라이버를 가리키는 Windows 서비스가 생성됨 (명령줄을 통해)

SOC Prime 팀
2026년 3월 23일

제3자 서비스/도구를 통한 데이터 침투/유출/C2 가능 (프록시를 통해)

SOC Prime 팀
2026년 3월 23일

드라이버를 가리키는 Windows 서비스가 생성됨 (명령줄을 통해)

SOC Prime 팀
2026년 3월 23일

Lsass 프로세스 나열 가능 (명령줄을 통해)

SOC Prime 팀
2026년 3월 23일

탐지할 IOC (DestinationIP): W-2에서 BYOVD로의 여부: 세금 검색이 커널 모드 AV/EDR 킬로 이어지는 방법

SOC Prime AI 규칙
2026년 3월 23일

탐지할 IOC (HashSha256): W-2에서 BYOVD로의 여부: 세금 검색이 커널 모드 AV/EDR 킬로 이어지는 방법

SOC Prime AI 규칙
2026년 3월 23일

탐지할 IOC (SourceIP): W-2에서 BYOVD로의 여부: 세금 검색이 커널 모드 AV/EDR 킬로 이어지는 방법

SOC Prime AI 규칙
2026년 3월 23일

악성 소프트웨어 배포 및 자격 증명 수집을 전달하는 악성 광고 캠페인 [Windows 프로세스 생성]

SOC Prime AI 규칙
2026년 3월 23일

시뮬레이션 실행

사전 요구 사항: Telemetry 및 Baseline Pre-flight Check가 통과해야 합니다.

이유: 이 섹션은 탐지 규칙을 트리거하기 위해 고안된 적수 기술 (TTP)의 정확한 실행을 설명합니다. 명령 및 내러티브는 식별된 TTP를 직접 반영하고 탐지 논리에 기대되는 정확한 원격 검출 생성을 목표로 해야 합니다.

  • 공격 내러티브 및 명령:

    1. 악성 광고를 통한 초기 접근: 피해자가 세금 양식을 검색하면서 악성 광고를 클릭하면, 드라이브 바이 다운로드가 발생하여 form_w9.msi.
    2. 불량 소프트웨어 설치: MSI는 ScreenConnect와 유사한 원격 지원 도구를 조용히 설치하고 crypteds.exe and sent.exe 디렉터리로 드롭됩니다. 디렉터리로 드롭됩니다. 자격 증명 수집:
    3. LSA Secrets를 덤프하기 위해 실행됩니다. crypteds.exe DLL 측면 로딩을 통한 Rundll32:
    4. 정적 탐지를 회피하기 위해, 공격자는 시스템 DLL 시스템 DLL 을 진입점으로 사용하는 악성 DLL을 로드합니다. 이는 내장된 페이로드를 실행합니다. 을 진입점으로 사용하는 악성 DLL을 로드합니다. 이는 내장된 페이로드를 실행합니다. 테스트 머신에서 시뮬레이션된 정확한 명령은:

    # 1. 악성 MSI 배포 (시뮬레이션) Start-Process -FilePath “C:Tempform_w9.msi” -ArgumentList “/quiet” -Wait # 2. 자격 증명 덤프 도구 실행 Start-Process -FilePath “$env:TEMPcrypteds.exe” -ArgumentList “/dump” -Wait # 3. comsvcs.dll을 사용하여 rundll32를 통해 악성 페이로드 로드 rundll32.exe “C:windowsSystem32comsvcs.dll”,LaunchApplication “$env:TEMPsent.exe”

    회귀 테스트 스크립트:
  • 아래 스크립트는 위의 단계를 자동화하고 생성된 텔레메트리가 탐지 규칙 기대와 일치하는지 확인합니다. # 회귀 테스트 스크립트 – 악성 광고 캠페인 시뮬레이션 # ———————————————————– # 0. 사전 요구 사항: 명령줄 로깅이 활성화된 상태에서 Sysmon이 실행 중인지 확인하십시오. # 변수 $msiPath = “$env:TEMPform_w9.msi” $dumpTool = “$env:TEMPcrypteds.exe” $payload = “$env:TEMPsent.exe” $dllPath = “C:windowsSystem32comsvcs.dll” # 도우미: 악성 이진 파일을 모방하기 위한 더미 파일 생성 New-Item -Path $msiPath -ItemType File -Force | Out-Null New-Item -Path $dumpTool -ItemType File -Force | Out-Null New-Item -Path $payload -ItemType File -Force | Out-Null Write-Host “[*] 악성 MSI 설치 중 (시뮬레이션)…” Start-Process -FilePath “msiexec.exe” -ArgumentList “/i `”$msiPath`” /quiet” -Wait Write-Host “[*] 자격 증명 덤프 도구 실행 중…” Start-Process -FilePath $dumpTool -ArgumentList “/dump” -Wait Write-Host “[*] rundll32를 통한 DLL 측면 로딩 수행 중…” rundll32.exe “`”$dllPath`””,LaunchApplication “`”$payload`”” Write-Host “[+] 시뮬레이션 완료. SIEM을 통해 탐지 확인.”

    정리 명령:
  • 더미 아티팩트를 제거하고 남아 있는 프로세스를 중지합니다. # 정리 스크립트 $paths = @(“$env:TEMPform_w9.msi”,”$env:TEMPcrypteds.exe”,”$env:TEMPsent.exe”) foreach ($p in $paths) { if (Test-Path $p) { Remove-Item -Path $p -Force } } # 테스트에서 생성된 남아 있는 rundll32 프로세스를 종료합니다. Get-Process -Name rundll32 -ErrorAction SilentlyContinue | Where-Object {$_.Path -eq “$env:SystemRootSystem32rundll32.exe”} | Stop-Process -Force

    # Cleanup Script
    $paths = @("$env:TEMPform_w9.msi","$env:TEMPcrypteds.exe","$env:TEMPsent.exe")
    foreach ($p in $paths) {
        if (Test-Path $p) { Remove-Item -Path $p -Force }
    }
    
    # Terminate any stray rundll32 processes spawned by the test
    Get-Process -Name rundll32 -ErrorAction SilentlyContinue |
        Where-Object {$_.Path -eq "$env:SystemRootSystem32rundll32.exe"} |
        Stop-Process -Force