시스템 보안 · 취약점 › C. Linux 정보 노출 및 수집 · 25/50편 (전체 125/450)
학습 단계: 사용자·권한 정보 수집
실습 표기: 이 글의 명령어·출력·로그는 로컬 VMware 테스트 VM(Rocky Linux 9 / Ubuntu 22.04) 기준의 「실습 예시」이며, IP·계정·호스트명은 가상의 값입니다.
접속자 명단(C24)보다 한 단계 깊게, 현재 세션의 구조(어떤 TTY에서 무슨 프로세스가 돌고, 어느 세션이 활성인가)를 조회하는 정찰입니다. 공격자는 이를 통해 자기 세션의 노출 여부와, 탈취·관찰할 다른 세션을 파악합니다.
세션 구조 조회
tty / ps -t pts/N → 특정 터미널의 프로세스
loginctl → systemd 세션 목록(세션 ID·사용자·TTY)
/proc/[PID]/stat → 프로세스의 세션·TTY 정보
ps -eo pid,tty,user,cmd → 전체 세션·명령
목적: 관리자 세션의 활동(무슨 작업 중) 관찰, 세션 탈취 대상 식별
C24가 "누가 접속했나(명단)"라면, 이 편은 "각 세션이 무엇을 하고 있나(구조·활동)"입니다. B영역 28편(동시 세션)의 방어 관점과 짝을 이룹니다.
| 조회 | 정보 |
|---|---|
tty | 자기 터미널 |
ps -t pts/N | 특정 TTY 프로세스 |
loginctl | systemd 세션 목록 |
/proc/[PID]/stat | 세션·TTY |
ps -eo tty,user,cmd | 전체 세션·활동 |
# 세션 조회 감사 (C04/C24의 recon_activity 공유)
-a always,exit -F arch=b64 -S execve -F path=/usr/bin/loginctl -F auid>=1000 -F auid!=unset -k recon_activity
# 다른 사용자 세션 프로세스 조회인지 (분석 방법)
sudo ausearch -k recon_activity -i --start recent | grep -E 'comm="loginctl"|comm="ps"' | tail
sudo ausearch --session 12 -i 2>/dev/null | grep -E 'loginctl|pts|/proc/[0-9]+/stat' | tail
$ sudo ausearch -k recon_activity -i --start today | grep 'comm="loginctl"' | tail -1
09:10:02 auid=admin1 ses=8 comm="loginctl" (세션 점검)
관리자가 세션 상태를 점검하는 단발 조회는 정상입니다.
02:14:10 auid=devops ses=12 comm="loginctl"
02:14:12 auid=devops ses=12 comm="ps" (ps -t pts/0 — admin1 세션)
세션 구조 정찰 흐름입니다(가상의 예시 로그).
type=EXECVE ... a0="loginctl"
type=SYSCALL ... auid=devops ses=12 comm="loginctl" key="recon_activity"
type=EXECVE ... a0="ps" a1="-t" a2="pts/0"
| 관찰 | 해석 |
|---|---|
| loginctl | 세션 목록(원격·linger 포함) |
| ps -t pts/0 | 타 사용자 세션 관찰 |
| 관리자 세션 대상 | 활동 감시 |
| ses=12 | 세션 정찰 |
공격자가 타 세션을 관찰하면 자기 세션도 드러나므로, 방어자는 B영역 28편으로 역탐지합니다.
<!-- 실습 예시 룰: 적용 전 wazuh-logtest 및 테스트 환경 검증 필요 -->
<group name="local,syssec_c,recon,">
<rule id="102235" level="7">
<if_group>audit</if_group>
<field name="audit.key">recon_activity</field>
<regex type="pcre2">a0="loginctl"|a0="ps".*-t</regex>
<description>세션·터미널 구조 조회(타 세션 관찰 정찰)</description>
<mitre><id>T1033</id></mitre>
</rule>
</group>
세션 조회는 접속·활동 정찰(C04·C24·C25)로 묶어 계정 정찰 세트(130편)에 포함합니다.
| 조회 | 정보 |
|---|---|
| loginctl | systemd 세션 목록 |
| ps -t pts/N | 특정 TTY 프로세스 |
| /proc/[PID]/stat | 세션·TTY |
| 구분 | 세션 점검(정상) vs 타 세션 관찰(정찰) |
| 면접 포인트 | "타 세션 프로세스 관찰은 관리자 대응 여부 파악·세션 탈취 정찰" |
다음 편 126. Linux 정보 수집 — 최근 로그인 정보 조회 에서는 과거 접속 패턴을 학습하는 최근 로그인 정보 조회를 다룹니다.
이전 편: 124. Linux 정보 수집 — 로그인 사용자 조회
📚 시리즈 전체 보기: 시스템 보안 · 취약점