시스템 보안 · 취약점 › F. 비정상 프로세스 · 지속성 징후 · 26/50편 (전체 276/450)
학습 단계: 지속성(persistence) 메커니즘
실습 표기: 이 글의 명령어·출력·로그는 로컬 VMware 테스트 VM(Rocky Linux 9 / Ubuntu 22.04) 기준의 「실습 예시」이며, IP·계정·호스트명은 가상의 값입니다.
PAM(인증 모듈)은 로그인·sudo·ssh 인증을 담당합니다. D33·34(인증 우회)와 연계되지만, 여기서는 PAM을 지속성 관점에서 봅니다. 악성 PAM 모듈이나 백도어 인증을 심으면, 비밀번호를 몰라도·바꿔도 영구 접근이 가능합니다.
PAM 기반 지속성
악성 PAM 모듈: 커스텀 .so로 백도어 인증·자격증명 탈취
/lib*/security/에 악성 모듈 배치
백도어 비밀번호: 특정 비번은 무조건 통과(magic password)
pam_exec 악용: 인증 시 악성 스크립트 실행
pam_permit/nullok (D34): 무조건 통과
특징: 인증 계층 장악 → 비번 변경 무력, 자격증명 수집
악성 PAM 모듈은 인증 계층 자체를 장악해, 백도어 접근과 모든 사용자의 자격증명 탈취를 동시에 수행하는 강력한 지속성입니다.
| PAM 지속성 | 메커니즘 | 위험 |
|---|---|---|
| 악성 PAM 모듈 | 커스텀 .so | 매우 높음 |
| 백도어 비밀번호 | magic password | 매우 높음 |
| pam_exec 악용 | 인증 시 실행 | 높음 |
| pam_permit/nullok | 무조건 통과(D34) | 매우 높음 |
| 정상 PAM | 정상 | 정상 |
# PAM 지속성 탐지 (분석 방법)
# PAM 설정·모듈 변경 이벤트
sudo ausearch -k persist,pam_change -i --start recent 2>/dev/null | grep -E '/etc/pam|security/.*\.so' | tail
# PAM 모듈 디렉터리 신규/비정상 .so(기준선 대비)
find /lib*/security /usr/lib*/security -name '*.so' -newer /root/baseline/pam_ref 2>/dev/null
# pam_exec·비표준 모듈 참조
sudo grep -rE 'pam_exec|/tmp/|/dev/shm/' /etc/pam.d/ 2>/dev/null
$ (PAM 변경) (없음)
$ (신규 모듈) (없음)
$ (pam_exec·비표준) (없음 또는 정상 pam_exec)
PAM 설정·모듈에 변경이 없고, 신규 .so·비표준 모듈 참조가 없는 상태가 정상입니다.
$ (PAM 변경)
04:14 /lib64/security/pam_backdoor.so (신규 모듈)
$ (pam_exec·비표준)
/etc/pam.d/sshd: auth optional pam_exec.so /tmp/.steal.sh
PAM 지속성 분석입니다(가상의 예시).
[설치] /lib64/security/pam_backdoor.so + pam.d 등록 (FIM)
↓
[인증 장악]
├ 백도어 비밀번호로 모든 계정 접근
├ 정상 로그인 시 자격증명 수집(탈취)
└ pam_exec로 악성 스크립트 실행
↓
[지속] 비번 변경·계정 잠금 무력(인증 계층 장악)
→ 모듈 제거·PAM 복구 없이는 영구 접근
| 요소 | 해석 |
|---|---|
| 악성 .so | 인증 장악 |
| magic password | 백도어 접근 |
| pam_exec | 인증 시 실행 |
| 자격증명 수집 | 전 사용자 탈취 |
PAM 모듈 변경은 인증 계층 침해의 결정적 지표입니다.
<!-- 실습 예시 룰: 적용 전 wazuh-logtest 및 테스트 환경 검증 필요 -->
<group name="local,syssec_f,persistence,">
<rule id="105250" level="14">
<if_sid>105060</if_sid>
<field name="audit.file" type="pcre2">/lib.*/security/.*\.so|/etc/pam\.d/|/etc/pam\.conf</field>
<description>PAM 모듈·설정 지속성 변경(인증 백도어)</description>
<mitre><id>T1556.003</id></mitre>
</rule>
</group>
PAM 모듈 디렉터리·설정은 FIM 최우선 감시 대상입니다. pam_permit·nullok 내용은 D34와 연계 탐지합니다.
| PAM 지속성 | 메커니즘 |
|---|---|
| 악성 PAM 모듈 | 커스텀 .so |
| 백도어 비밀번호 | magic password |
| pam_exec 악용 | 인증 시 실행 |
| pam_permit/nullok | 무조건 통과(D34) |
| 면접 포인트 | "PAM 지속성은 인증 계층 장악 — 비번 변경 무력, 전 계정 자격증명 탈취" |
다음 편 277. 프로세스·지속성 — 커널 모듈·rootkit 지속성 탐지 에서는 커널 모듈·rootkit 지속성을 다루는 커널 모듈·rootkit 지속성 탐지를 다룹니다.
이전 편: 275. 프로세스·지속성 — SSH authorized_keys 지속성 탐지
📚 시리즈 전체 보기: 시스템 보안 · 취약점