시스템 보안 · 취약점 › C. Linux 정보 노출 및 수집 · 46/50편 (전체 146/450)
학습 단계: SOC 탐지 연계
실습 표기: 이 글의 명령어·출력·로그는 로컬 VMware 테스트 VM(Rocky Linux 9 / Ubuntu 22.04) 기준의 「실습 예시」이며, IP·계정·호스트명은 가상의 값입니다.
정보 수집 탐지의 핵심은 개별 이벤트가 아니라 상관분석입니다. 조회 하나하나는 정상이지만, 같은 사용자·세션·출발지에서 여러 종류가 짧은 시간에 모이면 정찰입니다. 상관분석은 이 "모임"을 찾는 작업입니다.
상관 기준(correlation keys)
user(auid) → 누가
source IP → 어디서(로그인 출발지)
timestamp → 언제(시간 밀도)
process/command → 무엇을(조회 종류)
session(ses) → 하나의 세션으로 묶기
상관 흐름
개별 이벤트 → 세션(ses)으로 그룹 → 조회 종류·밀도 집계
→ 정상 기준선과 비교 → 정찰 판정
C10·C20·C30·C40·C45의 영역별 세트를, 이 편에서 전 영역 통합 상관으로 묶습니다.
| 상관 기준 | 데이터 | 용도 |
|---|---|---|
| user | auid | 행위자 |
| source IP | USER_LOGIN addr | 출발지(B영역) |
| timestamp | 이벤트 시각 | 밀도 |
| process | comm·exe | 조회 종류 |
| session | ses | 그룹 키 |
| 기준선 | 평소 조회 패턴(C10·20·30) | 비교 |
# 세션 기준 전 영역 정찰 상관 (분석 방법)
SES=12
echo "== 세션 $SES 정찰 상관 =="
# 1) 세션의 출발지·사용자
sudo ausearch -m USER_LOGIN --session $SES -i 2>/dev/null | grep -oE 'acct=[^ ]+|addr=[^ ]+' | sort -u
# 2) 조회 종류(key)별 건수
sudo ausearch --session $SES -k recon_sysinfo,recon_net,recon_account,recon_priv,recon_proc,recon_file,recon_log -i 2>/dev/null | grep -oE 'key="[^"]+"' | sort | uniq -c | sort -rn
# 3) 시간 밀도(첫~마지막 조회)
sudo ausearch --session $SES -i 2>/dev/null | grep -oE '[0-9]{2}:[0-9]{2}:[0-9]{2}' | sort | sed -n '1p;$p'
== 세션 8 정찰 상관 ==
acct=admin1 addr=192.168.56.5
recon_sysinfo 2
(단일 영역, 소수, 업무 시간)
관리자 세션은 단일 영역·소수 조회·관리망·업무 시간으로, 기준선 안에 있습니다(정상).
== 세션 12 정찰 상관 ==
acct=devops addr=192.168.56.77
recon_sysinfo 7 recon_net 18 recon_account 8
recon_priv 5 recon_proc 5 recon_file 9 recon_log 24
시간 밀도: 02:11:40 ~ 02:17:33 (약 6분)
상관분석 결과를 한 화면으로 정리한 예시입니다(가상의 예시).
세션 12 (devops, 192.168.56.77, 02:11~02:17)
영역 건수 대표 조회
시스템 7 uname, os-release, cpuinfo
네트워크 18 ip addr/route/neigh, ss
계정 8 passwd, group, sudo -l
프로세스 5 ps, pgrep wazuh
파일 9 find id_rsa, cat .env
로그 24 grep 자기IP secure
→ 전 영역 상관 = 전방위 정찰 (단일 영역이면 오탐 가능, 다영역이면 정탐)
| 상관 지표 | 정상(ses 8) | 정찰(ses 12) |
|---|---|---|
| 영역 수 | 1 | 7 |
| 출발지 | 관리망 | 비관리망 |
| 시간 | 업무 | 새벽 |
<!-- 실습 예시 룰: 적용 전 wazuh-logtest 및 테스트 환경 검증 필요 -->
<group name="local,syssec_c,recon,">
<!-- 한 세션에서 서로 다른 정찰 영역 키가 결합 -->
<rule id="102450" level="12" frequency="10" timeframe="300">
<if_group>audit</if_group>
<field name="audit.key" type="pcre2">recon_(sysinfo|net|account|priv|proc|file|log)</field>
<same_field field="audit.session" />
<description>단일 세션의 전방위 정보 수집(다영역 정찰 상관)</description>
<mitre><id>T1082</id></mitre>
</rule>
</group>
same_field·다영역 조건은 버전 제약이 있으므로, 핵심 상관은 SIEM(148편)에서 세션별 distinct recon_key count로 구현합니다.
| 상관 기준 | 용도 |
|---|---|
| user(auid) | 행위자 |
| source IP | 출발지(B영역) |
| timestamp | 시간 밀도 |
| process | 조회 종류 |
| session(ses) | 그룹 키 |
| 면접 포인트 | "단일 영역·단건은 오탐 — 세션 기준 다영역 상관이 정찰 판정의 핵심" |
다음 편 147. Linux 정보 수집 — Wazuh 기반 Linux 정보 수집 탐지 에서는 상관분석을 자동화하는 Wazuh 기반 Linux 정보 수집 탐지를 다룹니다.
이전 편: 145. Linux 정보 수집 — 설정 파일 접근 종합 분석
📚 시리즈 전체 보기: 시스템 보안 · 취약점