2022년 8월 20일 토요일

merging windows event

이벤트 뷰어의 필터링 기능은 매우 제한적이다. 쓸만한 건 시간대, eventID 조건 정도? 이때 xpath(xml path language)를 사용하면 xml 구조를 갖는 이벤트 로그의 System, EventData 경로에 자유롭게 접근할 수 있다.


다음은 보안 이벤트에서 실행한 특정 시간대와 프로세스 조건의 xpath 쿼리.

필터링 결과

다음은 sysmon 이벤트에서 실행한 xpath 쿼리.


그런데 이벤트 뷰어는 UI 구조 상 이벤트 유형별로 검색도 따로, 결과 저장도 따로 해야 한다. 서로 다른 유형의 이벤트에 대한 필터링 결과를 합칠 수 없다는 얘기. 이때 xpath가 다시 해법이 될 수 있다. 먼저 두 유형의 이벤트를 모두 조회하는 xpath 쿼리문(evt.xml) 작성.
<QueryList>
  <Query Id="0">
    <Select Path="Security">
*[System/TimeCreated[@SystemTime &gt;= '2022-08-18T01:00:00' and @SystemTime &lt;= '2022-08-18T01:59:59']] and
*[EventData/Data[@Name='Application']='\device\harddiskvolume10\windows\systemapps\microsoft.windows.search_cw5n1h2txyewy\searchapp.exe']
</Select>
<Select Path="Microsoft-Windows-Sysmon/Operational">
*[System/EventID=22] and *[System[TimeCreated[@SystemTime &gt;= '2022-08-18T01:00:00' and @SystemTime &lt;= '2022-08-18T01:59:59']]] and *[EventData/Data[@Name='Image']='c:\windows\systemapps\microsoft.windows.search_cw5n1h2txyewy\searchapp.exe']
</Select>
  </Query>
</QueryList>

이후 wevtutil로 이벤트를 추출할 때 해당 쿼리문 사용.
C:\Users\Administrator>wevtutil epl d:\evt.xml d:\merging.evtx /sq:true

추출 결과

관련 글

댓글 없음:

댓글 쓰기

크리에이티브 커먼즈 라이선스