[SYSTEM HACKING] Remote NFS Mount 및 Metasploit nfs/nfsmount 모듈을 이용한 NFS Scan/Access

Mount 명령을 이용한 Remote NFS Mount

Linux, Unix 등에서 HDD,USB 등을 사용하기 위해서는 mount를 통해 OS와 해당 드라이브를 연결시켜주는 작업이 필요합니다. 랩톱에서 사용하는 Linux는 기본적으로 드라이브 연결 시 자동으로 mount 하는 기능을 가지고 있지요.

오늘은 이 mount 기능을 원격에서 연결하는 방법에 정리할까 합니다.

일반 http나 ftp 연결과 같이 프로토콜은 간단합니다. [IP/Host]:[Directory] 와 같은 구조로 구성되며 실제 mount 구간을 표현하면 아래와 같습니다.

127.0.0.1:/dataDrive

mount 명령을 이용해서 진행하면

#> mount -t nfs 127.0.0.1:/dataDrive test

와 같이 입력 시 127.0.0.1(IP/Host) 의 /dataDrive 라는 디렉토리를 원격으로 제 PC의 /test 라는 디렉토리와 mount 하게 됩니다.

MSF nfs/mfsmount 모듈을 이용한 NFS서비스 점검

타겟에 대해 분석하다보면 종종 NFS를 사용하는 서비스들이 나타납니다. NFS의 접근을 허용할 가능성이 있기 때문에 확인을 진행하는것이 좋습니다.

아래 localhost(127.0.0.1)에는 nfs 서비스가 동작중이네요.

hahwul auxiliary(nfsmount) #> services -u

Services

host port proto name state info —- —- —– —- —– —- 127.0.0.1 111 tcp rpcbind open
127.0.0.1 2049 tcp nfs open
127.0.0.1 2049 udp nfsd open NFS Daemon 100005 v1

Port Scan을 통해 알아낸 NFS 동작여부를 확인한 테스터는 mfsmount 모듈을 이용하여 mount 가능한 디렉토리명을 확인합니다.

hahwul auxiliary(nfsmount) #> use auxiliary/scanner/nfs/nfsmount hahwul auxiliary(nfsmount) #> hosts -R

Hosts

address mac name os_name os_flavor os_sp purpose info comments ——- — —- ——- ——— —– ——- —- ——– 127.0.0.1 127.0.0.1 Linux 3.X server

RHOSTS => 127.0.0.1

hahwul auxiliary(nfsmount) #> run

[+] 127.0.0.1 NFS Export: /data [] Scanned 1 of 1 hosts (100% complete) [] Auxiliary module execution completed hahwul auxiliary(nfsmount) #>

run 후 결과를 보면 NFS Export 구간에 /data 디렉토리가 존재함을 확인할 수 있습니다. 위에서 정리해놨던 mount 명령을 통해 해당 서비스에 접근해봅니다.

#> mount -t nfs 127.0.0.1:/data /test #> df Filesystem 1K-blocks Used Available Use% Mounted on udev 4041640 0 4041640 0% /dev ..중략.. 127.0.0.1:/data 10155008 1971200 8183808 20% /test

명령어는 알아둘수록 참 좋은것 같습니다. 보안하시는 분이 아니여도 local/remote mount에 대해 알아두시면 간간히 편한일이 생깁니다. :)