시스템 보안 · 취약점 › C. Linux 정보 노출 및 수집 · 23/50편 (전체 123/450)
학습 단계: 사용자·권한 정보 수집
실습 표기: 이 글의 명령어·출력·로그는 로컬 VMware 테스트 VM(Rocky Linux 9 / Ubuntu 22.04) 기준의 「실습 예시」이며, IP·계정·호스트명은 가상의 값입니다.
id·whoami는 "지금 나는 누구이고 무슨 권한인가" 를 확인하는 가장 기본적인 조회입니다. 공격자는 로그인 직후, 그리고 권한 상승 시도 직후에 이를 확인해 성공 여부를 판단합니다(B영역 37편의 "상승 직후 정찰").
권한 확인
id → UID·GID·소속 그룹(상승 성공 여부)
whoami → 현재 사용자
/proc/self/status → 프로세스 권한(Uid, Gid, CapEff)
groups → 소속 그룹
맥락: 로그인 직후 id = 초기 정찰 / sudo·su 직후 id = 상승 확인
B영역 37편이 "sudo 상승 직후 정찰"을 권한 상승 관점에서 봤다면, 여기서는 권한 확인 조회 자체를 정보 수집 관점으로 봅니다.
id는 "권한 상승이 성공했는가"를 확인하는 행위라, 권한 상승 공격의 강한 신호입니다(B영역 37편 101340).id/whoami는 정찰의 시작점으로, 자동화 스크립트가 흔히 첫 명령으로 실행합니다./proc/self/status의 CapEff(capability) 확인은 더 정교한 권한 파악 시도입니다.| 조회 | 정보 |
|---|---|
id | UID·GID·그룹(상승 확인) |
whoami | 현재 사용자 |
/proc/self/status | Uid/Gid/CapEff |
groups | 소속 그룹 |
# 권한 확인 감사 (실습 예시)
-a always,exit -F arch=b64 -S execve -F path=/usr/bin/id -F auid>=1000 -F auid!=unset -k recon_account
-a always,exit -F arch=b64 -S execve -F path=/usr/bin/whoami -F auid>=1000 -F auid!=unset -k recon_account
# 상승 직후 id인지 (분석 방법) — sudo/su 뒤에 id가 오는지
sudo ausearch --session 12 -i 2>/dev/null | grep -E 'comm="sudo"|comm="su"|comm="id"|comm="whoami"' | tail
$ sudo ausearch -k recon_account -i --start today | grep 'comm="id"' | tail -1
09:00:05 auid=admin1 ses=8 comm="id" (로그인 직후 습관적 확인)
관리자가 로그인 직후 id로 자기 권한을 확인하는 정도는 흔하고 정상입니다. 문제는 상승 직후·연속 정찰과 결합될 때입니다.
02:11:30 auid=devops ses=12 comm="sudo" (sudo -i)
02:11:31 auid=devops ses=12 comm="id" (상승 직후 권한 확인)
02:11:33 auid=devops ses=12 comm="cat" name="/proc/self/status"
id → 권한 상승 성공 확인(B영역 37편)/proc/self/status로 capability까지 확인 → 정교한 권한 파악권한 확인과 상승의 연계입니다(가상의 예시 로그).
type=USER_CMD ... auid=devops ses=12 ... cmd="sudo -i"
type=EXECVE ... a0="id"
type=SYSCALL ... auid=devops uid=0 ses=12 comm="id" key="recon_account"
type=PATH ... name="/proc/self/status"
| 관찰 | 해석 |
|---|---|
| sudo -i | 권한 상승 |
| 직후 id | 상승 성공 확인 |
| uid=0 | root 권한 획득 |
| /proc/self/status | capability 확인 |
상승 직후 id는 B영역 37편(101340 상승 직후 정찰)과 같은 이벤트를, 정보 수집 관점에서 본 것입니다.
id/whoami는 맥락으로 봅니다: 로그인 직후(초기 정찰) vs 상승 직후(성공 확인).id는 B영역 37편 룰과 연계해 권한 상승 신호로 봅니다.<!-- 실습 예시 룰: 적용 전 wazuh-logtest 및 테스트 환경 검증 필요 -->
<group name="local,syssec_c,recon,">
<rule id="102220" level="5">
<if_group>audit</if_group>
<field name="audit.key">recon_account</field>
<regex type="pcre2">a0="(id|whoami)"</regex>
<description>현재 권한 확인(id/whoami)</description>
<mitre><id>T1033</id></mitre>
</rule>
</group>
단독은 낮은 레벨이고, B영역 37편(101340 상승 직후 정찰)·계정 정찰 세트(130편)와 결합 시 격상합니다.
| 조회 | 정보 |
|---|---|
| id | UID·GID·그룹(상승 확인) |
| whoami | 현재 사용자 |
| /proc/self/status | Uid/Gid/CapEff |
| 맥락 | 로그인 직후(정찰) vs 상승 직후(성공 확인) |
| 면접 포인트 | "상승 직후 id는 권한 상승 성공을 확인하는 신호" |
다음 편 124. Linux 정보 수집 — 로그인 사용자 조회 에서는 접속자 식별 정찰인 로그인 사용자 확인을 다룹니다.
이전 편: 122. Linux 정보 수집 — 그룹 정보 조회 분석
📚 시리즈 전체 보기: 시스템 보안 · 취약점