시스템 보안 · 취약점 › D. 권한 변경 이상 징후 · 33/50편 (전체 183/450)
학습 단계: sudo·PAM·capability 권한 변경
실습 표기: 이 글의 명령어·출력·로그는 로컬 VMware 테스트 VM(Rocky Linux 9 / Ubuntu 22.04) 기준의 「실습 예시」이며, IP·계정·호스트명은 가상의 값입니다.
PAM(Pluggable Authentication Modules)은 로그인·sudo·ssh 등 인증 전반을 담당합니다. PAM 설정을 변조하면 인증 자체를 우회할 수 있어, 비밀번호 없는 로그인·백도어 인증이 가능해집니다. 권한 변경 중 가장 근본적인 우회입니다.
PAM 설정 변경 위험
/etc/pam.d/sshd, system-auth 등 변조
→ pam_permit.so 삽입: 무조건 인증 성공(D34)
→ nullok 추가: 빈 비밀번호 허용(D34)
→ 모듈 순서 변경: 검증 단계 무력화
→ 악성 모듈 로드: 백도어 인증
위험: 인증 체계 자체 우회 → 모든 접근 통제 붕괴
PAM 변조는 권한 상승이 아니라 인증 우회라, B영역(인증)과 D영역(권한 변경)의 교차점입니다.
| PAM 변경 | 효과 | 위험 |
|---|---|---|
pam_permit.so 삽입 | 무조건 인증 성공 | 매우 높음 |
nullok 추가 | 빈 비번 허용 | 매우 높음 |
| 모듈 순서 변경 | 검증 무력화 | 높음 |
| 악성 모듈 로드 | 백도어 인증 | 매우 높음 |
| 정상 패키지 변경 | authselect 등 | 정상(맥락) |
# PAM 설정 변경 탐지 (분석 방법)
# pam.d 변경 이벤트(와치)
sudo ausearch -k perm_critical,pam_change -i --start recent 2>/dev/null | grep -E '/etc/pam' | tail
# 현재 PAM 위험 패턴 점검(분석용)
sudo grep -rnE 'pam_permit\.so|nullok' /etc/pam.d/ 2>/dev/null
$ (pam.d 변경) (없음 또는 authselect 적용)
$ (PAM 위험 패턴) (없음)
PAM 파일에 변경 이벤트가 없고, pam_permit·nullok 같은 위험 패턴이 없는 상태가 정상입니다.
$ (pam.d 변경)
03:50 auid=devops comm="vi" /etc/pam.d/sshd
$ (PAM 위험 패턴)
/etc/pam.d/sshd: auth sufficient pam_permit.so (삽입)
pam_permit.so 삽입 → SSH 인증 무조건 성공(비번 무관)PAM 설정 변경 흐름입니다(가상의 예시 로그).
type=SYSCALL ... comm="vi" auid=devops key="pam_change"
type=PATH ... name="/etc/pam.d/sshd" nametype=NORMAL
[FIM] + auth sufficient pam_permit.so
[이후] 임의 비밀번호로 SSH 로그인 성공(B영역 인증 로그)
| 흔적 | 해석 |
|---|---|
| /etc/pam.d/sshd 변경 | 인증 설정 변조 |
| pam_permit.so | 무조건 성공 |
| 이후 로그인 | 백도어 인증 |
| 임의 비번 성공 | 우회 확정 |
PAM 변경(와치+FIM)+이후 비정상 로그인(B영역)을 연계하면 인증 우회를 확정합니다.
<!-- 실습 예시 룰: 적용 전 wazuh-logtest 및 테스트 환경 검증 필요 -->
<group name="local,syssec_d,pam_change,">
<rule id="103310" level="13">
<if_sid>103020</if_sid>
<field name="audit.path" type="pcre2">/etc/pam\.d/|/etc/pam\.conf</field>
<field name="audit.proctitle" type="pcre2">(vi|vim|nano|sed|tee|echo|cp)</field>
<description>PAM 설정 파일 변경(인증 우회 가능)</description>
<mitre><id>T1556.003</id></mitre>
</rule>
</group>
정상 변경(authselect/authconfig)은 부모 프로세스로 예외 분리합니다. 내용(pam_permit 등)은 D34·FIM으로 탐지합니다.
| PAM 변경 | 효과 |
|---|---|
| pam_permit.so | 무조건 인증 성공 |
| nullok | 빈 비번 허용 |
| 순서 변경 | 검증 무력화 |
| 악성 모듈 | 백도어 인증 |
| 면접 포인트 | "PAM 변조는 인증 체계 자체 우회 — 파일 변경 자체가 강한 이상 징후" |
다음 편 184. 권한 변경 이상 — pam_permit·nullok 삽입 탐지 에서는 pam_permit·nullok 삽입을 집중 다루는 pam_permit·nullok 삽입 탐지를 다룹니다.
이전 편: 182. 권한 변경 이상 — sudo 권한 상승 실행 탐지
📚 시리즈 전체 보기: 시스템 보안 · 취약점