시스템 보안 · 취약점 › C. Linux 정보 노출 및 수집 · 27/50편 (전체 127/450)
학습 단계: 사용자·권한 정보 수집
실습 표기: 이 글의 명령어·출력·로그는 로컬 VMware 테스트 VM(Rocky Linux 9 / Ubuntu 22.04) 기준의 「실습 예시」이며, IP·계정·호스트명은 가상의 값입니다.
sudo -l은 "내가 sudo로 무엇을 할 수 있는가" 를 그대로 알려줍니다. 공격자에게 이는 권한 상승 경로의 지도입니다. 허용된 명령 중 셸 탈출 가능한 것(A영역 06편)이 있으면 바로 상승에 이용합니다.
sudo 권한 조회
sudo -l → 현재 계정의 허용 명령(비밀번호 없이도 일부 표시)
sudo -l -U 사용자 → 특정 계정 권한(root 필요)
cat /etc/sudoers → sudoers 규칙(root 읽기)
ls/cat /etc/sudoers.d → 추가 규칙
지도: 허용 명령 중 vi/less/python 등 셸 탈출 가능(A영역 06편) → 상승 경로
A영역 06편이 방어자의 sudoers 점검, B영역 37편이 sudo 상승 탐지라면, 여기서는 공격자가 권한을 조회·파악하는 정찰입니다.
sudo -l은 권한 상승 경로를 직접 알려줘, 공격자가 가장 먼저 확인하는 권한 정찰 중 하나입니다./etc/sudoers.d 열람은 숨겨진 권한 규칙까지 파악하려는 정밀 정찰입니다.| 조회 | 정보 |
|---|---|
sudo -l | 현재 계정 허용 명령 |
sudo -l -U 사용자 | 특정 계정 권한 |
/etc/sudoers | 전체 규칙 |
/etc/sudoers.d/ | 추가 규칙 |
# sudo 권한 조회 감사 (실습 예시)
-w /etc/sudoers -p r -k recon_priv
-w /etc/sudoers.d -p r -k recon_priv
-a always,exit -F arch=b64 -S execve -F path=/usr/bin/sudo -F a1="-l" -k recon_priv
# 세션에서 sudo -l 조회와 직후 상승 (분석 방법)
sudo ausearch -k recon_priv -i --start recent | grep -E 'sudo|sudoers' | tail
# sudo -l 직후 sudo 실행(상승)이 왔는지
sudo ausearch --session 12 -i 2>/dev/null | grep -E 'a1="-l"|USER_CMD' | tail
sudo -l 실행 자체는 Wazuh/syslog에도 남습니다(sudo 로그). auditd와 함께 봅니다.
$ sudo ausearch -k recon_priv -i --start today | grep 'a1="-l"' | tail -1
09:05:02 auid=admin1 ses=8 comm="sudo" a1="-l" (자기 권한 확인)
관리자가 자기 권한을 확인하는 sudo -l은 흔하고 정상입니다. 위험한 것은 조회 직후 상승이나 다른 계정 권한 조회입니다.
02:14:30 auid=devops ses=12 comm="sudo" a1="-l"
02:14:35 auid=devops ses=12 comm="cat" name="/etc/sudoers.d/ops"
02:14:40 auid=devops ses=12 comm="sudo" (vi /etc/... → 셸 탈출 가능)
sudo -l로 허용 명령 확인 + sudoers.d 열람 → 권한 상승 경로 정밀 파악sudo 권한 정찰 → 상승 흐름입니다(가상의 예시 로그).
type=EXECVE ... a0="sudo" a1="-l"
type=SYSCALL ... auid=devops ses=12 comm="sudo" key="recon_priv"
type=PATH ... name="/etc/sudoers.d/ops" nametype=NORMAL
[직후] sudo로 셸 탈출 가능 명령 실행 (B영역 37편 101060)
| 관찰 | 해석 |
|---|---|
| sudo -l | 허용 명령 지도 |
| sudoers.d 열람 | 숨은 규칙 파악 |
| 직후 상승 | 지도 따라 상승(B영역 37편) |
| ses=12 | 권한 정찰 세션 |
sudo -l 조회는 직후 상승 여부와 함께 봅니다(B영역 37편 연계).-l -U)·sudoers.d 열람은 정밀 권한 정찰로 주시합니다.<!-- 실습 예시 룰: 적용 전 wazuh-logtest 및 테스트 환경 검증 필요 -->
<group name="local,syssec_c,recon,privilege,">
<rule id="102250" level="8">
<if_group>audit</if_group>
<field name="audit.key">recon_priv</field>
<regex type="pcre2">a1="-l"|/etc/sudoers</regex>
<description>sudo 권한·sudoers 조회(권한 상승 경로 정찰)</description>
<mitre><id>T1069.001</id></mitre>
</rule>
</group>
sudo -l 조회(102250) + 직후 sudo 상승(B영역 101060)을 상관하면 정찰→상승을 포착합니다.
| 조회 | 정보 |
|---|---|
| sudo -l | 허용 명령(상승 지도) |
| sudo -l -U | 타 계정 권한 |
| /etc/sudoers.d | 숨은 규칙 |
| 구분 | 자기 권한 확인(정상) vs 조회 직후 상승·타 계정 조회(정찰) |
| 면접 포인트 | "sudo -l은 권한 상승 경로의 지도 — 조회 직후 상승을 함께 본다" |
다음 편 128. Linux 정보 수집 — 관리자 권한 관련 정보 수집 에서는 관리자 권한 전반을 보는 관리자 권한 관련 정보 수집을 다룹니다.
이전 편: 126. Linux 정보 수집 — 최근 로그인 정보 조회
📚 시리즈 전체 보기: 시스템 보안 · 취약점