시스템 보안 · 취약점 › H. 방어 회피 · 흔적 삭제 징후 · 31/50편 (전체 381/450)
학습 단계: 위장·난독화·흔적 분석
실습 표기: 이 글의 명령어·출력·로그는 로컬 VMware 테스트 VM(Rocky Linux 9 / Ubuntu 22.04) 기준의 「실습 예시」이며, IP·계정·호스트명은 가상의 값입니다.
공격자는 악성 바이너리를 정상 시스템 경로처럼 보이는 위치에 두거나, PATH 조작으로 정상 명령 대신 악성 바이너리가 실행되게 합니다. /usr/sbin과 비슷한 /usr/sbin (공백)·/usr/.sbin 같은 유사 경로도 씁니다.
경로·위치 위장 기법
유사 경로: /usr/local/sbin vs /usr/local/.sbin
/tmp/usr/sbin/sshd (가짜 경로 구조)
PATH 조작: PATH 앞에 /tmp 추가 → ls 대신 /tmp/ls 실행
정상 디렉터리 침투: /usr/bin에 악성 바이너리 배치
심볼릭 링크: 정상 경로가 악성을 가리키게
탐지: PATH 환경 변수 변조, 정상 디렉터리 신규 바이너리, 유사 경로
핵심은 "정상 위치인 척하거나 실행 우선순위를 바꾸는 것"입니다. PATH 변조·정상 디렉터리의 신규 바이너리·유사 경로가 신호입니다.
| 위장 | 방식 | 탐지 |
|---|---|---|
| 유사 경로 | /usr/.sbin 등 | 경로 패턴 |
| PATH 조작 | PATH 앞 /tmp | 환경 변수 |
| 정상 디렉터리 침투 | /usr/bin 배치 | FIM |
| 심볼릭 링크 | 정상→악성 | 링크 점검 |
| 정상 | 표준 경로 | 변경 없음 |
# 경로·위치 위장 탐지 (분석 방법)
# PATH 환경 변수 조작(비정상 경로 우선)
sudo ausearch -k proc_exec -i --start recent 2>/dev/null | grep -E 'PATH=(/tmp|/dev/shm|\.)' | tail
# 정상 디렉터리의 신규·변경 바이너리(FIM)
sudo ausearch -k bin_change -i --start recent 2>/dev/null | grep -E '/usr/bin/|/usr/sbin/|/bin/' | tail
# 유사·가짜 경로의 실행
sudo ausearch -k proc_exec -i --start recent 2>/dev/null | grep -E 'exe=.*/\.(bin|sbin|usr)' | tail
$ (PATH 조작) (없음 — 표준 PATH)
$ (정상 디렉터리 변경) (없음 또는 패키지 업데이트)
$ (유사 경로) (없음)
PATH가 표준이고, 정상 디렉터리 바이너리가 패키지 관리로만 변경되며, 유사·가짜 경로 실행이 없는 상태가 정상입니다.
$ (PATH 조작)
export PATH=/tmp:$PATH (악성 경로 우선)
→ 이후 "ls" 입력 시 /tmp/ls(악성) 실행
$ (정상 디렉터리 변경)
/usr/bin/ssh 변경(패키지 외 — 백도어 교체)
$ (유사 경로) exe="/usr/.sbin/sshd" (가짜 경로)
경로·위치 위장 분석입니다(가상의 예시).
[공격자]
① export PATH=/tmp:$PATH + /tmp/ls(악성)
→ 관리자가 ls 입력 시 악성 실행
② /usr/bin/ssh를 백도어로 교체(정상 경로 악용)
③ /usr/.sbin/sshd (유사 경로 위장)
↕ (탐지)
[분석가]
PATH에 /tmp 선두 → 환경 변수 변조 발각
/usr/bin/ssh 변경 → FIM 경보(패키지 외 변경)
유사 경로 실행 → 경로 패턴 이상
↓
= PATH·정상 경로 변조·유사 경로로 위장 → 정탐
| 위장 | 단서 |
|---|---|
| PATH 조작 | 비정상 선두 경로 |
| 정상 경로 변조 | FIM |
| 유사 경로 | 경로 패턴 |
PATH 감사 + FIM이 경로 위장 탐지의 핵심입니다.
<!-- 실습 예시 룰: 적용 전 wazuh-logtest 및 테스트 환경 검증 필요 -->
<group name="local,syssec_h,defense_evasion,">
<rule id="107300" level="12">
<if_sid>107000</if_sid>
<field name="audit.proctitle" type="pcre2">PATH=(/tmp|/dev/shm|\.|/var/tmp):|export\s+PATH=\.</field>
<description>PATH 환경 변수 조작(경로 위장·명령 가로채기)</description>
<mitre><id>T1036</id><id>T1574.007</id></mitre>
</rule>
</group>
정상 디렉터리(/usr/bin·/bin)를 FIM으로 감시하고, PATH 환경 변수 변조·유사 경로 실행을 탐지합니다. 패키지 관리 변경은 예외 처리합니다.
| 위장 | 방식 |
|---|---|
| 유사 경로 | /usr/.sbin 등 |
| PATH 조작 | PATH 앞 /tmp |
| 정상 디렉터리 침투 | /usr/bin 배치 |
| 심볼릭 링크 | 정상→악성 |
| 면접 포인트 | "경로 위장은 PATH 조작·정상 경로 악용 — PATH 감사+FIM으로 탐지" |
다음 편 382. 방어 회피·흔적 삭제 — 명령어 난독화(obfuscation) 탐지 에서는 명령어 난독화를 다루는 명령어 난독화(obfuscation) 탐지를 다룹니다.
이전 편: 380. 방어 회피·흔적 삭제 — 파일명·확장자 위장 탐지
📚 시리즈 전체 보기: 시스템 보안 · 취약점