시스템 보안 · 취약점 › F. 비정상 프로세스 · 지속성 징후 · 39/50편 (전체 289/450)
학습 단계: 프로세스·지속성 로그 분석
실습 표기: 이 글의 명령어·출력·로그는 로컬 VMware 테스트 VM(Rocky Linux 9 / Ubuntu 22.04) 기준의 「실습 예시」이며, IP·계정·호스트명은 가상의 값입니다.
5단계는 프로세스·지속성 로그의 분석·상관을 다룹니다. 첫 번째는 타임라인입니다. 개별 프로세스·지속성·C2 이벤트를 시간순으로 엮어, "공격자가 어떻게 거점을 구축했는가"를 재구성합니다.
프로세스·지속성 타임라인 구성
[시각] [세션] [주체] [행위] [대상] [단계]
침투 → 비정상 실행 → 지속성 설치 → C2 → 은닉
세션·계보·auid로 묶고 시각순 정렬
목적: 거점 구축 과정·제거 대상(지속성·C2) 파악 → 완전 제거
프로세스·지속성 타임라인은 "어떤 거점이 구축됐는가"(제거 대상)를 결정합니다. 하나라도 놓치면 침해가 반복되므로 전수 파악이 핵심입니다.
| 타임라인 요소 | 내용 | 출처 |
|---|---|---|
| 시각·세션·주체 | time·ses·auid | execve |
| 비정상 실행 | 경로·계보 | proc_exec |
| 지속성 | 설치 위치 | persist |
| C2 | 연결·목적지 | 네트워크 |
| 제거 대상 | 전수 목록 | 종합 |
# 프로세스·지속성 타임라인 작성 (분석 방법)
SES=99
echo "=== 세션 $SES 프로세스·지속성 타임라인 ==="
sudo ausearch -k proc_exec,persist -i --session $SES 2>/dev/null | grep -E 'time->|proctitle='
# 침투(웹셸)→실행→지속성→C2 연계(계보 포함)
sudo ausearch -k proc_exec,persist -i --session $SES 2>/dev/null | grep -E 'ppid_comm|exe=|connect'
$ (세션 타임라인)
03:00 backup tar /etc → /backup (정기 백업)
→ 정상 작업만, 지속성·C2 없음
세션 타임라인이 정상 작업으로만 구성되고, 비정상 실행·지속성·C2가 없는 정상 흐름입니다.
$ (세션 99 타임라인)
04:10 www-data /tmp/.x (비정상 실행, F09, 계보 nginx→sh→.x)
04:11 www-data cron.d/0hourly-x (지속성, F19)
04:12 www-data systemd updater.service (지속성, F20)
04:13 www-data bash → /dev/tcp/192.0.2.88/4444 (C2, F29)
04:15 www-data rm /var/log/secure (은닉, F35)
프로세스·지속성 타임라인 재구성입니다(가상의 예시).
04:10 ┌─ 실행 /tmp/.x (nginx→sh→.x, F09·11)
04:11 ├─ 지속성 cron.d/0hourly-x (F19)
04:12 ├─ 지속성 updater.service (F20, 중복)
04:13 ├─ C2 bash→/dev/tcp/4444 (F29)
04:15 └─ 은닉 rm /var/log/secure (F35)
→ 세션 99, www-data, 5분
→ 제거 대상: 실행·cron·systemd·C2
| 단계 | 시각 | 편 |
|---|---|---|
| 실행 | 04:10 | F09 |
| 지속성 | 04:11~12 | F19·20 |
| C2 | 04:13 | F29 |
| 은닉 | 04:15 | F35 |
타임라인이 거점 구축 흐름과 제거 대상(지속성·C2)을 전수 드러냅니다.
<!-- 실습 예시 룰: 적용 전 wazuh-logtest 및 테스트 환경 검증 필요 -->
<group name="local,syssec_f,timeline,">
<!-- 한 세션에서 실행→지속성→C2 순차 발생 -->
<rule id="105380" level="15">
<if_sid>105280,105370</if_sid>
<if_matched_sid>105080</if_matched_sid>
<same_field>audit.session</same_field>
<description>단일 세션 내 실행→지속성→C2 타임라인 완성(거점 구축)</description>
<mitre><id>T1059</id><id>T1543</id><id>T1071</id></mitre>
</rule>
</group>
SIEM(ELK)의 세션·계보 집계로 타임라인을 자동 구성합니다(F44). 제거 대상은 타임라인의 지속성·C2 항목으로 산정합니다.
| 요소 | 내용 |
|---|---|
| 시각·세션·주체 | execve |
| 비정상 실행 | 경로·계보 |
| 지속성·C2 | 설치 위치·연결 |
| 제거 대상 | 전수 목록 |
| 면접 포인트 | "프로세스·지속성 타임라인은 거점 구축 흐름 — 제거 대상 전수 파악이 핵심" |
다음 편 290. 프로세스·지속성 — 실행→지속성→C2 연계 분석 에서는 실행→지속성→C2 연계를 다루는 실행→지속성→C2 연계 분석을 다룹니다.
이전 편: 288. 프로세스·지속성 — 백도어·C2·은닉 징후 종합 분석
📚 시리즈 전체 보기: 시스템 보안 · 취약점