Sysmon은 자체 이벤트 로그 채널에 기록합니다. 이벤트 뷰어에서는 응용 프로그램 및 서비스 로그 → Microsoft → Windows → Sysmon → Operational입니다. 명령 줄에서는 Microsoft-Windows-Sysmon/Operational이고, 디스크에서는 C:WindowsSystem32winevtLogsMicrosoft-Windows-Sysmon%4Operational.evtx로 기록됩니다. 이를 내보내려면 관리자 권한 프롬프트에서 다음을 실행하십시오:
wevtutil epl "Microsoft-Windows-Sysmon/Operational" C:logssysmon.evtx
채널이 존재하지 않는다면, Sysmon이 설치되어 있지 않은 것입니다. 대부분의 PC에서 여전히 배포해야 하는 별도의 Sysinternals 도구로 존재합니다.
Sysmon은 Windows에서 가장 가까운 비행 레코더와 같은 것입니다. 전체 명령 줄 및 해시가 포함된 프로세스 트리, 프로세스별 네트워크 연결, DNS 쿼리, 파일 및 레지스트리 변경 사항을 캡처합니다. Prime Core는 Sysmon 데이터를 위해 645개의 MITRE ATT&CK 기술에 매핑된 12074개의 시그마 규칙을 작성했습니다. 실행 중인지 확인하고, 기록된 내용을 내보내고, LogTotal에서 조사하는 방법을 알려드립니다.
시작하기 전에
실행 중입니까? 서비스 확인:
sc query sysmon64
32비트 시스템에서는 서비스가 sysmon이라고 불립니다. 필요한 경우 STATE: RUNNING.
무엇을 기록하고 있습니까? Sysmon은 자신의 구성에 의해 지정된 것만 기록합니다. 구성 파일이 없으면 프로세스 생성에 관한 소규모 기본 세트를 얻습니다. 대부분의 가치는 SwiftOnSecurity 또는 Olaf Hartong의 sysmon-modular과 같은 조정된 구성에서 나옵니다. 현재 구성을 확인하려면 sysmon64 -c (바이너리는 C:Windows에 있습니다). 해당 출력을 내보낸 파일 옆에 저장하십시오. 파일을 분석하는 사람은 왜 네트워크 이벤트가 없냐고 물을 것이며, 구성 파일이 그에 대한 답을 제공합니다.
얼마나 과거까지 기록됩니까? Sysmon은 수다스러우며, 다른 로그와 마찬가지로 채널에 크기 제한이 있습니다. 다음을 실행하여 wevtutil gl “Microsoft-Windows-Sysmon/Operational” 하고 maxSize를 확인합니다. 바쁜 서버에서는 기본 크기의 로그가 놀랄 만큼 적은 시간을 포함할 수 있습니다.
내보내려면 관리자 권한의 프롬프트가 필요합니다.
로그 내보내기
이벤트 뷰어에서 오른쪽 클릭 Operational 을 Sysmon 아래에서 선택한 후 이벤트를 모두 저장…을 선택하고 .evtx 유형을 유지합니다. 명령 줄에서 내보내는 동안 필터링할 수 있습니다:
:: 최근 24시간
wevtutil epl "Microsoft-Windows-Sysmon/Operational" C:logssysmon_24h.evtx /q:"*[System[TimeCreated[timediff(@SystemTime) <= 86400000]]]"
:: 프로세스 생성만
wevtutil epl "Microsoft-Windows-Sysmon/Operational" C:logssysmon_proc.evtx /q:"*[System[(EventID=1)]]"
무엇을 찾아야 합니까
| 이벤트 ID | 기록된 내용 | 관심을 가질 이유 |
|---|---|---|
| 1 | 프로세스 생성, 명령 줄, 해시 및 부모와 함께 | 거의 모든 조사 생사의 중추 |
| 3 | 프로세스별 네트워크 연결 | 용량 때문에 구성에서 종종 필터링됨 |
| 10 | 한 프로세스가 다른 프로세스를 여는 경우 | lsass.exe 액세스는 전형적인 자격 증명 덤핑 신호 (T1003.001) |
| 11 | 파일 생성됨 | 투하 페이로드, 준비된 아카이브 |
| 12,13,14 | 레지스트리 변경 사항 | 실행 키 및 기타 지속성 |
| 22 | 프로세스별 DNS 쿼리 | 그 도메인을 조회한 프로세스 |
| 4,16 | Sysmon 서비스 상태 및 구성 변경됨 | 공격자가 Sysmon을 끄거나 구성 무력화 |
이벤트가 어느 시점에서 단순히 멈추면, 공백 직전에 이벤트 16 또는 4를 찾으십시오. 그런 다음 Sysmon 서비스가 중지된 시스템 로그를 확인하십시오.
LogTotal에 업로드하여 검토
LogTotal은 EVTX를 기본적으로 읽으므로 변환할 필요가 없습니다. 먼저 알아야 할 한 가지: LogTotal은 아직 EVTX 파일을 정화하지 않습니다. EVTX 업로드를 원본 파일을 전달하는 것으로 취급하십시오. 테스트 머신에서는 자유롭게 사용하되, 프로덕션 호스트의 경우 데이터 처리 권한이 있는 사람에게 먼저 동의를 구하십시오.
- 업로드. 열기 logtotal.com 그리고 파일을 드롭하십시오.
- 검토. [PROOF: what the results screen shows for Sysmon data, and how findings map to rules and ATT&CK techniques]
문제가 발생할 때
| 증상 | 가능한 원인 | Fix |
|---|---|---|
| 지정된 채널을 찾을 수 없음 | Sysmon이 설치되지 않음 | sc query sysmon64로 확인 |
| 채널은 존재하나 거의 아무것도 없음 | 구성이 없거나, 거의 모든 것을 필터하는 구성 | sysmon64 -c로 확인 |
| 프로세스 이벤트는 있지만 네트워크 이벤트는 없음 | 구성에서 이벤트 3을 제외함; 이는 일반적임 | 설계에 의해; 구성 확인후 아무 일도 없다고 가정하기 전 확인 |
| 이벤트가 어느 시점에서 멈춤 | Sysmon 중지, 제거 또는 재구성됨 | 이벤트 4와 16, 시스템 로그 확인 |
| 마지막 몇 시간만 존재함 | 로그가 가득 차고 덮어쓰기 중 | maxSize 확인; 기록용으로는 SIEM을 사용 |
| 접근이 거부됨 | 프롬프트가 승격되지 않음 | 관리자로 실행 |
FAQ
Sysmon은 기본적으로 설치되어 있습니까?
대부분의 기기에서 그렇지 않음. 이는 자신이 배포하고 구성해야 하는 무료 Sysinternals 다운로드입니다. Microsoft는 새로운 Windows 릴리스에 내장된 Sysmon을 발표했으므로 실제로 어떤 빌드로 배포되는지 확인하십시오.
분석가가 내 Sysmon 구성을 필요로 합니까?
이벤트를 읽기 위해서는 아닙니다. 그러나 간격을 설명합니다. 수출과 함께 sysmon64 -c 출력을 보내십시오.
리눅스를 위한 Sysmon이 있습니까?
있습니다. 이를 syslog에 기록하며, 이는 별도의 가이드에서 다룰 것입니다.