Notice
Recent Posts
Recent Comments
Link
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Archives
Today
Total
관리 메뉴

의미없는 블로그

맨날 헷갈리는 NFS, RPC, Automount 본문

# 나/pentest (WEB)

맨날 헷갈리는 NFS, RPC, Automount

SaltLee 2020. 8. 11. 15:06

NFS 는 Nerwork File System 이고 

파일시스템 공유 프로토콜 이라고 한다

 

뭔진 모르겠지만

원격지에 있는 자원 (Disk, DVD-ROM 등) 을

로컬에 있는 자원처럼 마운트하여 사용할 수 있다고 한다

NFS 불필요하게 사용할 경우 취약

 

네트워크 상의 다른 컴퓨터에게 자료를 요청하고 공유할려면

원격 프로토콜 같은게 필요할거잖아

그래서 RPC (Remote Process Call) 를 쓴다

RPC 를 사용하여 mount, read 등의 명령어를 전달한다고 한다

RPC 도 불필요하게 사용할 경우 취약

 

NFS 관련해서 데몬이 되게 많은데

- nfs 또는 nfsd : NFS 서비스 데몬

- nfslock : NFS 클라이언트가 서버의 파일을 잠글때 사용

- rpcbind : 이건 RPC 사용해서 통신 포트를 결정하기 위한

- rpc.mountd : 클라이언트로부터 마운트 요청을 받았을 때 검증 및 마운트 진행

- rpc.nfsd : 클라이언트가 마운트 후 얘를 통해 서버에 요청 및 명령 실행

- rpc.lockd : 파일 잠금, 여러 사용자가 한 파일을 수정하는 것을 방지

- rpc.statd : 파일 잠금 및 해제, 비정상적인 종료시 복구 담당, rpc.lockd 랑 함께 작동

 

nfs 또는 nfsd 가 NFS 서비스를 구동하기 위한 데몬이라는데

얘가 없는데 NFS 서비스를 사용한다고 봐야하나?

- NFS 서버 : nfsd, rpc.mountd, rpc.lockd, rpc.statd

- NFS 클라이언트 : rpc.lockd, rpc.statd

 nfsd 가 없으면 서버가 동작 안하고 있다고 보면 되겠다

 

RPC 는 말그대로 원격 명령어 콜 이라서

원격 명령어 호출하는 다양한 곳에서 다 쓰인다

NFS 에서 쓰이는것이 Automount 에서 쓰이기도 한다

그러니깐 사용한다고 무조건 취약이 아니라

왜 쓰는지 인터뷰 해야..

 

RPC 예시

- rpc.cmsd : 데이터베이스 관리, Calendar 에서 사용된다고 함

- cachefsd : 캐시 파일 시스템

- rstd : 커널에서 얻은 성능 통계 리턴

- sadmind : 원격에서 시스템 관리하는데 사용

- rpc.nds : NIS 서버 데몬

 

Automount 는 사용자가 필요할 때 원격시스템을 마운트 했다가 

사용하지 않을때는 언마운트 하고 하는 그런거

 

얘도 rpc.statd 를 사용한다고 하니

이거 쓴다고 무조건 NFS 다! 라고 볼 순 없겠다

 

Comments