Sysmon(Windows System Monitor)은 Windows 시스템에서 발생하는 프로세스 실행, 네트워크 연결, 파일·레지스트리 변경 등 다양한 이벤트를 실시간으로 기록하는 보안용 드라이버입니다. 사이버 보안, 디지털 포렌식, 위협 헌팅 분야에서 핵심 도구로 활용됩니다. 아래에서 이해하기 쉽게 정리해 드릴게요.
1️⃣ Sysmon 주요 기능 및 이벤트 로그
Sysmon은 다음과 같은 상세 이벤트를 Windows 이벤트 로그에 기록합니다:
- 프로세스 생성(Typical Event ID 1): 실행 파일, 실행 경로, PID, 부모 프로세스 정보 등 blumira.comstumblesec.medium.com
- 드라이버/모듈 로드(Event ID 6, 7): 보안에 취약한 DLL 또는 비인가 드라이버 로드 감지
- 원격 스레드 생성(Event ID 8): 악성 코드 인젝션 시 흔히 발생하는 행위 stumblesec.medium.com+4rootdse.org+4networkforensic.dk+4
- Raw 디스크 읽기(Event ID 9): “드라이브 직접 읽기” 등 데이터를 훔치려는 시도 포착 manageengine.com
- 파일 생성/삭제(Event ID 11, 23): 악성 페이로드나 템포러리 파일 생성 감지 gigasheet.com+2rootdse.org+2networkforensic.dk+2
- 레지스트리 변경(Event ID 12–14): Persistence·시스템 구성 변경 기록 reddit.com+4gigasheet.com+4pandorafms.com+4
- DNS 쿼리(Event ID 22): C2 서버 통신 시도 탐지 varonis.com
이 외에도 파이프 연결(Event ID 18), 클립보드 변경(Event ID 24) 등을 기록할 수 있습니다.
2️⃣ Sysmon 구성과 설정 팁
- Sysmon 설치
관리자 권한으로 실행: -
powershell.\Sysmon64.exe -i -accepteula
- XML 기반 설정 파일 적용
- 이벤트 기록 기준 필터링 가능 → 로그 핵심화
- 예: sysmonconfig.xml에서 MITRE ATT&CK 연계 설정 rootdse.orgpandorafms.com+2networkforensic.dk+2hughjassman.hashnode.dev+2thedfirspot.com+14medium.com+14github.com+14
- 로그 전송 및 저장 전략
- Windows 이벤트 로그→SIEM(예: Splunk, ELK) 연동
- 로그 클리어 이벤트(예: Event ID 104) 모니터링도 중요 stumblesec.medium.com+9thedfirspot.com+9networkforensic.dk+9
3️⃣ 사이버 포렌식 & 위협 헌팅 활용
▶️ 사례 분석 흐름
- 침해 의심 포렌식: Sysmon 로그에서 의심 프로세스를 기반으로 C2 통신 및 파일 다운로드 연계 분석 saksham-17.medium.com+13stumblesec.medium.com+13varonis.com+13
- 위협 탐지: 평판 없는 실행 파일, 네트워크 액세스, 원격 코드 실행 패턴을 기반으로 사고 인지
- 로그 무결성 관리: 로그 청소 흔적(Event ID 104) 검출 등 이상 징후 분석에도 필수 numberanalytics.com
4️⃣ 실무 적용 – 구성 예시
구성 요소 | 내용 |
설정 파일 | SwiftOnSecurity 등 문서화된 config 사용, 로깅 세분화 적용 thedfirspot.com |
중앙집중 관리 | XML config 자동 배포(PS 스크립트 + 태스크 스케줄러 사용) |
로그 분석 도구 | EvtxECMD, Timeline Explorer, SIEM 필터 기반 위협 탐지 |
✨ 요약 정리
- Sysmon은 Windows 이벤트보다 더 정밀한 로깅 수단 제공
- 포렌식 분석: 프로세스→네트워크→파일→레지스트리 단위로 공격 행위 트래킹
- 구성 최적화: XML 설정과 SIEM 연동 필수
- DFIR 및 위협 헌팅 도구로 확실하게 활용 가능합니다
✅ 1. 추천 XML 설정 파일
- SwiftOnSecurity Sysmon 구성 (sysmonconfig-export.xml)
- GitHub에 있는 "high‑quality event tracing" 예제 파일 community.splunk.com+15github.com+15chriswambiru.medium.com+15
- 코멘트와 주석이 많아 학습용으로 안성맞춤
- 기본적으로 프로세스 생성, 네트워크, 파일, 레지스트리, 원격 스레드 등 주요 이벤트 포함
- 사용자 환경 맞춤 튜닝 팁
- AV, Splunk UF 등 자주 실행되는 프로세스는 필터로 제외 reddit.com
- UAC 우회 레지스트리, DNS 쿼리, WMI 등 고급 이벤트 추적 포함
- XML 필터 예시:
-
xml<NetworkConnect onmatch="include">
<DestinationPort>80</DestinationPort>
<DestinationPort>443</DestinationPort>
</NetworkConnect>
<NetworkConnect onmatch="exclude">
<DestinationHostname condition="end with">.microsoft.com</DestinationHostname>
</NetworkConnect>
✅ 2. Sysmon + Splunk/EventLogbeat 연동 가이드
A. Splunk 연동 (UF 방식)
- Splunk Add-on for Microsoft Sysmon 설치 youtube.com+5splunkbase.splunk.com+5hurricanelabs.com+5
- inputs.conf에 다음 추가:
-
ruby[WinEventLog://Microsoft-Windows-Sysmon/Operational]
disabled = false
renderXml = true
sourcetype = XmlWinEventLog:Microsoft-Windows-Sysmon/Operational - UF 배포 후 로그 수집, Splunk 대시보드 및 이벤트 코드 기반 시각화 수행 hurricanelabs.com
B. EventLogbeat + ELK
- Windows Event 로그(Microsoft-Windows-Sysmon/Operational)를 EventLogbeat에서 수집 후 Elasticsearch로 전송
- Kibana에서 프로세스 실행(Event ID 1), 원격 스레드 생성, DNS 쿼리 등 시각화 대시보드 구성 가능
✅ 3. 자주 쓰는 DFIR 워크플로우 예시
- 이벤트 수집
- Sysmon + Splunk UF 또는 WEF(Group Policy)
- 사전 필터링
- 평범한 프로세스/네트워크 필터 제외 (SwiftOnSecurity 구성)
- 이상 감지 및 추적
- 예: 프로세스 실행 경로 분석, 네트워크 C2 요청, 원격 코드 주입, 드라이브 원시 읽기 등 learn.microsoft.com+13splunk.com+13eventsentry.com+13shahzadsubhani.medium.com+7hurricanelabs.com+7splunkbase.splunk.com+7splunkbase.splunk.com
- 상관 분석 및 타임라인 구성
- ProcessCreate → FileCreate → NetworkConnect 순서로 연관성 추적
- 대응 및 포렌식 기록
- Threat hunting 시 의심 이벤트 복구·대응
- 로그 무결성(예: EventID 104) 포함하여 조사 증거 보존
- 리포팅
- Splunk 검색 문과 시각화 결과 제공
- 사고 발생 기관 또는 팀에 증거 포함한 리포트 작성
🎯 1. SwiftOnSecurity XML + 커스텀 예시 파일
- SwiftOnSecurity의 기본 sysmonconfig-export.xml
- 고품질 이벤트 추적을 위한 XML 설정 파일로, 프로세스/네트워크/파일/레지스트리/원격 스레드 등 주요 이벤트에 대한 로깅이 포함됩니다 github.com+15github.com+15raw.githubusercontent.com+15.
- 주석이 풍부하여 구성 이해 및 커스터마이징에 유리하며, MITRE ATT&CK 수집용 대상으로도 자주 사용돼요.
- 간단 커스텀 예시
- HTTP/HTTPS 통신만 포함하고, 마이크로소프트 관련 도메인은 제외하는 설정 예시입니다.
-
xml<NetworkConnect onmatch="include">
<DestinationPort>80</DestinationPort>
<DestinationPort>443</DestinationPort>
</NetworkConnect>
<NetworkConnect onmatch="exclude">
<DestinationHostname condition="end with">.microsoft.com</DestinationHostname>
</NetworkConnect>
✨ 필요하시면 위 XML 파일과 함께 커스터마이즈된 버전도 공유해 드릴 수 있어요!
🔗 2. Splunk UF 또는 Elastic 설정 파일 샘플
✅ A. Splunk UF (inputs.conf)
disabled = false
renderXml = true
checkpointInterval = 5
current_only = 0
sourcetype = XmlWinEventLog:Microsoft-Windows-Sysmon/Operational
- Splunk로 Sysmon 로그 전송 및 CIM 호환 sourcetype 지정 github.commedium.com+1hurricanelabs.com+1
- "Splunk Add-on for Microsoft Sysmon" 설치 시 필터링과 필드 추출이 자동 적용됩니다 noctedefensor.com+15docs.splunk.com+15community.splunk.com+15
✅ B. Elastic + EventLogbeat (eventlogbeat.yml)
- name: Microsoft-Windows-Sysmon/Operational
event_id: 1,3,6,7,8,11,12,13,22
level: warning, error, information
- 특정 이벤트만 수집하도록 필터링 및 Kibana에서 대시보드 시각화가 가능합니다.
📑 3. DFIR 플레이북 및 자동화 스크립트
🧭 기본 DFIR 워크플로우
- 탐지 → 이상 탐지: 이벤트 수집 후 Sysmon 로그 분석
- 사건 구조화: Timeline 기반 이상 행위 식별
- 확인 & 대응: 원격 스레드 생성, 네트워크 C2 시도, 프로세스 실행 패턴 추적 raw.githubusercontent.com+3medium.com+3raw.githubusercontent.com+3posts.specterops.io+7noctedefensor.com+7arxiv.org+7
- 리포트 생성: Splunk나 Kibana 기반 시각화 포함 보고서
🛠 Script 기반 자동화
- Asgard 플레이북: 프로세스 인젝션, 드라이브 읽기, 네트워크 이벤트 등 자동 대응 가능 reddit.com+12docs.splunk.com+12github.com+12ibm.com+2github.com+2raw.githubusercontent.com+2
- Nocte Defensor 룰+Playbook: Atomic Red Team 기반 테스트 검증 및 경고 자동화 thedfirreport.com+5noctedefensor.com+5github.com+5
✅ 요약 테이블
항목 | 포함 내용 |
SwiftOnSecurity XML | 기본 설정 + 주석; 커스텀 예시 제공 |
Splunk UF inputs.conf | XML 렌더링 및 이벤트 sourcetype 지정 |
Elastic config | EventLogbeat 수집용 이벤트 필터 예시 |
DFIR 워크플로우 | 탐지 → 분석 → 대응 → 리포트 |
스크립트 사례 | Asgard, Nocte Defensor 플레이북 |
📁 1. SwiftOnSecurity + 커스텀 XML 파일
- SwiftOnSecurity 원본 XML: 고품질 이벤트 수집을 위한 설정 (sysmonconfig-export.xml)입니다 splunk.my.site.com+3medium.com+3asgard-manual.nextron-systems.com+3nextron-systems.com+15github.com+15raw.githubusercontent.com+15.
- 커스텀 예시:→ HTTP/HTTPS만 기록하고, 자주 접속하는 도메인은 제외 설정 샘플 포함
-
xml<NetworkConnect onmatch="include">
<DestinationPort>80</DestinationPort>
<DestinationPort>443</DestinationPort>
</NetworkConnect>
<NetworkConnect onmatch="exclude">
<DestinationHostname condition="end with">.microsoft.com</DestinationHostname>
</NetworkConnect>
✔️ 전달 방식: GitHub 원본 + 커스터마이징된 XML 파일 ZIP 형태로 정리해 보내드립니다.
🗂 2. Splunk UF 구성 ZIP + 설치 안내
- inputs.conf 예시:→ Splunk UF로 Sysmon 이벤트 수집 설정 및 CIM 필드 추출
-
ini[WinEventLog://Microsoft-Windows-Sysmon/Operational]
disabled = false
renderXml = true
checkpointInterval = 5
current_only = 0
sourcetype = XmlWinEventLog:Microsoft-Windows-Sysmon/Operational
- 설치 흐름:
- Splunk UF 설치 후 inputs.conf 적용
- Splunk Add-on for Microsoft Sysmon 앱 설치 hurricanelabs.com+2community.splunk.com+2medium.com+2github.com+10docs.splunk.com+10hurricanelabs.com+10hurricanelabs.com+3splunkbase.splunk.com+3medium.com+3
- UF 재시작 이후 이벤트 수집 확인 및 파싱 자동화
✔️ 전달: 위 설정 파일 + 설치 안내(GUIDE PDF) 포함 ZIP 파일로 보내드립니다.
📘 3. DFIR 플레이북 및 자동화 스크립트 예제 (Asgard 포함)
- Asgard 플레이북 예시:
- Sysmon 설치/업데이트/제거 자동화
- 구성 파일 자동 배포 포함 hurricanelabs.com+9learn.microsoft.com+9eventsentry.com+9raw.githubusercontent.com+12github.com+12github.com+12eventsentry.com+1github.com+1
- Nocte Defensor 룰 플레이북:
- 주요 공격 패턴에 대한 detection & 대응 스크립트 구성 (Yara, Splunk 등)
✔️ 전달 포맷: Markdown 또는 YAML 형태로 정리된 플레이북 + 기본 사용 시나리오 포함
✅ 자료 제공 포맷 선택
항목 | 전달 형태 |
SwiftOnSecurity + 커스텀 XML | GitHub ZIP (원본+커스텀) |
Splunk UF 구성 | ZIP (inputs.conf + 설치 가이드 PDF) |
DFIR 플레이북 예제 | PDF/Markdown 플레이북 + 자동화 코드 |
이 글이 도움이 되셨다면
🔔 구독 과 ❤️ 좋아요 꾸우욱 눌러 주세요!🙏
그리고 💖커피 ☕, 💚차 🍵, 💛맥주 🍺, ❤️와인 🍷 중 마음에 드시는 한 잔으로 💰 후원해 주시면 큰 힘이 됩니다.
👇 지금 바로 아래 🔘버튼을 꾸욱 눌러 📣 응원해 주세요! 👇
'IT 정보' 카테고리의 다른 글
Have I Been Pwned? (HIBP), 이메일 주소나 비밀번호가 과거 유출 목록에 포함되었는지 확인할 수 있는 온라인 도구 (5) | 2025.06.24 |
---|---|
Google·Apple·Facebook 등 주요 플랫폼에서 발생한 약 16 billion(=160억) 로그인 자격 증명 유출 사건(비밀번호 해킹) (3) | 2025.06.23 |
OWASP ZAP automated scan (2) | 2025.06.22 |
CrowdStrike Falcon vs SentinelOne Singularity 주요 차이점 (3) | 2025.06.22 |
Burp Suite XSS detection (3) | 2025.06.22 |