Sysmon이란?
**Sysmon(System Monitor)**은 Microsoft의 Sysinternals Suite 중 하나로,
Windows 시스템에서 보안 관련 이벤트(프로세스 생성, 네트워크 연결, 파일 변경 등)를 자세히 모니터링하고 로깅하는 도구입니다.
- 전체 경로: Sysmon.exe
- 로그 위치: Windows Event Log (Applications and Services Logs → Microsoft → Windows → Sysmon → Operational)
📌 왜 사용하는가?
보통의 Windows 이벤트 로그만으로는 심화된 보안 분석이나 침해 탐지가 어렵기 때문에,
Sysmon은 다음과 같은 고급 정보를 제공합니다:
기능설명
| 프로세스 생성 추적 | 어떤 명령어가 언제, 어디서, 어떤 부모 프로세스에서 실행되었는지 |
| 네트워크 연결 | 외부 서버와의 통신 기록 (IP, 포트, 프로세스 포함) |
| 파일 생성 | 실행파일(EXE, DLL 등) 생성 여부 추적 |
| 레지스트리 변경 | 민감한 레지스트리 경로 변경 감시 가능 |
| 이미지 로드 | 특정 DLL 로딩 정보 (공격자가 주입한 라이브러리 등) |
🔍 동작 원리
- **Sysmon 설치 후 설정 파일(XML)**을 이용해 어떤 이벤트를 기록할지 정의
- 커널 드라이버(SYS)로 동작하며, OS 내부 동작을 실시간 감시
- 감지된 이벤트를 Windows Event Log에 기록
- EDR 또는 SIEM 도구에서 Sysmon 로그를 수집 및 분석하여 악성 행위 탐지
🔧 설치 방법 요약
sysmon.exe -accepteula -i config.xml
- -accepteula: 라이선스 동의
- -i: 설치 및 XML 구성 적용
- config.xml: 추적할 이벤트와 필터 규칙 정의
📝 예: SwiftOnSecurity가 만든 유명한 기본 템플릿
https://github.com/SwiftOnSecurity/sysmon-config
🗂 주요 이벤트 ID
이벤트 ID설명
| 1 | 프로세스 생성 (가장 중요) |
| 3 | 네트워크 연결 |
| 7 | 이미지 로드(DLL 등) |
| 11 | 파일 생성 |
| 13 | 레지스트리 값 쓰기 |
| 22 | DNS 쿼리 요청 |
| 23 | 파일 삭제 감지 |
🎯 예시: 공격 탐지에 어떻게 쓰이나?
- 공격자가 powershell.exe로 인코딩된 명령을 실행한 경우:
- Sysmon의 이벤트 ID 1에 기록됨
- 명령줄 전체(command line)가 남기 때문에 탐지 가능
- 공격자가 외부 C2 서버와 통신할 때:
- 이벤트 ID 3으로 IP/포트/프로세스명 확인 가능
📘 요약
항목내용
| 도구 이름 | Sysmon (System Monitor) |
| 용도 | 고급 이벤트 로깅을 통한 보안 탐지 |
| 동작 방식 | 커널 드라이버로 시스템 내부 동작 감시 |
| 활용 | EDR, SIEM, DFIR, Threat Hunting에 필수 |
| 설정 방식 | XML 템플릿로 필터 설정 및 설치 |