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

선행 학습

1. 개념

현재 접속 사용자 조회는 공격자가 "지금 관리자가 보고 있는가, 다른 사용자는 누구인가" 를 확인하는 정찰입니다. C04(활동 조회)와 겹치지만, 여기서는 접속자 식별 자체에 초점을 둡니다.

접속자 조회
 who / w         → 현재 접속자(TTY·출발지)
 users           → 접속 계정명만
 /var/run/utmp   → 현재 세션(파일)

목적
 - 관리자 접속 여부(들킬 위험)
 - 다른 로그인 사용자(공유 서버·다른 세션)
 - 자신의 세션이 드러나는지 역확인

C04가 "가동 상태·타이밍"이라면, 이 편은 "누가 접속해 있는가"의 접속자 명단 관점입니다.

2. 왜 중요한가

  • 관리자 접속 여부 확인은 "지금 행동해도 되는가"를 재는 것으로, 실시간 대응 회피 정찰입니다.
  • 다른 접속 사용자 식별은 공유 서버에서 다른 세션 탈취·관찰 대상을 찾는 데 쓰입니다.
  • B영역 28편(동시 세션)과 반대 관점: 방어자는 "공격자 세션"을 찾고, 공격자는 who로 "관리자 세션"을 찾습니다.

3. 핵심 명령어 / 설정

조회정보
who접속자·TTY·출발지·시각
w접속자+현재 실행 중 명령
users접속 계정명
/var/run/utmp현재 세션(파일)

4. 실습 (실습 예시)

# 접속자 조회 감사 (C04의 recon_activity 키와 공유)
-a always,exit -F arch=b64 -S execve -F path=/usr/bin/who -F auid>=1000 -F auid!=unset -k recon_activity
-a always,exit -F arch=b64 -S execve -F path=/usr/bin/users -F auid>=1000 -F auid!=unset -k recon_activity

# 세션에서 접속자 조회 (분석 방법)
sudo ausearch -k recon_activity -i --start recent | grep -E 'comm="who"|comm="w"|comm="users"' | tail

5. 정상 상태

$ sudo ausearch -k recon_activity -i --start today | grep 'comm="w"' | tail -1
09:00:03 auid=admin1 ses=8 comm="w"  (업무 시작 현황)

관리자가 업무 시작 시 접속 현황을 보는 것은 정상입니다(C04와 동일 맥락).

6. 이상 상태

02:12:00 auid=devops ses=12 comm="w"
02:14:14 auid=devops ses=12 comm="who"
02:14:16 auid=devops ses=12 comm="users"
  • 로그인 직후 w(C04) + 계정 정찰 중 who·users 재확인 → 접속자 감시
  • w로 관리자 부재 확인(C04) + who로 접속 계정 재확인 → 안전 재확인
  • 계정 정찰(C21~23)과 결합 → "누가 있고 누가 보고 있나" 종합 파악

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

접속자 정찰 흐름입니다(가상의 예시 로그).

type=EXECVE ... a0="who"
type=SYSCALL ... auid=devops ses=12 comm="who" exe="/usr/bin/who" key="recon_activity"
type=EXECVE ... a0="users"
관찰해석
w/who접속자·관리자 여부
users접속 계정명
계정 정찰과 결합접속자 감시
ses=12정찰 세션

공격자의 who는 자기 세션도 드러내므로, 방어자는 동시 세션(B영역 28편)으로 공격자 세션을 역으로 포착할 수 있습니다.

8. SOC 관제 포인트

  • 접속자 조회는 C04(활동)·C25(최근 로그인)와 묶어 접속·활동 정찰로 봅니다.
  • 반복적 who/w(관리자 부재 재확인)는 회피 정찰 신호입니다.
  • 방어자는 B영역 28편으로 공격자 세션을 역탐지해 대응합니다.

9. 탐지 규칙

<!-- 실습 예시 룰: 적용 전 wazuh-logtest 및 테스트 환경 검증 필요 -->
<group name="local,syssec_c,recon,">
  <rule id="102230" level="6">
    <if_group>audit</if_group>
    <field name="audit.key">recon_activity</field>
    <regex type="pcre2">a0="(who|w|users)"</regex>
    <time>18:00-08:00</time>
    <description>업무 외 시간 접속자 조회(회피 정찰)</description>
    <mitre><id>T1033</id></mitre>
  </rule>
</group>

C04·C24는 접속·활동 정찰로 묶어 계정 정찰 세트(130편)에 포함합니다.

10. 대응 방법

  1. 초기 확인 — 접속자 조회의 시점·반복·주체와 관리자 부재 확인 패턴을 확인합니다.
  2. 범위 확인 — 공격자 세션을 B영역 28편(동시 세션)으로 역탐지합니다.
  3. 증거 확보 — 세션 조회 흐름을 보존합니다.
  4. 차단/조치 — 탈취 세션이면 B영역 대응과 연계합니다.
  5. 재발 방지 — 접속자 조회를 접속·활동 정찰 상관에 포함합니다.

11. 핵심 정리

조회정보
who/w접속자·관리자 여부
users접속 계정명
utmp현재 세션
구분업무 현황 확인(정상) vs 관리자 부재 재확인(정찰)
면접 포인트"공격자의 who는 관리자를 찾고, 방어자는 동시 세션으로 공격자를 찾는다"

12. 다음 편 예고

다음 편 125. Linux 정보 수집 — 현재 세션 조회 에서는 과거 접속 정찰인 최근 로그인 정보 조회를 다룹니다.


이전 편: 123. Linux 정보 수집 — UID·GID 확인 흔적
📚 시리즈 전체 보기: 시스템 보안 · 취약점

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

0개의 댓글