
Default Detections for EDR
EDR용 기본 탐지 항목
아래에 상세히 설명된 탐지 항목은 제가 배포하거나 작업하는 모든 EDR 제품에 구축하고자 하는 것들입니다. 중요도와 데이터셋에 대한 자체적인 고려 사항을 적용하십시오.
탐지 항목을 구현하는 방법에 대해서는 이 게시물을 확인하세요. https://www.goblinloot.net/2023/02/writing-detections-when-stuck-with-edr.html?m=1
보안 프로그램의 일부로 엔드포인트에서 사용하는 모든 시스템 목록을 수집하십시오. 여기에는 자산 관리, 감사, 접근 통제 등이 포함될 수 있습니다. 목록을 확보한 후에는 해당 시스템이 엔드포인트와 어떻게 상호 작용하는지, WMI, GPO 클라이언트 또는 설치된 에이전트 등 어떤 구성 요소가 필요한지 이해하는 작업을 수행하십시오. 서비스 비활성화나 레지스트리 키 변경과 같은 구성 요소 변조를 모니터링하는 탐지 항목을 작성하십시오.
스크립트가 정당한 목적으로 임시 디렉터리에서 실행되는 경우도 있지만, 이런 상황이 발생할 때 알 수 있도록 탐지 항목을 구축해야 합니다. 이 탐지 항목을 다른 탐지 항목의 맥락으로 활용하십시오. 모니터링해야 할 디렉터리는 다음과 같습니다:
%userprofile%\AppData\Local\Temp
%systemroot%\Temp
%systemroot%\Windows\Temp
%systemroot%\Documents and Settings%username%\Local Settings\Temp
%systemroot%\Documents and Settings\Default User\Local Settings\Temp
%systemroot%\Documents and Settings\All Users\Local Settings\Temp
(https://github.com/eclypsium/Screwed-Drivers/blob/master/DRIVERS.md)에서 목록을 가져와 간단한 해시 조회만 수행하면 됩니다. 쉽죠!
여기서는 탐지를 회피하기 위해 운영 체제 기본 파일의 이름이 변경되는 것을 찾고자 합니다. https://lolbas-project.github.io/ 의 파일 해시를 캡처하고 적절한 이름과 일치하지 않는 파일을 식별하는 탐지 항목을 작성하십시오.
'Windows Defender Firewall Service' 또는 'Base Filtering Engine' 서비스가 비활성화되는 것을 식별하는 탐지 항목을 구축하십시오. 또한 지나치게 개방적인 규칙을 추가하려는 모든 명령줄을 포착하도록 하십시오. 방화벽 규칙 항목이 빠르게 추가되는 상황을 탐지하도록 확장할 수도 있습니다.
다음 디렉터리에서 데이터가 복사되거나 이동되는 것을 식별하는 탐지 항목을 구축하십시오:
\Google\Chrome\User Data\Default\Login Data
\Opera Software\Opera Stable\Login Data
\Mozilla\Firefox\Profiles\
\Microsoft\Edge\User Data\
UAC가 비활성화되었음을 나타낼 수 있으므로 아래 레지스트리 키의 변경 사항을 모니터링하십시오.
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System
WMI를 사용하여 파일을 실행하는 방법은 다양하며, 제 경험상 정당한 실행은 거의 발생하지 않습니다. 특히 스크립트에 디렉터리가 포함되거나 'create'가 사용되는 경우 wmic, Invoke-WmiMethod 또는 Win32_Process의 사용을 식별해야 합니다.
섀도 볼륨 삭제는 이제 대부분의 랜섬웨어 변종이 사용하는 기본적인 기술이므로 경보를 울리기에 좋은 방법입니다. 명령 예시는 다음과 같습니다:
vssadmin delete shadows /all /quiet
Get-WmiObject -Namespace root\cimv2 -Class Win32_ShadowCopy | Where-Object { $.VolumeName -eq "C:" } | ForEach-Object { $.Delete() }
wbadmin delete systemstatebackup -keepversions:0
아래 명령이 실행되는 시점을 포착하십시오. 이 명령은 악의적인 행위자가 보안 도구를 비활성화하고 자신의 바이너리만 실행되도록 하는 쉬운 방법을 제공합니다:
bcdedit /set safeboot {"Minimal", "AlternateShell", "Network"}
환경에서 승인된 RMM 도구를 열거한 다음 다른 모든 변형을 플래그로 표시하는 탐지 항목을 구축하십시오. 제가 유지 관리하는 일부 목록은 다음과 같습니다: https://github.com/QueenSquishy/Zombie/blob/main/Lists/RMM%20Tools
여기서는 프로세스와 해당 프로세스가 호출하는 항목의 목록을 구축한 다음, 기존 데이터셋에서 powershell이나 wscript 같은 스크립트 인터프리터를 사용하는 항목을 제외해야 합니다. 새로 스크립트 인터프리터를 호출하는 모든 항목은 플래그로 표시됩니다.
기본적으로 일반 사용자의 파일 다운로드 환경은 다음과 같습니다:
브라우저를 사용할 때는 실행 중인 사용자 디렉터리 내부의 Downloads 폴더가 표시되거나 자동으로 다운로드됩니다.
SMB 관련 서비스나 애플리케이션을 사용할 때는 사용자 프로필의 루트가 표시됩니다.
이러한 공통 요소를 고려하면 사용자가 Pictures, Videos 또는 Public 같은 디렉터리에 PE 파일을 다운로드하지 않을 것이라고 어느 정도 예상할 수 있습니다. 그러나 공격자는 이러한 조건에서 작동하지 않으므로 이러한 디렉터리에서 PE 파일이 발견될 때 포착하는 탐지 항목을 작성할 수 있습니다.