2/11/2016

[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에 대해 알아두시면 간간히 편한일이 생깁니다. :)




HAHWUL

Security engineer, Gopher and H4cker!

Share: | Coffee Me:

3 comments:

  1. 좋은 내용 감사합니다~
    추가로 NFS 서비스에 대해 좀 더 자세히 설명해주시면 좋을 것 같습니다. ^^
    물론 전 일단 구글링해보겠습니다만 ㅎㅎ

    ReplyDelete
    Replies
    1. 넵 피드백 감사합니다 : )
      게시글 윗부분에 NFS 관련 설명 추가하도록 하겠습니다.

      Delete
  2. This comment has been removed by the author.

    ReplyDelete