시스템 보안 · 취약점 › C. Linux 정보 노출 및 수집 · 23/50편 (전체 123/450)
학습 단계: 사용자·권한 정보 수집
실습 표기: 이 글의 명령어·출력·로그는 로컬 VMware 테스트 VM(Rocky Linux 9 / Ubuntu 22.04) 기준의 「실습 예시」이며, IP·계정·호스트명은 가상의 값입니다.

선행 학습

1. 개념

id·whoami는 "지금 나는 누구이고 무슨 권한인가" 를 확인하는 가장 기본적인 조회입니다. 공격자는 로그인 직후, 그리고 권한 상승 시도 직후에 이를 확인해 성공 여부를 판단합니다(B영역 37편의 "상승 직후 정찰").

권한 확인
 id              → UID·GID·소속 그룹(상승 성공 여부)
 whoami          → 현재 사용자
 /proc/self/status → 프로세스 권한(Uid, Gid, CapEff)
 groups          → 소속 그룹

맥락: 로그인 직후 id = 초기 정찰 / sudo·su 직후 id = 상승 확인

B영역 37편이 "sudo 상승 직후 정찰"을 권한 상승 관점에서 봤다면, 여기서는 권한 확인 조회 자체를 정보 수집 관점으로 봅니다.

2. 왜 중요한가

  • 상승 직후 id는 "권한 상승이 성공했는가"를 확인하는 행위라, 권한 상승 공격의 강한 신호입니다(B영역 37편 101340).
  • 로그인 직후 id/whoami는 정찰의 시작점으로, 자동화 스크립트가 흔히 첫 명령으로 실행합니다.
  • /proc/self/status의 CapEff(capability) 확인은 더 정교한 권한 파악 시도입니다.

3. 핵심 명령어 / 설정

조회정보
idUID·GID·그룹(상승 확인)
whoami현재 사용자
/proc/self/statusUid/Gid/CapEff
groups소속 그룹

4. 실습 (실습 예시)

# 권한 확인 감사 (실습 예시)
-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

5. 정상 상태

$ sudo ausearch -k recon_account -i --start today | grep 'comm="id"' | tail -1
09:00:05 auid=admin1 ses=8 comm="id"  (로그인 직후 습관적 확인)

관리자가 로그인 직후 id로 자기 권한을 확인하는 정도는 흔하고 정상입니다. 문제는 상승 직후·연속 정찰과 결합될 때입니다.

6. 이상 상태

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"
  • sudo 직후 id → 권한 상승 성공 확인(B영역 37편)
  • /proc/self/status로 capability까지 확인 → 정교한 권한 파악
  • 이후 계정·그룹 정찰(C21·C22)과 결합 → 권한 체계 종합 파악

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

권한 확인과 상승의 연계입니다(가상의 예시 로그).

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=0root 권한 획득
/proc/self/statuscapability 확인

상승 직후 id는 B영역 37편(101340 상승 직후 정찰)과 같은 이벤트를, 정보 수집 관점에서 본 것입니다.

8. SOC 관제 포인트

  • id/whoami는 맥락으로 봅니다: 로그인 직후(초기 정찰) vs 상승 직후(성공 확인).
  • 상승 직후 id는 B영역 37편 룰과 연계해 권한 상승 신호로 봅니다.
  • 권한 확인 + 계정·그룹 정찰(C21·22)이 결합되면 권한 체계 정찰로 판정합니다.

9. 탐지 규칙

<!-- 실습 예시 룰: 적용 전 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편)와 결합 시 격상합니다.

10. 대응 방법

  1. 초기 확인 — 권한 확인의 맥락(로그인 직후/상승 직후)과 주체를 확인합니다.
  2. 범위 확인 — 상승 직후 id면 B영역 37편(권한 상승)과 연계해 확인합니다.
  3. 증거 확보 — 세션 조회 흐름을 보존합니다.
  4. 차단/조치 — 탈취·상승 세션이면 B영역 대응과 연계합니다.
  5. 재발 방지 — 권한 확인을 계정 정찰·권한 상승 상관에 포함합니다.

11. 핵심 정리

조회정보
idUID·GID·그룹(상승 확인)
whoami현재 사용자
/proc/self/statusUid/Gid/CapEff
맥락로그인 직후(정찰) vs 상승 직후(성공 확인)
면접 포인트"상승 직후 id는 권한 상승 성공을 확인하는 신호"

12. 다음 편 예고

다음 편 124. Linux 정보 수집 — 로그인 사용자 조회 에서는 접속자 식별 정찰인 로그인 사용자 확인을 다룹니다.


이전 편: 122. Linux 정보 수집 — 그룹 정보 조회 분석
📚 시리즈 전체 보기: 시스템 보안 · 취약점

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

0개의 댓글