131. Linux 정보 수집 — 프로세스 목록 조회 흔적

changseop lee·4일 전

시스템 보안 · 취약점

목록 보기
131/150

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

선행 학습

1. 개념

프로세스 목록 조회는 공격자가 "이 서버에서 무엇이 돌고 있는가" 를 파악하는 정찰입니다. 특히 보안 솔루션(Wazuh agent·백신·EDR) 의 실행 여부를 확인해 탐지 회피를 준비하거나, 다른 사용자 활동을 관찰합니다.

프로세스 조회
 ps aux / ps -ef        → 전체 프로세스(사용자·명령)
 /proc/[PID]/           → 프로세스 상세(cmdline·exe)
 top / htop             → 실시간 프로세스

목적
 - 보안 솔루션 실행 여부(wazuh·auditd·falco) → 회피 준비
 - 서비스·DB 프로세스 → 공격 표면
 - 다른 사용자 프로세스 → 활동 관찰

linsec 26·27편이 "프로세스 보안·의심 프로세스 탐지"(방어)라면, 여기서는 공격자가 프로세스 목록을 조회하는 정찰입니다.

2. 왜 중요한가

  • 공격자가 ps로 Wazuh agent·auditd를 확인하면, 이후 그것을 중지(A영역 39편 하드닝 해제)하려 할 수 있습니다.
  • 전체 프로세스 조회는 서비스·DB 등 공격 표면과 다른 사용자 활동을 한 번에 드러냅니다.
  • 보안 솔루션 프로세스 조회 직후 그 솔루션 중지가 이어지면, 탐지 회피의 강한 신호입니다.

3. 핵심 명령어 / 설정

조회정보
ps aux/ps -ef전체 프로세스
/proc/[PID]/cmdline명령줄
top/htop실시간
pgrep 이름특정 프로세스
관심보안 솔루션(wazuh·auditd·falco)

4. 실습 (실습 예시)

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

# 보안 솔루션 프로세스를 조회했는지 (분석 방법)
sudo ausearch -k recon_proc -i --start recent | grep -E 'comm="ps"|comm="pgrep"' | tail
sudo ausearch --session 12 -i 2>/dev/null | grep -iE 'wazuh|auditd|pgrep|ps ' | tail

5. 정상 상태

$ sudo ausearch -k recon_proc -i --start today | grep 'comm="ps"' | tail -1
09:30:02 auid=admin1 ses=8 comm="ps"  (서비스 상태 점검)

관리자가 서비스 상태·부하를 점검하며 ps를 보는 것은 매우 흔하고 정상입니다. 차이는 보안 솔루션 조준·연속 정찰입니다.

6. 이상 상태

02:15:10 auid=devops ses=12 comm="ps" a1="aux"
02:15:12 auid=devops ses=12 comm="pgrep" a1="wazuh"
02:15:14 auid=devops ses=12 comm="pgrep" a1="auditd"
  • 전체 프로세스(ps aux) + 보안 솔루션 특정 조회(pgrep wazuh, pgrep auditd) → 탐지 회피 준비
  • Wazuh·auditd 실행 확인 후 중지(A영역 39편)로 이어질 위험
  • 계정·권한 정찰(C21~30)에 이어 프로세스 정찰 → 환경 장악 파악

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

프로세스 정찰 → 회피 준비 흐름입니다(가상의 예시 로그).

type=EXECVE ... a0="ps" a1="aux"
type=SYSCALL ... auid=devops ses=12 comm="ps" key="recon_proc"
type=EXECVE ... a0="pgrep" a1="wazuh-agentd"
[이후 가능] systemctl stop wazuh-agent (A영역 39편 하드닝 해제)
관찰해석
ps aux전체 프로세스
pgrep wazuh/auditd보안 솔루션 조준
직후 중지 가능탐지 회피(A영역 39편)
ses=12프로세스 정찰

보안 솔루션 조회 직후 중지가 나타나면 A영역 39편(하드닝 해제)과 연계해 탐지합니다.

8. SOC 관제 포인트

  • 프로세스 조회 중 보안 솔루션(wazuh·auditd·falco) 특정 조회를 최우선 확인합니다.
  • 보안 솔루션 조회 직후 중지(A영역 39편)로 이어지는지 연계 감시합니다.
  • 전체 프로세스 조회는 흔하므로, 보안 솔루션 조준·연속 정찰로 좁혀 판정합니다.

9. 탐지 규칙

<!-- 실습 예시 룰: 적용 전 wazuh-logtest 및 테스트 환경 검증 필요 -->
<group name="local,syssec_c,recon,">
  <rule id="102300" level="9">
    <if_group>audit</if_group>
    <field name="audit.key">recon_proc</field>
    <regex type="pcre2">a1="?(wazuh|auditd|falco|clamav|osquery)</regex>
    <description>보안 솔루션 프로세스 조회(탐지 회피 준비)</description>
    <mitre><id>T1518.001</id></mitre>
  </rule>
</group>

T1518.001(Security Software Discovery)에 매핑됩니다. 보안 솔루션 조회(102300) + 중지(A영역 39편)를 상관하면 회피를 포착합니다.

10. 대응 방법

  1. 초기 확인 — 프로세스 조회의 대상(보안 솔루션 포함)·연속성·주체를 확인합니다.
  2. 범위 확인 — 보안 솔루션 조회 직후 중지(A영역 39편)가 이어졌는지 확인합니다.
  3. 증거 확보 — 세션 조회 흐름을 보존합니다.
  4. 차단/조치 — 탈취 세션이면 B영역 대응과 보안 솔루션 상태 점검을 진행합니다.
  5. 재발 방지 — 보안 솔루션 조회를 회피 탐지 상관에 포함합니다.

11. 핵심 정리

조회정보
ps aux | 전체 프로세스
pgrep wazuh/auditd | 보안 솔루션 조준
top/htop | 실시간
구분서비스 점검(정상) vs 보안 솔루션 조회(회피 정찰)
면접 포인트"보안 솔루션 프로세스 조회는 탐지 회피 준비 — 직후 중지를 함께 본다"

12. 다음 편 예고

다음 편 132. Linux 정보 수집 — 프로세스 트리 확인 분석 에서는 프로세스 관계 정찰인 프로세스 트리 확인 분석을 다룹니다.


이전 편: 130. Linux 정보 수집 — 사용자·권한 정보 수집 종합 분석
📚 시리즈 전체 보기: 시스템 보안 · 취약점

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

0개의 댓글