시스템 보안 · 취약점 › G. 내부 확장 · 측면 이동 징후 · 22/50편 (전체 322/450)
학습 단계: 원격 실행·서비스 악용
실습 표기: 이 글의 명령어·출력·로그는 로컬 VMware 테스트 VM(Rocky Linux 9 / Ubuntu 22.04) 기준의 「실습 예시」이며, IP·계정·호스트명은 가상의 값입니다.
NFS·공유 디렉터리는 여러 호스트가 공유하는 저장소라, 공격자가 악성 파일·도구를 심으면 공유를 마운트한 모든 호스트로 확산됩니다. 또 공유에 담긴 자격증명·데이터·백업에 접근하는 경로도 됩니다.
NFS·공유 디렉터리 측면 확산
악성 파일 심기: 공유에 페이로드 → 마운트 호스트들이 실행
공유 자격증명 접근: 공유에 담긴 키·설정·백업(E16)
NFS 악용: no_root_squash 설정 시 root 권한 파일 조작
공유 스크립트 변조: 공유 실행 스크립트에 악성 코드
핵심: 하나의 공유 → 다수 호스트 영향
공유 디렉터리는 "하나를 오염시키면 여럿에 영향"이라 확산에 효율적입니다. 공유에 대한 비정상 쓰기·악성 파일 생성이 신호입니다.
| 공유 악용 | 방식 | 위험 |
|---|---|---|
| 악성 파일 심기 | 공유에 페이로드 | 높음(다수 확산) |
| 공유 스크립트 변조 | 실행 스크립트 오염 | 높음 |
| 자격증명 접근 | 공유 내 키·설정 | 높음 |
| no_root_squash | root 파일 조작 | 높음 |
| 정상 공유 사용 | 업무 | 정상 |
# NFS·공유 디렉터리 확산 탐지 (분석 방법)
# 공유 내보내기 설정 점검(no_root_squash 위험)
sudo grep -vE '^#' /etc/exports 2>/dev/null | grep -i 'no_root_squash'
# 공유 디렉터리 신규 실행 파일·스크립트 변경
sudo ausearch -k lateral,persist -i --start recent 2>/dev/null | grep -E '/mnt/|/nfs/|/share/' | grep -E 'comm="(cp|chmod|tee)"' | tail
$ (no_root_squash) (없음 — 안전 설정)
$ (공유 신규 파일) (없음 또는 정상 업무 파일)
공유 내보내기가 안전하게 설정되고(root_squash), 공유에 악성 실행 파일·변조가 없는 상태가 정상입니다.
$ (no_root_squash)
/share 10.0.0.0/24(rw,no_root_squash) (위험 설정)
$ (공유 신규 파일)
cp /tmp/.x /share/tools/update.sh (악성 파일 심기)
chmod +x /share/tools/update.sh
NFS·공유 확산 분석입니다(가상의 예시).
[거점] web01 (공유 마운트)
↓ (공유 오염)
/share/tools/update.sh에 악성 코드 심기
↓ (공유는 다수 호스트가 마운트)
db01, app01, file01이 같은 공유 마운트
↓ (각 호스트가 공유 스크립트 실행)
모든 마운트 호스트 감염 → 확산
= 하나의 공유 오염 → 다수 호스트 영향
| 관찰 | 해석 |
|---|---|
| 공유 악성 파일 | 페이로드 배치 |
| no_root_squash | root 조작 |
| 다수 마운트 | 확산 범위 |
| 공유 실행 | 감염 |
공유 오염 + 다수 마운트가 효율적 측면 확산의 지표입니다.
<!-- 실습 예시 룰: 적용 전 wazuh-logtest 및 테스트 환경 검증 필요 -->
<group name="local,syssec_g,lateral,">
<rule id="106210" level="12">
<if_sid>106000</if_sid>
<field name="audit.file" type="pcre2">^(/mnt/|/nfs/|/share/|/srv/nfs/)</field>
<field name="audit.comm" type="pcre2">^(cp|chmod|tee|install)$</field>
<description>공유 디렉터리 악성 파일 심기·변조(측면 확산)</description>
<mitre><id>T1021</id><id>T1080</id></mitre>
</rule>
</group>
no_root_squash 설정은 주기 점검으로 경보합니다. 공유 디렉터리는 FIM 감시 대상에 포함해 변조를 탐지합니다.
| 공유 악용 | 방식 |
|---|---|
| 악성 파일 심기 | 공유에 페이로드 |
| 스크립트 변조 | 실행 스크립트 오염 |
| 자격증명 접근 | 공유 내 키·설정 |
| no_root_squash | root 파일 조작 |
| 면접 포인트 | "공유는 하나 오염→다수 영향 — no_root_squash·공유 변조가 확산 신호" |
다음 편 323. 내부 확장·측면 이동 — 컨테이너·오케스트레이션 측면 이동 탐지 에서는 컨테이너·오케스트레이션 측면 이동을 다루는 컨테이너·오케스트레이션 측면 이동 탐지를 다룹니다.
이전 편: 321. 내부 확장·측면 이동 — WinRM·RPC·SMB 유사 프로토콜 이동 탐지
📚 시리즈 전체 보기: 시스템 보안 · 취약점