180. 권한 변경 이상 — sudoers.d 신규 규칙 탐지

changseop lee·2026년 10월 7일

시스템 보안 · 취약점

목록 보기
180/450

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

선행 학습

1. 개념

/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에 파일이 새로 생겼는가"입니다. 디렉터리 와치로 생성·변경을 포착합니다.

2. 왜 중요한가

  • sudoers.d 신규 파일은 메인 sudoers를 건드리지 않아, 메인 파일만 감시하면 놓칩니다.
  • 정상 파일(패키지가 설치하는 것)과 구분하려면 생성 주체·맥락을 봐야 합니다.
  • 이름을 정상처럼 위장하므로, 내용(NOPASSWD 등)과 생성 이벤트를 함께 봅니다.

3. 핵심 명령어 / 설정

sudoers.d 변경특징위험
신규 규칙 파일append 상승높음
NOPASSWD 포함비번 없는 상승매우 높음
이름 위장정상처럼높음(은닉)
패키지 설치 파일dnf 맥락정상
디렉터리 와치생성 포착탐지

4. 실습 (실습 예시)

# 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

5. 정상 상태

$ (sudoers.d 변경) (없음 또는 패키지 설치)
$ (sudoers.d 목록)
2026-05-01 10-installer   (패키지 설치 — 기준선 등록)

sudoers.d에 신규 파일이 없고(또는 패키지 설치 맥락과 일치), 기준선 목록과 같은 상태가 정상입니다.

6. 이상 상태

$ (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에 99-devops 신규 파일 → 메인 sudoers 안 건드리고 상승 규칙 심기
  • NOPASSWD: ALL → 비번 없는 영구 상승(D31)
  • 비관리 계정·패키지 맥락 없음 → 정탐(고위험)

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

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 실행을 연계합니다.

8. SOC 관제 포인트

  • sudoers.d 신규 파일은 메인 sudoers를 우회한 은밀한 상승 규칙 심기입니다.
  • 디렉터리 와치로 신규 파일 생성(CREATE)을 포착해야 놓치지 않습니다.
  • 생성 주체·패키지 맥락·내용(NOPASSWD)을 함께 판정합니다.

9. 탐지 규칙

<!-- 실습 예시 룰: 적용 전 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으로 내용도 함께 봅니다.

10. 대응 방법

  1. 초기 확인 — sudoers.d에 생성·변경된 파일·주체·시점·패키지 맥락을 확인합니다.
  2. 범위 확인 — 파일 내용(NOPASSWD·사용자 규칙)과 이후 sudo 실행을 확인합니다.
  3. 증거 확보 — sudoers.d 생성/변경 이벤트와 파일 내용을 보존합니다.
  4. 차단/조치 — 비인가 파일 제거·원복·세션 종료·상승 여부 조사를 진행합니다.
  5. 재발 방지 — sudoers.d 디렉터리 와치 기반 신규 규칙 탐지를 운영합니다.

11. 핵심 정리

변경위험
신규 규칙 파일은닉 상승
NOPASSWD 포함비번 없는 상승
이름 위장탐지 회피
패키지 설치정상(맥락)
면접 포인트"sudoers.d 신규 파일은 메인 우회 은닉 — 디렉터리 와치로 CREATE 포착"

12. 다음 편 예고

다음 편 181. 권한 변경 이상 — NOPASSWD 추가 탐지 에서는 NOPASSWD 추가를 집중 다루는 NOPASSWD 추가 탐지를 다룹니다.


이전 편: 179. 권한 변경 이상 — sudoers 규칙 변경 탐지
📚 시리즈 전체 보기: 시스템 보안 · 취약점

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

0개의 댓글