403. 지속성·재침투 — 지속성·재침투 감사 기반 구성

changseop lee·4일 전

시스템 보안 · 취약점

목록 보기
403/450

시스템 보안 · 취약점 › I. 지속성 · 재침투 징후 · 3/50편 (전체 403/450)
학습 단계: 지속성·재침투 기본 개념
실습 표기: 이 글의 명령어·출력·로그는 로컬 VMware 테스트 VM(Rocky Linux 9 / Ubuntu 22.04) 기준의 「실습 예시」이며, IP·계정·호스트명은 가상의 값입니다.

선행 학습

1. 개념

지속성은 특정 파일·디렉터리·설정에 심어집니다. 따라서 탐지 기반은 "지속성이 자리 잡는 위치를 FIM·auditd watch로 감시"하는 것입니다. 변경이 드문 위치일수록 감시 가치가 높습니다.

지속성 탐지 기반 감시 대상
 계정·인증: /etc/passwd·shadow·sudoers·~/.ssh/authorized_keys·PAM
 스케줄: /etc/cron*·/var/spool/cron·systemd 유닛·timer
 부팅: /etc/rc.local·init·udev·커널 모듈
 셸: ~/.bashrc·/etc/profile.d·ld.so.preload
 감시 수단: FIM(변경)·auditd watch(행위)·중앙 수집

핵심: 지속성 자리에 FIM+watch 이중 감시

핵심은 "지속성이 자리 잡는 곳을 미리 감시"하는 것입니다. 변경이 드문 인증·스케줄·부팅 위치는 FIM과 auditd watch로 이중 감시해야 합니다.

2. 왜 중요한가

  • 지속성은 정해진 위치(인증·스케줄·부팅·셸)에 심어지므로 그곳을 감시해야 합니다.
  • 변경이 드문 위치일수록 FIM 감시의 탐지 가치가 높습니다.
  • FIM(변경 결과)과 auditd watch(변경 행위)를 결합해 이중으로 포착합니다.

3. 핵심 명령어 / 설정

영역감시 대상수단
계정·인증passwd·sudoers·ssh keys·PAMFIM·watch
스케줄cron·systemd·timerFIM·watch
부팅rc.local·init·udev·모듈FIM
셸bashrc·profile.d·preloadFIM
중앙모든 변경중앙 수집

4. 실습 (실습 예시)

# 지속성 탐지 기반 구성 (분석 방법)
# 인증·스케줄 위치 변경 감시(auditd watch)
sudo auditctl -w /etc/cron.d/ -p wa -k persist 2>/dev/null
sudo auditctl -w /root/.ssh/authorized_keys -p wa -k account_persist 2>/dev/null
sudo auditctl -w /etc/sudoers -p wa -k account_persist 2>/dev/null
# systemd 유닛 디렉터리 감시
sudo auditctl -w /etc/systemd/system/ -p wa -k persist 2>/dev/null
# FIM 대상 포함 확인
sudo grep -E 'cron|ssh|sudoers|systemd|profile' /var/ossec/etc/ossec.conf 2>/dev/null | head

5. 정상 상태

$ auditctl -l | grep -E 'persist|account_persist' (watch 설정됨)
$ (FIM) 지속성 위치 감시 대상 포함

지속성 위치에 대한 watch가 설정되고, FIM 감시 대상에 인증·스케줄·부팅 위치가 포함된 상태가 정상입니다.

6. 이상 상태

$ auditctl -l (persist watch 없음)
$ (FIM) authorized_keys·cron·systemd 미포함
→ 지속성 설치를 탐지할 수단 부재(탐지 사각)
  • 지속성 위치 watch·FIM 미설정 → 설치를 탐지 못함
  • 인증·스케줄·부팅 감시 공백 → 지속성 탐지 역량 결함
  • 감사 기반 미비는 보강 대상 → 구성 필요

7. 로그 분석 (분석 방법)

지속성 탐지 기반 구조입니다(가상의 예시).

[지속성 설치] authorized_keys 키 추가
   ↓ (포착 채널)
 ① auditd watch(account_persist) → 변경 행위 기록
 ② FIM → 파일 변경 결과 탐지
 ③ 중앙 수집 → 매니저 보존
   ↓
[탐지] 변경 행위 + 결과 + 중앙 사본 → 지속성 설치 포착
채널역할
auditd watch설치 행위
FIM변경 결과
중앙 수집보존

이중 감시 + 중앙 수집이 지속성 탐지 기반입니다.

8. SOC 관제 포인트

  • 지속성 탐지 기반은 지속성이 자리 잡는 위치(인증·스케줄·부팅·셸)를 FIM·auditd watch로 감시하는 것입니다.
  • 변경이 드문 위치일수록 감시 가치가 높아 우선 대상입니다.
  • FIM(결과)·auditd watch(행위)·중앙 수집 삼중 구성이 핵심 기반입니다.

9. 탐지 규칙

<!-- 실습 예시 룰: 적용 전 wazuh-logtest 및 테스트 환경 검증 필요 -->
<group name="local,syssec_i,persistence,">
  <rule id="108020" level="5">
    <if_sid>108000</if_sid>
    <field name="audit.key" type="pcre2">persist|account_persist</field>
    <description>지속성 위치 변경 감시 이벤트(탐지 기반)</description>
    <mitre><id>TA0003</id></mitre>
  </rule>
</group>

인증·스케줄·부팅·셸 위치를 FIM·auditd watch로 감시하고 Wazuh로 중앙 수집합니다. 변경이 드문 위치는 높은 레벨로 경보 설계합니다.

10. 대응 방법

  1. 초기 확인 — 인증·스케줄·부팅·셸의 지속성 위치 watch·FIM 설정을 확인합니다.
  2. 범위 확인 — 변경 행위 기록과 결과 탐지의 이중 감시 구조를 확인합니다.
  3. 증거 확보 — 감사 구성·FIM 대상·중앙 수집 상태를 보존합니다.
  4. 차단/조치 — 기반 미비 시 지속성 위치 watch·FIM·중앙 수집을 구성합니다.
  5. 재발 방지 — 지속성 탐지 기반을 I영역 전체의 토대로 구축합니다.

11. 핵심 정리

영역감시 대상
계정·인증passwd·sudoers·ssh keys·PAM
스케줄cron·systemd·timer
부팅rc.local·init·udev·모듈
셸bashrc·profile.d·preload
면접 포인트"지속성 자리에 FIM+watch 이중 감시 — 변경 드문 위치가 고가치"

12. 다음 편 예고

다음 편 404. 지속성·재침투 — 지속성 정상 기준선 만들기 에서는 지속성 정상 기준선을 다루는 지속성 정상 기준선 만들기를 다룹니다.


이전 편: 402. 지속성·재침투 — 지속성(persistence)·재침투의 개념과 공격 단계
📚 시리즈 전체 보기: 시스템 보안 · 취약점

profile
코드에 숨겨진 위협을 읽고 AI로 보안의 미래를 설계합니다. 프론트엔드 개발 경험을 자산 삼아 더 견고하고 지능적인 보안 운영 시스템을 구축해 나가는 과정을 기록합니다

0개의 댓글