sudo -R <directory> 옵션이란?-R, --chroot=directory
Sudo가 지정된 디렉토리를 루트(
/) 디렉토리처럼 간주(chroot와 유사하게)하고 명령을 실행합니다.
-R 옵션의 실제 동작sudo -R <dir> <command>는 마치 <dir> 디렉토리 안이 전체 루트 파일 시스템처럼 작동하도록 sudo가 처리합니다.
이는 완전한 chroot는 아니지만, Sudo는 내부적으로 해당 디렉토리를 루트처럼 해석하고, 다음 파일들을 해당 디렉토리 기준으로 찾습니다:
/etc/nsswitch.conf/etc/passwdlibnss_*.so.2)sudo id
/etc/nsswitch.conf → 시스템 파일 참조/lib/x86_64-linux-gnu/libnss_files.so.2 등 실제 시스템 경로 기준-R 사용 시:sudo -R /my/fake_root id
/my/fake_root가 루트(/)처럼 간주됨
참조되는 파일:
/my/fake_root/etc/nsswitch.conf/my/fake_root/libnss_*.so.2→ 공격자는 /my/fake_root/ 내부에 악성 파일을 만들어 루트 권한으로 실행시키게 함
Sudo는 -R 옵션을 통해 가짜 환경에서 동작하면서도 여전히 루트 권한으로 NSS 구성 및 라이브러리를 로드합니다.
공격자는 이 점을 이용해 가짜 NSS 구성과 악성 공유 라이브러리를 삽입하면, 루트로 실행되는 Sudo가 공격자 코드를 실행하게 됩니다.
| 항목 | 설명 |
|---|---|
| 옵션 | sudo -R <dir> |
| 역할 | 지정된 디렉토리를 루트(/)처럼 간주하고 명령 실행 |
| 취약점 연결점 | Sudo가 -R 환경에서 NSS 설정 및 라이브러리를 신뢰하고 루트로 실행함 |
| 악용 방식 | 가짜 NSS 구성 (nsswitch.conf) + 악성 라이브러리 (libnss_*.so.2) 삽입 |