132. Linux 정보 수집 — 프로세스 트리 확인 분석

changseop lee·5일 전

시스템 보안 · 취약점

목록 보기
132/150

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

선행 학습

1. 개념

프로세스 트리는 "어떤 프로세스가 무엇을 낳았는가(부모-자식)" 를 보여줍니다. 공격자는 자기 프로세스의 계보를 확인해 은닉 가능성을 재거나, 데몬을 부모로 둔 프로세스(서비스 침해 흔적)를 파악합니다.

프로세스 트리 조회
 pstree -p           → 트리(PID 포함)
 ps -ejH / ps axjf   → 계층 구조
 /proc/[PID]/stat    → PPID(부모)

관점
 - 자기 셸의 부모가 무엇인가(sshd? httpd? → 은닉 여부)
 - 데몬 → 셸 계보(B영역 35편 서비스 침해)
 - 고아 프로세스(PPID=1)로 재부모화해 은닉

linsec 28편이 "프로세스 트리 기반 침해 분석"(방어)이라면, 여기서는 공격자가 트리를 조회하는 정찰입니다.

2. 왜 중요한가

  • 공격자는 자기 프로세스가 어떻게 보이는지(부모가 sshd인지, 데몬인지)를 확인해 은닉 전략을 세웁니다.
  • PPID=1(init)로 재부모화된 프로세스는 백그라운드 지속성(F영역)의 단서이며, 공격자가 이를 미리 확인합니다.
  • 데몬→셸 계보 조회는 서비스 침해(B영역 35편)의 자기 점검일 수 있습니다.

3. 핵심 명령어 / 설정

조회정보
pstree -p트리(PID)
ps -ejH/ps axjf계층
/proc/[PID]/statPPID
관심자기 계보, 데몬→셸, PPID=1

4. 실습 (실습 예시)

# 프로세스 트리 조회 감사 (실습 예시)
-a always,exit -F arch=b64 -S execve -F path=/usr/bin/pstree -F auid>=1000 -F auid!=unset -k recon_proc

# 세션에서 트리 조회 (분석 방법)
sudo ausearch -k recon_proc -i --start recent | grep -E 'pstree|ps.*axjf|ps.*ejH' | tail

5. 정상 상태

$ sudo ausearch -k recon_proc -i --start today | grep pstree | tail -1
10:00:02 auid=admin1 ses=8 comm="pstree"  (프로세스 관계 점검)

관리자가 프로세스 관계·부하 원인을 점검하는 단발 조회는 정상입니다.

6. 이상 상태

02:15:20 auid=devops ses=12 comm="pstree" a1="-p"
02:15:22 auid=devops ses=12 comm="cat" name="/proc/12901/stat" (자기 셸 PPID 확인)
  • 트리 조회 + 자기 셸의 PPID 확인 → 프로세스 계보·은닉 가능성 점검
  • 자기 셸의 부모가 sshd인지 확인 → 세션 노출 여부 파악
  • 프로세스 목록(C31)에 이어 관계 정찰 → 은닉 전략 수립

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

프로세스 트리 정찰 흐름입니다(가상의 예시 로그).

type=EXECVE ... a0="pstree" a1="-p"
type=SYSCALL ... auid=devops ses=12 comm="pstree" key="recon_proc"
type=PATH ... name="/proc/12901/stat" nametype=NORMAL
관찰해석
pstree -p전체 트리
/proc/[자기PID]/stat자기 계보 확인
부모 확인은닉 여부 판단
ses=12프로세스 정찰

이후 재부모화·백그라운드 은닉(F영역)이 나타나는지 연계합니다.

8. SOC 관제 포인트

  • 프로세스 트리 조회는 자기 계보 확인·은닉 점검 관점으로 봅니다.
  • 트리 조회 뒤 재부모화·백그라운드 지속성(F영역)이 이어지는지 연계합니다.
  • 프로세스 목록(C31)+트리(C32) 조회를 묶어 프로세스 정찰로 봅니다.

9. 탐지 규칙

<!-- 실습 예시 룰: 적용 전 wazuh-logtest 및 테스트 환경 검증 필요 -->
<group name="local,syssec_c,recon,">
  <rule id="102310" level="6">
    <if_group>audit</if_group>
    <field name="audit.key">recon_proc</field>
    <regex type="pcre2">a0="pstree"|a0="ps".*axjf</regex>
    <description>프로세스 트리·계보 조회</description>
    <mitre><id>T1057</id></mitre>
  </rule>
</group>

T1057(Process Discovery)에 매핑됩니다. 프로세스 정찰 세트(140편)에 포함합니다.

10. 대응 방법

  1. 초기 확인 — 트리 조회의 대상(자기/전체)·연속성·주체를 확인합니다.
  2. 범위 확인 — 트리 조회 뒤 재부모화·은닉(F영역)이 이어졌는지 확인합니다.
  3. 증거 확보 — 세션 조회 흐름을 보존합니다.
  4. 차단/조치 — 탈취 세션이면 B영역 대응과 프로세스 점검을 진행합니다.
  5. 재발 방지 — 프로세스 트리 조회를 프로세스 정찰 상관에 포함합니다.

11. 핵심 정리

조회정보
pstree -p트리(PID)
ps axjf계층
/proc/statPPID
구분관계 점검(정상) vs 자기 계보·은닉 점검(정찰)
면접 포인트"프로세스 트리 조회는 자기 프로세스의 은닉 가능성 점검"

12. 다음 편 예고

다음 편 133. Linux 정보 수집 — 실행 파일 경로 확인 에서는 실행 파일 정찰인 실행 파일 경로 확인을 다룹니다.


이전 편: 131. Linux 정보 수집 — 프로세스 목록 조회 흔적
📚 시리즈 전체 보기: 시스템 보안 · 취약점

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

0개의 댓글