U-14
🏠 root 홈 디렉토리 및 PATH 설정
파일 및 디렉터리 관리
위험도: 중💡 쉽게 말하면
사장 책상 서랍이 잠금 없이 복도에 놓인 것(root 홈 755)과 같습니다. 게다가 안내 방송이 "지금 서 있는 곳부터 찾으세요"(PATH에 현재 폴더)라고 하죠. 공격자는 서랍의 메모(.bashrc)를 바꿔 사장이 셸을 열 때 원하는 명령을 실행시킵니다.
사장 책상 서랍이 잠금 없이 복도에 놓인 것(root 홈 755)과 같습니다. 게다가 안내 방송이 "지금 서 있는 곳부터 찾으세요"(PATH에 현재 폴더)라고 하죠. 공격자는 서랍의 메모(.bashrc)를 바꿔 사장이 셸을 열 때 원하는 명령을 실행시킵니다.
🎯 직접 해보기 — 공격을 실행해 보세요
아래에서 시스템 상태를 취약 또는 안전(조치 적용)으로 바꾼 뒤 공격 실행을 눌러, 같은 공격이 어떻게 다르게 끝나는지 직접 확인하세요.
# 공격자가 root 홈의 시작 파일을 변조해 명령을 가로챈다
# [공격 실행] 버튼을 누르면 시작합니다.
📋 설정 비교 (왜 막혔나?)
✗ 취약한 설정
# root 홈 권한·PATH 확인
#
ls -ld /root && echo $PATH
drwxr-xr-x /root
PATH=.:/usr/bin:/bin ← 현재 디렉터리 포함
→ 시작 파일 변조·명령 가로채기 가능 (취약)
✓ 안전한 설정
# 권한 강화·PATH 정리
#
chmod 700 /root
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
→ 홈 보호·경로에서 . 제거 (양호)
🔧 조치 방법
chmod 700 /root으로 root 홈 디렉터리를 보호합니다.- root와 사용자의 PATH에서
.(현재 디렉터리)를 제거합니다. .bashrc,.bash_profile등 시작 파일 권한을 점검합니다.
✅ 점검 체크리스트
- root 홈 디렉터리 권한이 700인가
- PATH에 현재 디렉터리(.)가 없는가
점검기준: 파일 및 디렉터리 관리 > root 홈 디렉터리 및 PATH