시스템 보안 · 취약점 › I. 지속성 · 재침투 징후 · 47/50편 (전체 447/450)
학습 단계: SOC 탐지 연계
실습 표기: 이 글의 명령어·출력·로그는 로컬 VMware 테스트 VM(Rocky Linux 9 / Ubuntu 22.04) 기준의 「실습 예시」이며, IP·계정·호스트명은 가상의 값입니다.
지속성 Alert는 "이미 침투가 끝났다"는 뜻일 수 있어 다른 Alert보다 대응 범위가 넓습니다. 그래서 관제원이 같은 순서로, 같은 산출물을 만들며 대응하도록 플레이북으로 정리합니다.
지속성·재침투 대응 플레이북
① 분류(5분) : 룰·호스트·분류(class)·레벨 확인, 중복 Alert 병합
② 1차 조사(15분): I08 6축 체크 → 정탐/의심/정상/오탐
③ 범위(30분) : 같은 세션·주체·실행 대상·IOC 상관(I43) + 인벤토리(I39)
④ 봉쇄 : 통로 차단, 계정 잠금, 필요 시 호스트 격리
⑤ 근절 : I46 순서 + 재부팅 검증
⑥ 복구·감시 : 서비스 정상화, 감시 기간 운영(I37)
⑦ 보고 : 타임라인·인벤토리 diff·원인·개선
핵심: 봉쇄 전 증거 확보, 근절 후 검증, 보고에 개선 항목
관제원(L1)은 ①~② 와 초기 봉쇄 요청까지, 분석가(L2)는 ③~⑤ 를 담당하는 식으로 역할을 나누면 대응이 빨라집니다.
| 단계 | 담당 | 산출물 |
|---|---|---|
| 분류·1차 조사 | L1 | 판정 기록(6축) |
| 범위 | L2 | 상관 결과·인벤토리 |
| 봉쇄 | L2 + 운영팀 | 차단·잠금 기록 |
| 근절·검증 | 운영팀 + L2 | 전후 diff·감시 결과 |
| 보고 | L2 | 타임라인·원인·개선 |
# L1 초기 대응 체크리스트 (분석 방법)
cat <<'C'
[ ] Alert ID / 룰 / 레벨 / 호스트 / 시각(UTC)
[ ] 같은 호스트·세션의 최근 24h 지속성 Alert 병합
[ ] 6축 체크 + 근거 로그 위치 기록 (I08 템플릿)
[ ] 정탐/의심 → L2 에스컬레이션 (레벨 12↑ 즉시)
[ ] 봉쇄 요청 전: 인벤토리 스크립트 실행 결과 원격 저장 확인
[ ] 계정 잠금·통로 차단 요청 내역 기록
C
Alert 108180 (cron 변경) → 6축 Y 0, auid=deploy, CHG-1121
판정: 정상 행위 → 기준선 갱신 요청 → 종료(12분)
정상 행위로 판정된 Alert는 근거와 함께 기준선 갱신까지 요청하고 종료하는 것이 정상 흐름입니다.
Alert 108110 (authorized_keys) + 108180 + 108200, web01, ses=412
6축 Y 5 → 정탐 → L2 에스컬레이션(4분)
범위: db01에서 같은 키 지문 로그인 → 2개 호스트
에스컬레이션 판단 흐름입니다(가상의 예시).
[Alert] persistence / reentry
↓
레벨 ≥ 13 또는 class 2종 이상 ──→ 즉시 L2 + 봉쇄 준비
↓ 아니오
6축 Y ≥ 3 ──→ L2 에스컬레이션
↓ 아니오
Y 1~2 ──→ 추가 수집(기한 2시간) → 재판정
↓
Y 0 + 티켓 ──→ 정상 행위 종료
| 조건 | 대응 |
|---|---|
| 레벨 13↑·다분류 | 즉시 에스컬레이션 |
| 6축 3↑ | 에스컬레이션 |
| 6축 1~2 | 기한부 추가 수집 |
봉쇄(호스트 격리)는 공격자에게 탐지 사실을 알릴 수 있으므로, 범위 확인이 끝나기 전 격리는 확산·파괴 징후가 있을 때로 한정하는 기준을 미리 정해 둡니다.
<!-- 실습 예시 룰: 적용 전 wazuh-logtest 및 테스트 환경 검증 필요 -->
<group name="local,syssec_i,persistence,">
<rule id="108460" level="15">
<if_matched_group>persistence</if_matched_group>
<same_field>agent.id</same_field>
<different_field>rule.id</different_field>
<timeframe>600</timeframe>
<description>동일 호스트 10분 내 서로 다른 지속성 룰 다수 발생(즉시 에스컬레이션)</description>
<mitre><id>TA0003</id></mitre>
</rule>
</group>
플레이북의 "즉시 에스컬레이션" 조건을 룰로 옮긴 예시입니다. 서로 다른 지속성 룰이 짧은 시간에 한 호스트에서 이어지면 최고 레벨로 올려 L2 호출 기준으로 씁니다.
| 단계 | 핵심 |
|---|---|
| 분류·조사 | 6축 판정 |
| 범위 | 상관·인벤토리 |
| 봉쇄·근절 | 증거 먼저, 순서대로 |
| 보고 | 타임라인·개선 |
| 면접 포인트 | "지속성 Alert는 이미 안에 있다는 신호 — 같은 순서, 같은 산출물로 대응한다" |
다음 편 448. 지속성·재침투 — 지속성·재침투 탐지 규칙 모음 에서는 I영역 전편의 지속성·재침투 탐지 규칙(108000번대)과 감사 키를 한곳에 모아 분류·레벨·MITRE 매핑과 적용·검증 순서를 정리합니다.
이전 편: 446. 지속성·재침투 — 지속성 근절과 재침투 차단 검증
📚 시리즈 전체 보기: 시스템 보안 · 취약점