시스템 보안 · 취약점 › F. 비정상 프로세스 · 지속성 징후 · 37/50편 (전체 287/450)
학습 단계: 백도어·C2·은닉 징후
실습 표기: 이 글의 명령어·출력·로그는 로컬 VMware 테스트 VM(Rocky Linux 9 / Ubuntu 22.04) 기준의 「실습 예시」이며, IP·계정·호스트명은 가상의 값입니다.
공격자는 악성 파일을 숨겨 탐지를 회피합니다. 숨김 이름(.), 공백·특수문자 이름, 비표준 위치, 정상 디렉터리 위장 등 다양한 은닉 기법을 씁니다. rootkit 은닉(F34)과 달리 여기서는 파일 시스템 수준 은닉을 다룹니다.
파일·디렉터리 은닉 기법
숨김 이름: .x, .. (점으로 시작, ls -a로만 보임)
공백·특수문자: " ", "...", 유니코드 위장
비표준 위치: /dev/shm, /tmp/.숨김, /var/tmp
정상 위장: /usr/lib/.cache, systemd 흉내 이름
깊은 중첩: 여러 숨김 디렉터리 안에 배치
핵심: 숨김 이름·비표준 위치·실행 파일 결합
은닉 파일 자체는 정상도 있으므로(.bashrc 등), 숨김+비표준 위치+실행 파일·의심 내용 결합으로 악성을 판정합니다.
| 은닉 기법 | 신호 | 위험 |
|---|---|---|
| 숨김 이름(.x) | 점 시작 | 중간 |
| 공백·특수문자 | " "·"..." | 높음 |
| 비표준+숨김 | /tmp/.x | 높음 |
| 정상 위장 | /usr/lib/.cache | 높음 |
| 숨김 실행 파일 | .x +x | 높음 |
# 은닉 파일·디렉터리 탐지 (분석 방법)
# 비표준 위치의 숨김 파일·실행 파일
find /tmp /dev/shm /var/tmp -name '.*' -type f 2>/dev/null
find /tmp /dev/shm -type f -perm /111 2>/dev/null
# 공백·특수문자 이름(의심)
find / -xdev -type f -name '* ' -o -name '...' 2>/dev/null | head
# 정상 위치의 의심 숨김 디렉터리
find /usr /opt /var -type d -name '.*' 2>/dev/null | grep -vE '\.git|\.cache$' | head
$ (비표준 숨김 파일) (없음)
$ (공백·특수문자) (없음)
$ (의심 숨김 디렉터리) (없음 또는 정상 .git 등)
비표준 위치에 숨김 실행 파일이 없고, 공백·특수문자 이름·의심 숨김 디렉터리가 없는 상태가 정상입니다.
$ (비표준 숨김 파일)
/tmp/.x (실행 파일)
/dev/shm/.hidden
$ (공백·특수문자)
/var/tmp/"... " (공백·점 위장 디렉터리)
$ (의심 숨김 디렉터리)
/usr/lib/.syscache (정상 위장)
은닉 파일 분석입니다(가상의 예시).
[은닉 기법 조합]
/tmp/.x (숨김 이름 + 비표준 위치 + 실행 파일)
/var/tmp/"... " (공백·특수문자 — ls에서 눈에 안 띔)
/usr/lib/.syscache/ (정상 디렉터리 위장)
↓
[탐지] find로 숨김+비표준+실행 결합 스캔
↓
[판정] 숨김 자체가 아니라 위치·실행·내용 결합으로 악성
| 은닉 | 판정 근거 |
|---|---|
| .x | 숨김+실행 |
| "... " | 특수문자 위장 |
| .syscache | 정상 위장 |
| 위치 | 비표준 |
숨김+비표준+실행·위장 결합이 은닉 악성의 판정 근거입니다.
<!-- 실습 예시 룰: 적용 전 wazuh-logtest 및 테스트 환경 검증 필요 -->
<group name="local,syssec_f,hiding,">
<!-- 비표준 위치의 숨김 파일 생성·실행 -->
<rule id="105360" level="11">
<if_sid>105010</if_sid>
<field name="audit.exe" type="pcre2">/(tmp|dev/shm|var/tmp)/\.[^/]+$</field>
<description>비표준 위치 숨김 파일 실행(은닉 악성)</description>
<mitre><id>T1564.001</id></mitre>
</rule>
</group>
은닉 파일은 FIM·주기 find 스캔으로 탐지합니다. 정상 숨김(.git·.cache)은 예외로 두고 위치·실행과 결합 판정합니다.
| 은닉 기법 | 신호 |
|---|---|
| 숨김 이름(.x) | 점 시작 |
| 공백·특수문자 | " "·"..." |
| 비표준+숨김 | /tmp/.x |
| 정상 위장 | /usr/lib/.cache |
| 면접 포인트 | "은닉 자체는 정상도 많음 — 숨김+비표준 위치+실행/내용 결합으로 판정" |
다음 편 288. 프로세스·지속성 — 백도어·C2·은닉 징후 종합 분석 에서는 백도어·C2·은닉 4단계를 마무리하는 백도어·C2·은닉 징후 종합 분석을 다룹니다.
이전 편: 286. 프로세스·지속성 — 타임스탬프 변조(timestomping) 탐지
📚 시리즈 전체 보기: 시스템 보안 · 취약점