관리자 접근을 통해 게시된 윈도우 서비스
Detection stack
- AIDR
- Alert
- ETL
- Query
요약
위협 행위자는 Windows 서비스를 악용하여 코드 실행 권한을 상승시키고 시스템에 지속적으로 접근할 수 있습니다. 일반적인 방법으로는 새로운 서비스를 sc.exe 나 PowerShell로 생성하고, 기존 서비스 바이너리 경로를 변경하거나 SDDL을 통해 서비스 권한을 수정하며, 서비스 실패 시 악성 명령어를 실행할 수 있도록 서비스 복구 설정을 악용하는 것이 포함됩니다. 더 고급 방법으로는 Windows API를 사용하여 명령줄 가시성을 피하거나 커널 모드 드라이버를 설치하는 것이 있습니다.
조사
보고서는 Windows 서비스를 조작하기 위한 여러 기술을 설명하고 공격자가 sc.exe, PowerShell, 및 레지스트리 변경과 같은 기본 도구에 의지할 수 있는 방법을 보여줍니다. 서비스 복구 옵션을 가로채어 페이로드를 실행하거나 시스템에 더 깊이 접근하기 위해 커널 모드 드라이버를 도입할 수 있는 방법을 설명합니다. 또한 이러한 행동을 탐지하는 데 유용한 Windows 이벤트 ID 및 레지스트리 위치를 식별합니다.
완화
조직은 서비스 관련 레지스트리 위치에 대한 감사 기능을 활성화하여 Services 하이브 및 관련 복구 구성 키를 포함하여 방어를 계층화해야 합니다. Windows 이벤트 ID 7045, 7024, 4657, 및 4663 를 모니터링하여 서비스 생성 또는 수정 여부를 확인하는 것이 중요합니다. 방어자는 서비스 권한 변경에 대해 보호하고 무단 커널 드라이버 설치 활동을 추적해야 합니다.
대응
수상한 서비스 활동이 탐지되면 대응자는 특히 services.exe 가 예상치 못한 쉘 프로세스를 실행하는 경우 시작 프로세스 및 부모-자식 체인을 조사해야 합니다. 레지스트리 변경은 CreateServiceW와 같은 API 활동과 연관되어야 하며, 무단 드라이버 로드에 대해 시스템을 검토해야 합니다. 환경 전반에서 서비스 바이너리 경로 및 복구 설정의 무결성도 검증해야 합니다.
공격 흐름
이 부분은 아직 업데이트 중입니다. 알림을 받으려면 가입하세요
알림받기탐지
레지스트리를 통한 수상한 서비스 생성 (cmdline 사용)
보기
수상한 서비스 생성 (PowerShell 사용)
보기
지속성을 위한 수동 서비스 또는 드라이버 설치 가능성 (cmdline 사용)
보기
UNC 공유에 바이너리를 사용한 서비스 생성 가능성 (cmdline 사용)
보기
지속성을 위한 수상한 서비스 생성 (시스템 사용)
보기
지속적인 서비스 생성을 위한 PowerShell New-Service 명령 [Windows Powershell]
보기
악성 서비스 및 복구 기능 악용 탐지 [Windows 시스템]
보기
sc.exe를 통한 악성 Windows 서비스 생성 및 구성 탐지 [Windows 프로세스 생성]
보기
시뮬레이션 실행
전제 조건: 텔레메트리 및 기준선 사전 점검이 통과해야 합니다.
이유: 이 섹션에서는 탐지 규칙을 트리거하도록 설계된 적대자 기술(TTP)의 정확한 실행을 자세히 설명합니다. 명령과 설명은 식별된 TTP를 직접 반영하여 탐지 로직이 예상하는 정확한 텔레메트리를 생성해야 합니다. 추상적이거나 관련 없는 예는 오진을 초래할 수 있습니다.
-
공격 설명 및 명령: 적대자는 초기 접근 권한을 얻고 발판을 유지하려고 합니다. 단순 파일 기반 안티바이러스에 의한 탐지를 피하기 위해 “WindowsUpdateSvc”라는 이름의 새로운 Windows 서비스를 생성하는 Living-off-the-Land 접근법을 사용하여 이 서비스를 악성 PowerShell 인코딩 명령어를 실행하도록 설정합니다. 이 서비스의 생성은 Windows 시스템 이벤트 ID 7045를 생성하며, 이는 탐지 규칙의 주요 트리거입니다.
-
회귀 테스트 스크립트:
# 이벤트 ID 7045를 트리거하기 위한 악성 서비스 생성 시뮬레이션: T1543.003 $ServiceName = "WindowsUpdateSvc" $Payload = "powershell.exe -ExecutionPolicy Bypass -WindowStyle Hidden -Command 'Write-Output "Persistence Established" | Out-File C:temppwned.txt'" # 서비스를 생성합니다 # 주의: 관리자 권한이 필요합니다 New-Service -Name $ServiceName -BinaryPathName $Payload -DisplayName "Windows Update Service" -StartupType Automatic Write-Host "서비스 $ServiceName 생성됨. 시스템 이벤트 로그에서 이벤트 ID 7045를 확인하세요." -
정리 명령:
# 정리: 악성 서비스 및 생성된 파일 제거 $ServiceName = "WindowsUpdateSvc" Stop-Service -Name $ServiceName -ErrorAction SilentlyContinue sc.exe delete $ServiceName if (Test-Path "C:temppwned.txt") { Remove-Item "C:temppwned.txt" } Write-Host "정리 완료."