시스템 보안 · 취약점 › D. 권한 변경 이상 징후 · 30/50편 (전체 180/450)
학습 단계: sudo·PAM·capability 권한 변경
실습 표기: 이 글의 명령어·출력·로그는 로컬 VMware 테스트 VM(Rocky Linux 9 / Ubuntu 22.04) 기준의 「실습 예시」이며, IP·계정·호스트명은 가상의 값입니다.
/etc/sudoers는 보통 #includedir /etc/sudoers.d로 그 디렉터리의 파일들을 포함합니다. 공격자는 메인 sudoers 대신 sudoers.d에 신규 파일을 추가해 은밀하게 규칙을 심습니다. 메인 파일은 그대로라 눈에 덜 띕니다.
sudoers.d 은닉 기법
신규 파일: /etc/sudoers.d/99-devops (append 규칙)
내용: devops ALL=(ALL) NOPASSWD: ALL
은닉: 메인 sudoers 변경 없음 → FIM 회피 시도
이름 위장: 10-installer 등 정상처럼
탐지: sudoers.d 디렉터리 신규 파일 생성 감시
핵심은 "sudoers.d에 파일이 새로 생겼는가"입니다. 디렉터리 와치로 생성·변경을 포착합니다.
| sudoers.d 변경 | 특징 | 위험 |
|---|---|---|
| 신규 규칙 파일 | append 상승 | 높음 |
| NOPASSWD 포함 | 비번 없는 상승 | 매우 높음 |
| 이름 위장 | 정상처럼 | 높음(은닉) |
| 패키지 설치 파일 | dnf 맥락 | 정상 |
| 디렉터리 와치 | 생성 포착 | 탐지 |
# sudoers.d 신규 규칙 탐지 (분석 방법)
# sudoers.d 디렉터리 생성/변경 이벤트
sudo ausearch -k perm_critical,sudoers_change -i --start recent 2>/dev/null | grep '/etc/sudoers.d/' | tail
# 현재 sudoers.d 파일 목록·수정시각(기준선 대비 신규 식별)
ls -la --time-style=long-iso /etc/sudoers.d/ 2>/dev/null
$ (sudoers.d 변경) (없음 또는 패키지 설치)
$ (sudoers.d 목록)
2026-05-01 10-installer (패키지 설치 — 기준선 등록)
sudoers.d에 신규 파일이 없고(또는 패키지 설치 맥락과 일치), 기준선 목록과 같은 상태가 정상입니다.
$ (sudoers.d 변경)
03:35 auid=devops comm="tee" /etc/sudoers.d/99-devops (신규 생성)
$ (sudoers.d 목록)
2026-10-02 99-devops (신규, 패키지 맥락 없음)
내용: devops ALL=(ALL) NOPASSWD: ALL
sudoers.d 신규 규칙 흐름입니다(가상의 예시 로그).
type=SYSCALL ... comm="tee" auid=devops key="perm_critical"
type=PATH ... name="/etc/sudoers.d/99-devops" nametype=CREATE
[내용] devops ALL=(ALL) NOPASSWD: ALL
[이후] sudo -n 실행(B영역 37) → 비번 없이 root
| 흔적 | 해석 |
|---|---|
| nametype=CREATE | 신규 파일 생성 |
| /etc/sudoers.d/ | 포함 디렉터리 |
| NOPASSWD: ALL | 비번 없는 상승 |
| 이후 sudo -n | 상승 실행 |
디렉터리 와치로 CREATE를 포착하고, 내용·이후 sudo 실행을 연계합니다.
<!-- 실습 예시 룰: 적용 전 wazuh-logtest 및 테스트 환경 검증 필요 -->
<group name="local,syssec_d,sudoers_change,">
<rule id="103280" level="13">
<if_sid>103020</if_sid>
<field name="audit.path" type="pcre2">/etc/sudoers\.d/</field>
<field name="audit.proctitle" type="pcre2">(tee|echo|cat|cp|vi|vim|nano|sed|install)</field>
<description>sudoers.d 신규/변경 규칙 파일(은닉 상승)</description>
<mitre><id>T1548.003</id></mitre>
</rule>
</group>
패키지 관리자(dnf/rpm)가 설치하는 sudoers.d 파일은 부모 프로세스로 예외 처리합니다(D46). FIM으로 내용도 함께 봅니다.
| 변경 | 위험 |
|---|---|
| 신규 규칙 파일 | 은닉 상승 |
| NOPASSWD 포함 | 비번 없는 상승 |
| 이름 위장 | 탐지 회피 |
| 패키지 설치 | 정상(맥락) |
| 면접 포인트 | "sudoers.d 신규 파일은 메인 우회 은닉 — 디렉터리 와치로 CREATE 포착" |
다음 편 181. 권한 변경 이상 — NOPASSWD 추가 탐지 에서는 NOPASSWD 추가를 집중 다루는 NOPASSWD 추가 탐지를 다룹니다.
이전 편: 179. 권한 변경 이상 — sudoers 규칙 변경 탐지
📚 시리즈 전체 보기: 시스템 보안 · 취약점