시스템 보안 · 취약점 › D. 권한 변경 이상 징후 · 28/50편 (전체 178/450)
학습 단계: 소유권·특수권한 이상
실습 표기: 이 글의 명령어·출력·로그는 로컬 VMware 테스트 VM(Rocky Linux 9 / Ubuntu 22.04) 기준의 「실습 예시」이며, IP·계정·호스트명은 가상의 값입니다.
3단계(소유권·특수권한, D19~27)를 종합합니다. 2단계(파일 권한)가 "접근·변조"였다면, 3단계는 대부분 직접적인 권한 상승 경로 생성입니다. 상승 경로별로 묶어 정리합니다.
소유권·특수권한 → 상승 경로 종합
[직접 상승 경로]
SUID 설정/신규 (D22·25·26) → 바이너리 root 실행
Capability 부여 (D27) → cap_setuid 등 상승
[간접/우회]
소유권 탈취 (D19·21) → 권한 재설정→조작
그룹 소유권 (D20) → 특권 그룹 접근
Sticky 제거 (D24) → 파일 교체 공격
[탐지 공통] 기준선(D04·05) diff + 경로 화이트리스트
3단계 변경은 "상승 경로가 생겼는가"를 핵심 질문으로 종합 판정합니다.
| 변경 유형 | 상승 방식 | 탐지 |
|---|---|---|
| SUID 설정/신규 | 직접(바이너리) | diff·화이트리스트 |
| Capability | 직접(cap) | getcap diff |
| 소유권 탈취 | 간접(재설정) | chown+chmod |
| 그룹 소유권 | 간접(그룹) | 특권 그룹 |
| Sticky 제거 | 우회(교체) | /tmp 점검 |
# 소유권·특수권한 종합 점검 (분석 방법)
# 1) SUID/SGID 기준선 이탈
diff /root/baseline/suid_base.txt <(sudo find / -xdev -perm -4000 -type f 2>/dev/null|sort) | grep -c '^>'
# 2) capability 기준선 이탈
diff /root/baseline/caps_base.txt <(sudo getcap -r / 2>/dev/null|sort) | grep -c '^>'
# 3) 중요 파일 소유권 이탈
for f in /etc/passwd /etc/shadow /etc/sudoers; do [ "$(stat -c%U $f)" != root ] && echo "소유권이탈 $f"; done
$ (SUID 이탈) 0
$ (capability 이탈) 0
$ (소유권 이탈) (없음)
SUID·capability가 기준선과 일치하고, 중요 파일이 root 소유를 유지해 새 상승 경로가 없는 상태가 정상입니다.
$ (SUID 이탈) 2
$ (capability 이탈) 1
$ (소유권 이탈)
소유권이탈 /etc/shadow
소유권·특수권한 종합 판정 흐름입니다(가상의 예시).
[수집] perm_change/perm_suid/capability 이벤트 + 기준선 diff
↓
[분류] 직접 상승(SUID·cap) / 간접(소유권·그룹) / 우회(Sticky)
↓
[상승 경로 평가] 새 경로가 몇 개 생겼나
↓
[연계] 소유권 탈취→chmod, 정찰(C27)→부여
↓
[종합] 상승 경로 수 + 6축 → 정탐/오탐
| 지표 | 정상 | 위험 |
|---|---|---|
| SUID/cap 이탈 | 0 | 1+ |
| 중요 소유권 | root | 이탈 |
| 연계 | 없음 | 정찰·재설정 |
상승 경로 생성 수를 종합하면 공격의 상승 단계 진입을 판정할 수 있습니다.
<!-- 실습 예시 룰: 적용 전 wazuh-logtest 및 테스트 환경 검증 필요 -->
<group name="local,syssec_d,perm_suid,">
<!-- 동일 세션 내 다중 상승 경로 생성 종합 경보 -->
<rule id="103260" level="14" frequency="3" timeframe="600">
<if_matched_sid>103200</if_matched_sid>
<same_field>audit.session</same_field>
<description>동일 세션 내 다중 상승 경로 생성(3단계 종합 경보)</description>
<mitre><id>T1548</id></mitre>
</rule>
</group>
개별 룰(D19~27) 위에 상승 경로 종합 상관 룰을 두어 상승 단계 진입을 한 경보로 포착합니다.
| 변경 유형 | 상승 방식 |
|---|---|
| SUID/신규/비표준 | 직접(바이너리) |
| Capability | 직접(cap) |
| 소유권 탈취 | 간접(재설정) |
| Sticky 제거 | 우회(교체) |
| 면접 포인트 | "3단계는 상승 경로 직접 생성 — 기준선 diff·화이트리스트로 경로 수를 종합" |
다음 편 179. 권한 변경 이상 — sudoers 규칙 변경 탐지 에서는 4단계로 넘어가 sudo 권한 변경인 sudoers 규칙 변경 탐지를 다룹니다.
이전 편: 177. 권한 변경 이상 — Capability 설정 변경 탐지
📚 시리즈 전체 보기: 시스템 보안 · 취약점