184. 권한 변경 이상 — pam_permit·nullok 삽입 탐지

changseop lee·2026년 10월 7일

시스템 보안 · 취약점

목록 보기
184/450

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

선행 학습

1. 개념

PAM 변조(D33)의 가장 전형적인 두 패턴을 집중합니다. pam_permit.so(무조건 성공)와 nullok(빈 비밀번호 허용)는 한 줄로 인증을 무력화하는 구체적 백도어 지시어입니다.

두 가지 핵심 패턴
 ① pam_permit.so
    auth sufficient pam_permit.so
    → 이 줄에서 무조건 인증 성공(비번 검증 생략)
 ② nullok
    auth ... pam_unix.so nullok
    → 빈 비밀번호 계정으로 로그인 허용

공통: 비밀번호를 몰라도 인증 통과 → 백도어

두 패턴은 내용(문자열)으로 명확히 탐지됩니다. 어느 PAM 파일에 들어가든 지시어 자체가 경보 대상입니다.

2. 왜 중요한가

  • pam_permit.so는 "무조건 성공" 모듈이라, 인증 스택에 넣으면 비번 검증이 무의미해집니다.
  • nullok는 빈 비밀번호를 허용해, 비번 없는 계정을 백도어로 만듭니다.
  • 두 패턴은 공격자가 선호하는 은밀한 인증 백도어로, 내용 탐지가 효과적입니다.

3. 핵심 명령어 / 설정

패턴위치 예효과
pam_permit.sopam.d/sshd auth무조건 성공
pam_permit.sosystem-auth전역 우회
nullokpam_unix.so빈 비번 허용
nullok_secure일부 정상맥락 확인
모듈+sufficientauth 스택조기 통과

4. 실습 (실습 예시)

# pam_permit·nullok 삽입 탐지 (분석 방법)
# 현재 삽입 여부 점검(분석용)
sudo grep -rnE 'pam_permit\.so|nullok' /etc/pam.d/ /etc/pam.conf 2>/dev/null

# FIM 변경 내용에서 패턴 확인(report_changes)
sudo ausearch -k pam_change -i --start recent 2>/dev/null | grep -E '/etc/pam'

5. 정상 상태

$ (pam_permit/nullok 점검) (없음)

PAM 스택에 pam_permit.so(인증 우회 위치)나 nullok가 없는 상태가 정상입니다. 일부 배포의 정상 nullok는 기준선에 등록합니다.

6. 이상 상태

$ (pam_permit/nullok 점검)
/etc/pam.d/sshd:3: auth sufficient pam_permit.so    (삽입)
/etc/pam.d/system-auth:5: auth ... pam_unix.so nullok  (추가)
  • sshd에 auth sufficient pam_permit.so → SSH 인증 무조건 성공
  • system-auth에 nullok → 빈 비밀번호 로그인 허용
  • 두 백도어 패턴 삽입 → 정탐(최고 위험)

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

pam_permit 삽입 흐름입니다(가상의 예시).

[삽입] /etc/pam.d/sshd:
       auth sufficient pam_permit.so   ← 추가(FIM)
   ↓
[동작] SSH 인증 시 이 줄에서 "sufficient 성공" → 비번 검증 생략
   ↓
[악용] 임의 비밀번호로 SSH 로그인 성공(B영역 인증 로그)
요소해석
sufficient성공 시 조기 통과
pam_permit.so무조건 성공
결과비번 무관 로그인
이후 로그인우회 확정

삽입(FIM)+이후 임의 비번 로그인(B영역)을 연계하면 백도어 인증을 확정합니다.

8. SOC 관제 포인트

  • pam_permit.so·nullok는 한 줄로 인증을 무력화하는 구체적 백도어 패턴입니다.
  • 내용(문자열) 기반 탐지가 명확하고 효과적입니다.
  • 삽입(FIM)+이후 임의 비번 로그인(B영역) 연계로 우회를 확정합니다.

9. 탐지 규칙

<!-- 실습 예시 룰: 적용 전 wazuh-logtest 및 테스트 환경 검증 필요 -->
<group name="local,syssec_d,pam_change,">
  <rule id="103320" level="14">
    <if_group>syscheck</if_group>
    <field name="file" type="pcre2">/etc/pam\.(d/.*|conf)$</field>
    <field name="changed_content" type="pcre2">pam_permit\.so|\bnullok\b</field>
    <description>PAM에 pam_permit.so/nullok 삽입(인증 백도어)</description>
    <mitre><id>T1556.003</id></mitre>
  </rule>
</group>

FIM report_changes로 삽입 라인을 포착합니다. 정상 nullok(일부 배포)는 기준선·예외로 분리합니다.

10. 대응 방법

  1. 초기 확인 — 삽입된 패턴(pam_permit/nullok)·파일·위치·주체를 확인합니다.
  2. 범위 확인 — 삽입 후 임의 비밀번호·빈 비밀번호 로그인 성공을 확인합니다.
  3. 증거 확보 — PAM 변경 이벤트와 파일 내용(원본 대조)·인증 로그를 보존합니다.
  4. 차단/조치 — 삽입 라인 제거·원복·세션 종료·전 계정 인증 점검을 진행합니다.
  5. 재발 방지 — pam_permit·nullok 내용 기반 탐지를 운영합니다.

11. 핵심 정리

패턴효과
pam_permit.so무조건 인증 성공
nullok빈 비번 허용
sufficient+permit조기 통과
전역(system-auth)전체 우회
면접 포인트"pam_permit·nullok는 한 줄 인증 백도어 — 내용 기반 탐지 + 임의 비번 로그인 연계"

12. 다음 편 예고

다음 편 185. 권한 변경 이상 — 특권 그룹 추가와 권한 변경 연계 에서는 특권 그룹 추가와 권한 변경 연계를 다루는 특권 그룹 추가와 권한 변경 연계를 다룹니다.


이전 편: 183. 권한 변경 이상 — PAM 설정 변경과 권한 우회 탐지
📚 시리즈 전체 보기: 시스템 보안 · 취약점

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

0개의 댓글