285. 프로세스·지속성 — 로그·흔적 삭제(anti-forensic) 탐지

changseop lee·2026년 10월 7일

시스템 보안 · 취약점

목록 보기
285/450

시스템 보안 · 취약점 › F. 비정상 프로세스 · 지속성 징후 · 35/50편 (전체 285/450)
학습 단계: 백도어·C2·은닉 징후
실습 표기: 이 글의 명령어·출력·로그는 로컬 VMware 테스트 VM(Rocky Linux 9 / Ubuntu 22.04) 기준의 「실습 예시」이며, IP·계정·호스트명은 가상의 값입니다.

선행 학습

1. 개념

공격자는 흔적을 지워 탐지·포렌식을 방해합니다(anti-forensic). 로그 삭제·셸 히스토리 제거·감사(auditd) 무력화가 대표적입니다. "증거는 거짓말하지 않는다" — 흔적 삭제 자체가 침해의 강한 신호이며, 원격 수집으로 원본을 보존해야 합니다.

anti-forensic 기법
 로그 삭제/비우기: rm /var/log/*, > /var/log/secure (D17)
 히스토리 제거: history -c, rm ~/.bash_history, unset HISTFILE
 감사 무력화: auditctl -e 0, systemctl stop auditd
 타임스탬프 변조: touch로 시각 조작(F36)
 셸 로깅 회피: export HISTSIZE=0

핵심: 흔적 삭제 행위 자체가 침해 신호 + 원격 원본 보존

로컬 로그를 지워도 원격 수집된 로그는 남습니다. anti-forensic 대비의 핵심은 로그 원격 전송과 삭제 행위 자체의 탐지입니다.

2. 왜 중요한가

  • 흔적 삭제는 공격 진행·마무리 단계의 강한 신호입니다(지울 게 있다는 뜻).
  • 로컬 로그를 지워도 원격 수집 로그가 남아, 원격 전송이 핵심 대비책입니다.
  • 감사 무력화(auditctl -e 0·auditd 중지)는 탐지 체계 자체를 겨냥한 행위입니다.

3. 핵심 명령어 / 설정

anti-forensic기법위험
로그 삭제·비우기rm·> redirect높음
히스토리 제거history -c·rm중간
감사 무력화auditctl -e 0·stop매우 높음
타임스탬프 변조touch(F36)중간
로깅 회피HISTSIZE=0중간

4. 실습 (실습 예시)

# 로그·흔적 삭제 탐지 (분석 방법)
# 로그 삭제·감사 무력화 명령
sudo ausearch -k proc_exec -i --start recent 2>/dev/null | grep -E 'proctitle=.*(rm .*/var/log|> */var/log|history -c|auditctl -e 0|systemctl stop auditd|shred)' | tail
# 감사 상태 변경(무력화)
sudo ausearch -k proc_exec -i --start recent 2>/dev/null | grep -E 'auditctl|systemctl.*auditd'
# 원격 수집 로그 vs 로컬(불일치 = 로컬 삭제)

5. 정상 상태

$ (흔적 삭제 명령) (없음)
$ (감사 변경) (없음)

로그 삭제·히스토리 제거·감사 무력화 명령이 없고, 감사가 정상 동작하는 상태가 정상입니다.

6. 이상 상태

$ (흔적 삭제 명령)
04:20 proctitle="rm -f /var/log/secure /var/log/wtmp"
04:21 proctitle="history -c"
$ (감사 변경)
04:22 proctitle="auditctl -e 0"  (감사 비활성화)
  • 인증 로그(secure·wtmp) 삭제 → 로그인·침입 흔적 인멸
  • history -c → 셸 명령 이력 제거
  • auditctl -e 0 → 감사 무력화(탐지 체계 공격)
  • 흔적 삭제·감사 무력화 → anti-forensic → 정탐

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

anti-forensic 분석입니다(가상의 예시).

[공격 마무리 단계]
rm /var/log/secure (인증 흔적)
history -c (명령 이력)
auditctl -e 0 (감사 무력화)
   ↓ (로컬 로그 삭제돼도)
[원격 수집 로그] Wazuh/ELK에 원본 보존
   ↓
[탐지] 삭제 행위 자체(원격 로그) + 로컬-원격 불일치
 → "증거는 거짓말하지 않는다": 원격 원본으로 재구성
삭제 행위대비
로그 rm원격 원본
history -c원격 명령 로그
auditctl -e 0무력화 전 전송

원격 수집이 로컬 삭제를 무력화하고, 삭제 행위 자체가 경보가 됩니다.

8. SOC 관제 포인트

  • anti-forensic(로그 삭제·히스토리 제거·감사 무력화)은 흔적 인멸로, 행위 자체가 강한 침해 신호입니다.
  • 로컬 로그를 지워도 원격 수집 로그가 남아, 원격 전송이 핵심 대비책입니다.
  • 감사 무력화(auditctl -e 0·auditd 중지)는 탐지 체계를 겨냥한 최우선 경보입니다.

9. 탐지 규칙

<!-- 실습 예시 룰: 적용 전 wazuh-logtest 및 테스트 환경 검증 필요 -->
<group name="local,syssec_f,anti_forensic,">
  <rule id="105340" level="13">
    <if_sid>105010</if_sid>
    <field name="audit.proctitle" type="pcre2">(rm\s+.*(/var/log|wtmp|btmp|lastlog)|>\s*/var/log|history\s+-c|auditctl\s+-e\s+0|systemctl\s+stop\s+auditd|shred\s+.*/var/log)</field>
    <description>로그·흔적 삭제·감사 무력화(anti-forensic)</description>
    <mitre><id>T1070</id><id>T1562.001</id></mitre>
  </rule>
</group>

로그는 Wazuh/ELK로 실시간 원격 전송해 로컬 삭제 전에 원본을 보존합니다. 감사 무력화는 최우선 경보로 둡니다.

10. 대응 방법

  1. 초기 확인 — 흔적 삭제·히스토리 제거·감사 무력화 명령·주체를 확인합니다.
  2. 범위 확인 — 로컬 로그 삭제 vs 원격 수집 로그 불일치를 확인합니다.
  3. 증거 확보 — 원격 수집 로그 원본·삭제 행위 이벤트를 보존합니다.
  4. 차단/조치 — anti-forensic 정탐이면 원격 원본으로 타임라인 재구성·전체 침해 조사를 진행합니다.
  5. 재발 방지 — 로그 원격 전송과 삭제 행위 탐지를 함께 운영합니다.

11. 핵심 정리

anti-forensic기법
로그 삭제·비우기rm·> redirect
히스토리 제거history -c·rm
감사 무력화auditctl -e 0·stop
타임스탬프 변조touch(F36)
면접 포인트"흔적 삭제는 행위 자체가 신호 — 원격 수집으로 원본 보존이 핵심 대비"

12. 다음 편 예고

다음 편 286. 프로세스·지속성 — 타임스탬프 변조(timestomping) 탐지 에서는 타임스탬프 변조를 다루는 타임스탬프 변조(timestomping) 탐지를 다룹니다.


이전 편: 284. 프로세스·지속성 — 프로세스 은닉(rootkit·hiding) 탐지
📚 시리즈 전체 보기: 시스템 보안 · 취약점

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

0개의 댓글