
보안 연구를 위한 ETW 및 WPP 추적 도구입니다. 여러 공급자를 구독하고, 이벤트를 자동으로 JSON으로 파싱하며, 고급 필터링, 버퍼링, stdout, 파일 또는 SIEM 수집을 위한 Windows 이벤트 로그로의 출력을 지원합니다.
이 프로젝트는 비개발자들이 ETW(Event Tracing for Windows) 및 WPP(Windows PreProcessor Tracing) 연구에 쉽게 뛰어들 수 있도록 돕기 위해 만들었습니다.

Sealighter는 기능이 풍부한 Krabs ETW 라이브러리를 활용하여 ETW 및 WPP 공급자와 이벤트에 대한 상세한 필터링 및 분류를 가능하게 합니다.
여러 공급자(사용자 모드 공급자, 커널 추적, WPP 추적 포함)를 구독하고 필터링할 수 있으며, 이벤트를 JSON으로 stdout, 파일 또는 Windows 이벤트 로그(FileIO 같은 대용량 추적에 유용)로 출력할 수 있습니다. 공급자가 생성할 수 있는 이벤트의 형식이나 구조를 알 필요 없이, Sealighter는 요청된 모든 이벤트를 자동으로 캡처하고 파싱합니다.
이벤트는 Python, PowerShell에서 JSON으로 파싱하거나 Splunk 또는 ELK로 전달하여 추가 검색에 사용할 수 있습니다.
필터링은 이벤트 ID나 Opcode부터 속성 값 일치, 이벤트 전체에 대한 임의 문자열 검색(WPP 추적이나 이벤트 구조는 모르지만 내용을 짐작할 때 유용) 등 다양한 측면에서 수행할 수 있습니다. 또한 여러 필터를 연결하거나 필터를 부정할 수 있습니다. ID당 최대 이벤트 수를 필터링할 수도 있어, 새 공급자를 조사할 때 유사한 이벤트에 압도되지 않도록 도와줍니다.
ETW는 레드 팀과 블루 팀 모두에게 매우 유용한 시스템입니다. 레드 팀은 Windows 구성 요소의 내부 동작에 대한 통찰력을 얻을 수 있고, 블루 팀은 의심스러운 활동에 대한 귀중한 통찰력을 얻을 수 있습니다.
일반적인 연구 과정은 다음과 같습니다.
logman query providers를 사용하거나 바이너리에서 WPP 추적을 찾아 흥미로운 ETW 공급자 식별ETW 이벤트로 이 작업을 수행하는 것은 난해한 ETW API와 상호 작용하고 이벤트를 파싱하는 코드를 작성하지 않고는 어려울 수 있습니다. 프로그래밍 능력이 부족하거나 API를 다루고 싶지 않다면, 기존 Windows 도구를 조합하여 이진 etl 파일로 디스크에 기록한 후 처리하는 방법뿐입니다. WPP 추적은 문제를 더욱 악화시켜, 공급자와 해당 이벤트에 대한 쉽게 찾을 수 있는 데이터를 거의 제공하지 않습니다.
JDU2600의 Event List나 ETWExplorer 같은 프로젝트는 정적 통찰력을 제공하지만, 공급자는 종종 Event(1001)처럼 난독화된 이벤트 이름을 포함하므로, 가장 흥미로운 데이터는 추적을 동적으로 실행하고 출력을 관찰해야만 드러납니다.
어떤 면에서 이는 FuzzySec의 SilkETW와 유사한 영역에 있습니다. 하지만 SilkETW가 방어자에게 더 프로덕션에 적합한 반면, 이 도구는 저와 같은 연구자를 위해 설계되었으며, 따라서 SilkETW에서는 얻을 수 없는 여러 기능을 포함하고 있습니다. 이는 주로 도구를 구동하는 데 사용된 라이브러리가 다르기 때문입니다. 자세한 내용은 여기를 참조하세요.
ETW의 기본을 이해하고 있으며, 코드를 작성하거나 수동으로 이벤트를 가져와 파싱하는 방법을 알아내지 않고도 ETW에서 얻을 수 있는 데이터를 발견하는 데 깊이 파고들고 싶은 사람을 위한 도구입니다.
다음 페이지를 읽어주세요:
설치 - 간단한 설정과 함께 Sealighter를 실행하는 방법, Windows 이벤트 로깅 설정 방법 포함.
설정 - 로깅할 공급자 지정 및 로그 출력 위치 등 Sealighter를 설정하는 방법.
필터링 - Sealighter가 제공하는 모든 필터링 유형에 대한 상세 설명.
버퍼링 - 버퍼링을 사용하여 많은 유사 이벤트를 하나로 보고하는 방법.
데이터 파싱 - Sealighter로부터 데이터를 가져오고 파싱하는 방법.
시나리오 - 제 연구에서 Sealighter를 사용한 예제 시나리오 워크스루.
제한 사항 - Sealighter가 잘 수행하지 못하거나 전혀 수행하지 못하는 사항.
이름은 Seafood Highlighter (호주에서 게살 대용품을 부르는 말)의 줄임말입니다. Krabs ETW 위에 구축되었기 때문에 이름이 재미있다고 생각했습니다.
이슈를 등록해 주셔도 됩니다. 다만 비교 문서에서 밝혔듯이 저는 혼자 작업하며, 이 도구는 연구용으로 준비된 도구이지 프로덕션에 적합한 도구가 아닙니다.