728x90
반응형
6. Token Settings
Token은 sample 내 특정 문자열을 동적으로 치환하는 엔진이며
Eventgen이 정적인 로그 템플릿을 실제 동적 트래픽처럼 보이도록 만든다.
6.1 Token 구조
기본 구조:token.<n>.token = <regex>
token.<n>.replacementType = <type>
token.<n>.replacement = <value>
예:
token.0.token = \d+\.\d+\.\d+\.\d+
token.0.replacementType = ipv4
결과: > sample 내 모든 IPv4 주소가 랜덤 IPv4로 변환됨
💡 Regex 기반이기 때문에 특정 필드만 치환도 가능
6.2 token.<n>.token
token.<n>.token = <regex>
역할: > 대체할 문자열을 식별하는 PCRE 예:
token.0.token = user=\w+
---
6.3 replacementType
지원 타입:| Type | 설명 |
|---|---|
static |
고정 문자열 |
timestamp |
랜덤 timestamp 생성 |
replaytimestamp |
원본 timestamp 간격 보존 |
random |
랜덤 타입 인식 값 |
rated |
시간 기반 rate 조정된 random |
file |
파일에서 랜덤 라인 선택 |
mvfile |
CSV 파일 컬럼 단위 랜덤 선택 |
seqfile |
순차적으로 가져옴 |
integerid |
증가하는 정수 ID |
6.4 replacement
지원 값:| 형식 | 설명 |
|---|---|
<string> |
고정 문자열 |
guid |
랜덤 UUID 생성 |
ipv4 |
랜덤 IPv4 |
ipv6 |
랜덤 IPv6 |
mac |
랜덤 MAC |
integer[1:100] |
정수 범위 랜덤 |
float[0.1:0.5] |
실수 범위 랜덤 |
string(10) |
ASCII 문자열 10자리 |
hex(16) |
16자리 hex 값 |
list[...] |
목록 중 랜덤 선택 |
filename |
파일에서 랜덤 라인 |
filename:<col> |
파일의 특정 컬럼 선택 |
6.5 중요한 3개 타입 Deep Dive
① replaytimestamp
역할: > 원본 timestamp “간격” 그대로 살림10:01:05 → Scan
10:02:12 → Credential Access
10:05:33 → Lateral Move
🔥 Splunk ES 최고의 기능 중 하나:---
Incident Review + Timeline Reconstruction에서 진짜 공격처럼 보이게 만드는 핵심 요소
② mvfile (multi-value file)
예:
token.1.replacementType = mvfile
token.1.replacement = users.csv:2
역할: > CSV 파일에서 특정 컬럼만 랜덤으로 선택user,hostname,dept
alice,pc012,dev
bob,pc057,secure
chris,pc122,ops
💥 MITRE ATT&CK 교육에서 유용---
예: 크리덴셜 탈취 → lateral move → 내부 자산 pivot
③ seqfile
역할: > 순차적으로 가져옴 예:
seqfile = assets.csv:1
결과: > asset_01 → asset_02 → asset_03 → asset_04 …6.6 Token + Generator + Rater 조합 사례
| 사용 목적 | 추천 조합 |
|---|---|
| 공격 타임라인 | replay + replaytimestamp + mvfile |
| 대량 baseline | sample + rated + ipv4 |
| 사용자 다양성 | mvfile + seqfile |
| 부서/조직 모델링 | mvfile(list) + csv mapping |
| SIEM 탐지 테스트 | integerid + ipv4 + timestamp |
6.7 SIEM/ES 실제 적용 예시
예시 공격 시나리오: Recon → Credential → Lateral → Exfiltration Token으로 표현하면:- IPv4 = 공격자/피해자 Role 분리
- User = mvfile로 크리덴셜 다양화
- Host = seqfile로 pivot 표현
- Timestamp = replaytimestamp로 간격 유지
6.8 결론
Token은 Eventgen에서 가장 중요한 실사용 구성 요소이며,
Synthetic 로그 환경에서 다음을 가능하게 한다:
- 자산 다양성
- 사용자 다양성
- 공격 이동성(lateral movement)
- 시간 기반 사건 시퀀스
- noise & baseline 생성
728x90
반응형
'Splunk > Splunk Dev' 카테고리의 다른 글
| EventGen | Generator Settings (0) | 2026.01.27 |
|---|---|
| EventGen | Rater Settings (0) | 2026.01.27 |
| EventGen | Stanza Configuration Settings (0) | 2026.01.27 |
| EventGen | Global Settings (0) | 2026.01.27 |
| EventGen | Config 기본 개념 & Stanza (0) | 2026.01.27 |