190. 권한 변경 이상 — 권한 변경 타임라인 작성

changseop lee·7일 전

시스템 보안 · 취약점

목록 보기
190/450

시스템 보안 · 취약점 › D. 권한 변경 이상 징후 · 40/50편 (전체 190/450)
학습 단계: 권한 변경 감사·로그 분석
실습 표기: 이 글의 명령어·출력·로그는 로컬 VMware 테스트 VM(Rocky Linux 9 / Ubuntu 22.04) 기준의 「실습 예시」이며, IP·계정·호스트명은 가상의 값입니다.

선행 학습

1. 개념

개별 이벤트를 판정했다면, 이제 이를 시간순으로 엮어 공격 타임라인을 만듭니다. 타임라인은 "무슨 일이 어떤 순서로 일어났는가"를 보여줘, 사건의 전체 그림과 영향 범위를 파악하게 합니다.

권한 변경 타임라인 구성
 [시각] [세션] [주체] [행위] [대상] [판정]
 정찰(C) → 권한 변경(D) → 상승 실행 → 지속성 설치
 세션·auid로 묶고, 시각순 정렬

목적: 사건 범위·순서·연계 파악 → 대응·보고

타임라인은 SOC의 핵심 산출물입니다. "증거는 거짓말하지 않는다" — 시간순 로그가 사건을 증명합니다.

2. 왜 중요한가

  • 타임라인은 개별 이벤트로는 안 보이는 "공격 흐름·순서·연계"를 드러냅니다.
  • 세션·auid 기준으로 묶으면 한 공격자의 전체 행적을 추적할 수 있습니다.
  • 대응 범위(어디까지 침해됐나)와 보고서(사건 경위)의 기초 자료입니다.

3. 핵심 명령어 / 설정

타임라인 요소내용출처
시각이벤트 timestampSYSCALL
세션/주체ses·auidSYSCALL
행위명령·syscallPROCTITLE
대상파일·경로PATH+CWD
단계정찰/변경/상승/지속분석

4. 실습 (실습 예시)

# 권한 변경 타임라인 작성 (분석 방법)
# 특정 세션의 권한 변경 이벤트 시간순
sudo ausearch -k perm_change,perm_suid,perm_critical --session 88 -i 2>/dev/null \
  | grep -E 'time->|proctitle=|name='

# 정찰(C)+변경(D)을 한 타임라인으로(세션 기준)
sudo ausearch -k recon,perm_change --session 88 -i 2>/dev/null | grep -E 'time->|proctitle='

5. 정상 상태

$ (세션 88 타임라인)
14:00 admin1 chmod 755 /var/www/app.sh (배포)
14:05 admin1 chown apache /var/www/upload (배포)

관리자 세션의 타임라인이 배포 작업(권한 설정·소유권)으로만 구성된, 일관된 정상 흐름입니다.

6. 이상 상태

$ (세션 88 타임라인)
03:30 devops find / -perm -4000        (정찰, C27)
03:40 devops chmod u+s /usr/bin/find   (SUID 설정, D22)
03:42 devops sudo bash                  (상승 실행, D32)
03:45 devops chmod 666 /etc/cron.d/x    (지속성, D16)
03:50 devops chmod 666 /var/log/secure  (반포렌식, D17)
  • 정찰(03:30)→SUID 설정(03:40)→상승(03:42)→지속성(03:45)→흔적 삭제(03:50)
  • 20분 내 전체 공격 체인이 한 세션에 → 명확한 침해 타임라인
  • 각 단계가 D영역 탐지 편과 대응 → 종합 정탐

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

공격 타임라인 재구성입니다(가상의 예시).

03:30 ┌─ 정찰    find -perm -4000      (C27, recon)
03:40 ├─ 변경    chmod u+s find        (D22, perm_suid)
03:42 ├─ 상승    sudo bash             (D32, privilege)
03:45 ├─ 지속성  chmod 666 cron.d      (D16, persistence)
03:50 └─ 반포렌식 chmod 666 secure      (D17, anti-forensic)
       → 세션 88, auid=devops, 20분
단계시각탐지 편
정찰03:30C27
변경03:40D22
상승03:42D32
지속성03:45D16

시간순 타임라인이 공격의 전체 흐름과 각 단계를 증거로 보여줍니다.

8. SOC 관제 포인트

  • 타임라인은 개별 이벤트를 시간순으로 엮어 공격 흐름을 드러냅니다.
  • 세션·auid 기준으로 정찰(C)→변경(D)→상승→지속성을 한 기록으로 묶습니다.
  • 대응 범위 산정과 사건 보고서의 핵심 산출물입니다.

9. 탐지 규칙

<!-- 실습 예시 룰: 적용 전 wazuh-logtest 및 테스트 환경 검증 필요 -->
<group name="local,syssec_d,timeline,">
  <!-- 한 세션에서 정찰→변경→상승 단계가 순차 발생 -->
  <rule id="103380" level="14">
    <if_sid>103300,103350</if_sid>
    <if_matched_sid>102260</if_matched_sid>
    <same_field>audit.session</same_field>
    <description>단일 세션 내 정찰→권한 변경→상승 타임라인 완성</description>
    <mitre><id>T1548</id></mitre>
  </rule>
</group>

SIEM(ELK)의 세션 기준 집계·시각화로 타임라인을 자동 구성합니다(D46). 상관 룰은 흐름 완성을 경보합니다.

10. 대응 방법

  1. 초기 확인 — 세션·auid 기준으로 권한 변경 이벤트를 시간순 정렬합니다.
  2. 범위 확인 — 정찰(C)→변경(D)→상승→지속성→반포렌식 단계 연결을 확인합니다.
  3. 증거 확보 — 타임라인 전체(이벤트·시각·주체)와 관련 로그를 보존합니다.
  4. 차단/조치 — 타임라인으로 침해 범위를 산정하고 대응·보고서를 작성합니다.
  5. 재발 방지 — 세션 기준 타임라인 작성을 표준 분석 절차로 운영합니다.

11. 핵심 정리

요소내용
시각·세션·주체SYSCALL(time/ses/auid)
행위·대상PROCTITLE+PATH/CWD
단계정찰/변경/상승/지속/반포렌식
산출물침해 범위·사건 보고서
면접 포인트"타임라인은 세션 기준 시간순 — 정찰→변경→상승 흐름을 증거로 재구성"

12. 다음 편 예고

다음 편 191. 권한 변경 이상 — 권한 변경과 파일 무결성(FIM) 연계 에서는 권한 변경과 파일 무결성을 연계하는 권한 변경과 파일 무결성(FIM) 연계를 다룹니다.


이전 편: 189. 권한 변경 이상 — auditd 권한 변경 이벤트(chmod/chown) 분석
📚 시리즈 전체 보기: 시스템 보안 · 취약점

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

0개의 댓글