시스템 보안 · 취약점 › D. 권한 변경 이상 징후 · 32/50편 (전체 182/450)
학습 단계: sudo·PAM·capability 권한 변경
실습 표기: 이 글의 명령어·출력·로그는 로컬 VMware 테스트 VM(Rocky Linux 9 / Ubuntu 22.04) 기준의 「실습 예시」이며, IP·계정·호스트명은 가상의 값입니다.
규칙 변경(D29~31)이 "상승 권한 생성"이라면, 여기서는 그 권한이 실제로 쓰이는 실행을 봅니다. sudo 실행 중 위험 명령·쉘 획득·비정상 주체를 탐지해, 상승이 악용되는 순간을 포착합니다.
sudo 상승 실행 이상
쉘 획득: sudo bash / sudo -i / sudo su → 대화형 root
위험 명령: sudo vi(:!sh) / sudo find -exec → 쉘 탈출
비정상 주체: 새 계정·서비스 계정의 sudo
비정상 시점: 새벽·비업무 시간 sudo
B영역 37편과 연계: 규칙 변경(D) → 상승 실행(여기)
B영역 37편이 인증·실패 중심이라면, 여기서는 D영역 규칙 변경과 연결된 상승 실행의 악용 패턴에 집중합니다.
| sudo 실행 | 위험 | 비고 |
|---|---|---|
sudo bash/-i/su | 대화형 root 쉘 | 높음 |
sudo vi/less/find | 쉘 탈출(GTFOBins) | 높음 |
| 규칙 변경 직후 sudo | 경로 악용 | 높음 |
| 비정상 주체·시점 | 탈취 상승 | 높음 |
| 정상 관리 sudo | 승인 작업 | 정상 |
# sudo 상승 실행 탐지 (분석 방법)
# sudo로 쉘/위험 명령 실행
sudo ausearch -k priv_esc,sudo_exec -i --start recent 2>/dev/null | grep -E 'sudo.*(bash|sh|-i|su|vi|find|less|awk)' | tail
# 규칙 변경과 상승 실행의 시간·세션 연계
sudo ausearch -k sudoers_change,priv_esc -i --start recent 2>/dev/null | grep -E 'sudoers|sudo' | tail
$ (sudo 상승 실행)
14:20 auid=admin1 proctitle="sudo systemctl restart nginx" (승인 작업)
관리자가 sudo로 정상 운영 명령(서비스 재시작 등)을 업무 시간에 실행하는 것은 정상입니다.
$ (sudo 상승 실행)
03:42 auid=devops proctitle="sudo bash" (대화형 root 쉘)
03:45 auid=devops proctitle="sudo find /etc -exec /bin/sh \; "
$ (규칙 변경 연계)
03:40 sudoers.d/99-devops 생성(D30) → 03:42 sudo bash
sudo 상승 실행 연계 흐름입니다(가상의 예시).
[규칙 변경] 03:40 sudoers.d/99-devops: NOPASSWD: ALL (D30·31)
↓ 같은 세션
[상승 실행] 03:42 sudo bash → uid=0 대화형 쉘
↓
[root 행위] 이후 모든 명령 root로 수행
| 단계 | 흔적 |
|---|---|
| 규칙 변경 | sudoers.d 생성 |
| 상승 실행 | sudo bash |
| 같은 세션 | session 일치 |
| root 쉘 | uid=0 |
규칙 변경(D30·31)과 상승 실행을 세션으로 연계하면 경로 생성→악용의 전체 체인이 드러납니다.
<!-- 실습 예시 룰: 적용 전 wazuh-logtest 및 테스트 환경 검증 필요 -->
<group name="local,syssec_d,privilege,">
<!-- 규칙 변경 직후 같은 세션 sudo 쉘 획득 -->
<rule id="103300" level="14">
<if_sid>103270,103280,103290</if_sid>
<if_matched_sid>103270</if_matched_sid>
<same_field>audit.session</same_field>
<description>sudoers 변경 직후 같은 세션 sudo 상승 실행</description>
<mitre><id>T1548.003</id><id>T1059.004</id></mitre>
</rule>
</group>
sudo 쉘 획득 자체는 B영역 37편(인증) 룰과 함께 보고, D영역에서는 규칙 변경과의 세션 연계에 집중합니다.
| sudo 실행 | 위험 |
|---|---|
| sudo bash/-i/su | 대화형 root 쉘 |
| sudo vi/find | 쉘 탈출(GTFOBins) |
| 규칙 변경 직후 | 경로 악용 |
| 비정상 주체/시점 | 탈취 상승 |
| 면접 포인트 | "규칙 변경(D)→sudo 상승 실행을 세션으로 연계해 경로 생성→악용 체인 포착" |
다음 편 183. 권한 변경 이상 — PAM 설정 변경과 권한 우회 탐지 에서는 PAM 설정 변경을 다루는 PAM 설정 변경과 권한 우회 탐지를 다룹니다.
이전 편: 181. 권한 변경 이상 — NOPASSWD 추가 탐지
📚 시리즈 전체 보기: 시스템 보안 · 취약점