2049 - Pentesting NFS Service
Tip
AWS ํดํน ๋ฐฐ์ฐ๊ธฐ ๋ฐ ์ฐ์ตํ๊ธฐ:
HackTricks Training AWS Red Team Expert (ARTE)
GCP ํดํน ๋ฐฐ์ฐ๊ธฐ ๋ฐ ์ฐ์ตํ๊ธฐ:HackTricks Training GCP Red Team Expert (GRTE)
Azure ํดํน ๋ฐฐ์ฐ๊ธฐ ๋ฐ ์ฐ์ตํ๊ธฐ:
HackTricks Training Azure Red Team Expert (AzRTE)
HackTricks ์ง์ํ๊ธฐ
- ๊ตฌ๋ ๊ณํ ํ์ธํ๊ธฐ!
- **๐ฌ ๋์ค์ฝ๋ ๊ทธ๋ฃน ๋๋ ํ ๋ ๊ทธ๋จ ๊ทธ๋ฃน์ ์ฐธ์ฌํ๊ฑฐ๋ ํธ์ํฐ ๐ฆ @hacktricks_live๋ฅผ ํ๋ก์ฐํ์ธ์.
- HackTricks ๋ฐ HackTricks Cloud ๊นํ๋ธ ๋ฆฌํฌ์งํ ๋ฆฌ์ PR์ ์ ์ถํ์ฌ ํดํน ํธ๋ฆญ์ ๊ณต์ ํ์ธ์.
๊ธฐ๋ณธ ์ ๋ณด
NFS๋ ์ฌ์ฉ์๊ฐ ๋คํธ์ํฌ๋ฅผ ํตํด ํ์ผ์ ์ํํ๊ฒ ์ ๊ทผํ ์ ์๋๋ก ์ค๊ณ๋ ํด๋ผ์ด์ธํธ/์๋ฒ ์์คํ ์ผ๋ก, ์ด๋ฌํ ํ์ผ์ด ๋ก์ปฌ ๋๋ ํ ๋ฆฌ์ ์๋ ๊ฒ์ฒ๋ผ ๋ณด์ด๊ฒ ํฉ๋๋ค.
๊ธฐ๋ณธ ํฌํธ: 2049/TCP/UDP (๋ฒ์ 4๋ฅผ ์ ์ธํ๊ณ , TCP ๋๋ UDP๋ง ํ์ํจ).
2049/tcp open nfs 2-3 (RPC #100003
์ธ์ฆ
์ด ํ๋กํ ์ฝ์ ์ฃผ๋ชฉํ ๋งํ ์ธก๋ฉด์ ์ผ๋ฐ์ ์ผ๋ก ๋ด์ฅ๋ ์ธ์ฆ ๋๋ ๊ถํ ๋ถ์ฌ ๋ฉ์ปค๋์ฆ์ด ๋ถ์กฑํ๋ค๋ ๊ฒ์ ๋๋ค. ๋์ , ๊ถํ ๋ถ์ฌ๋ ํ์ผ ์์คํ ์ ๋ณด์ ์์กดํ๋ฉฐ, ์๋ฒ๋ ํด๋ผ์ด์ธํธ๊ฐ ์ ๊ณตํ ์ฌ์ฉ์ ์ ๋ณด๋ฅผ ํ์ผ ์์คํ ์์ ์๊ตฌํ๋ ๊ถํ ๋ถ์ฌ ํ์์ผ๋ก ์ ํํ๊ฒ ๋ณํํ๋ ์ญํ ์ ํฉ๋๋ค. ์ฃผ๋ก UNIX ๊ตฌ๋ฌธ์ ๋ฐ๋ฆ ๋๋ค.
์ธ์ฆ์ ์ผ๋ฐ์ ์ผ๋ก UNIX UID/GID ์๋ณ์ ๋ฐ ๊ทธ๋ฃน ๋ฉค๋ฒ์ญ์ ์์กดํฉ๋๋ค. ๊ทธ๋ฌ๋ ํด๋ผ์ด์ธํธ์ ์๋ฒ ๊ฐ์ UID/GID ๋งคํ์ ๋ถ์ผ์น๋ก ์ธํด ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ฉฐ, ์๋ฒ์ ์ํ ์ถ๊ฐ ๊ฒ์ฆ์ ์ฌ์ง๊ฐ ์์ต๋๋ค. ๊ฒ๋ค๊ฐ ์ด๋ฌํ ์ธ๋ถ ์ ๋ณด๋ ํด๋ผ์ด์ธํธ์ ์ํด ์ ์ก๋๊ณ ์๋ฒ์ ์ํด ์ ๋ขฐ๋๋ฏ๋ก, ์
์์ ์ธ ํด๋ผ์ด์ธํธ๊ฐ ๋ ๋์ ๊ถํ์ uid ๋ฐ gid๋ฅผ ๋ณด๋ด์ด ๋ค๋ฅธ ์ฌ์ฉ์๋ฅผ ๊ฐ์ฅํ ์ ์์ต๋๋ค.
๊ทธ๋ฌ๋ ๊ธฐ๋ณธ์ ์ผ๋ก NFS๋ฅผ ์ฌ์ฉํ์ฌ UID 0(๋ฃจํธ)์ ๊ฐ์ฅํ๋ ๊ฒ์ ๋ถ๊ฐ๋ฅํ๋ค๋ ์ ์ ์ ์ํ์ญ์์ค. ์ด์ ๋ํ ์์ธํ ๋ด์ฉ์ ์ค์ฟผ์ฑ ์น์
์์ ๋ค๋ฃน๋๋ค.
ํธ์คํธ
๋ ๋์(๋๋ ์ผ๋ถ) ๊ถํ ๋ถ์ฌ๋ฅผ ์ํด NFS ๊ณต์ ์ ์ ๊ทผํ ์ ์๋ ํธ์คํธ๋ฅผ ์ง์ ํ ์ ์์ต๋๋ค. ์ด๋ Linux์ /etc/exports ํ์ผ์์ ์ํํ ์ ์์ต๋๋ค. ์:
/PATH/TO/EXPORTย ย ย ย ย CLIENT1(OPTIONS1) CLIENT2(OPTIONS2) ...
/media/disk/shareย ย 192.168.2.123(rw,sec=krb5p:krb5i)
As you can see, it allows to configure a specific IP or hostname to access the share. Only that address will be able to access the share.
Versions
-
NFSv2: ์ด ๋ฒ์ ์ ๋ค์ํ ์์คํ ๊ณผ์ ๊ด๋ฒ์ํ ํธํ์ฑ์ผ๋ก ์ธ์๋๋ฉฐ, ์ด๊ธฐ ์์ ์ด ์ฃผ๋ก UDP๋ฅผ ํตํด ์ด๋ฃจ์ด์ก์ต๋๋ค. ์๋ฆฌ์ฆ ์ค ๊ฐ์ฅ ์ค๋๋ ๋ฒ์ ์ผ๋ก, ํฅํ ๊ฐ๋ฐ์ ๊ธฐ์ด๋ฅผ ๋ง๋ จํ์ต๋๋ค.
-
NFSv3: ๋ค์ํ ๊ฐ์ ์ฌํญ๊ณผ ํจ๊ป ๋์ ๋ NFSv3๋ ์ด์ ๋ฒ์ ์ ๊ธฐ๋ฐ์ผ๋ก ํ์ฌ ๊ฐ๋ณ ํ์ผ ํฌ๊ธฐ๋ฅผ ์ง์ํ๊ณ ๊ฐ์ ๋ ์ค๋ฅ ๋ณด๊ณ ๋ฉ์ปค๋์ฆ์ ์ ๊ณตํฉ๋๋ค. ๊ทธ ๋ฐ์ ์๋ ๋ถ๊ตฌํ๊ณ NFSv2 ํด๋ผ์ด์ธํธ์์ ์์ ํ ํ์ ํธํ์ฑ์๋ ํ๊ณ๊ฐ ์์์ต๋๋ค.
-
NFSv4: NFS ์๋ฆฌ์ฆ์ ์ด์ ํ ๋ฒ์ ์ธ NFSv4๋ ๋คํธ์ํฌ ๊ฐ ํ์ผ ๊ณต์ ๋ฅผ ํ๋ํํ๊ธฐ ์ํด ์ค๊ณ๋ ๊ธฐ๋ฅ ๋ชจ์์ ๋์ ํ์ต๋๋ค. ์ฃผ๋ชฉํ ๋งํ ๊ฐ์ ์ฌํญ์ผ๋ก๋ ๋์ ๋ณด์์ ์ํ Kerberos ํตํฉ, ๋ฐฉํ๋ฒฝ์ ํต๊ณผํ๊ณ ํฌํธ ๋งคํผ ์์ด ์ธํฐ๋ท์์ ์๋ํ ์ ์๋ ๊ธฐ๋ฅ, ์ ๊ทผ ์ ์ด ๋ชฉ๋ก(ACL) ์ง์, ์ํ ๊ธฐ๋ฐ ์์ ์ ๋์ ์ด ์์ต๋๋ค. ์ฑ๋ฅ ํฅ์๊ณผ ์ํ ๊ธฐ๋ฐ ํ๋กํ ์ฝ์ ์ฑํ์ NFSv4๋ฅผ ๋คํธ์ํฌ ํ์ผ ๊ณต์ ๊ธฐ์ ์ ์ค์ํ ๋ฐ์ ์ผ๋ก ๊ตฌ๋ถ ์ง์ต๋๋ค.
-
Kerberos ์ธ์ฆ์ ์ง์ํ๋ Linux ํธ์คํธ NFS๋ฅผ ์ฐพ๋ ๊ฒ์ ๋งค์ฐ ์ด์ํ๋ค๋ ์ ์ ์ ์ํ์ญ์์ค.
๊ฐ NFS ๋ฒ์ ์ ๋คํธ์ํฌ ํ๊ฒฝ์ ์งํํ๋ ์๊ตฌ๋ฅผ ์ถฉ์กฑํ๊ธฐ ์ํด ๊ฐ๋ฐ๋์์ผ๋ฉฐ, ๋ณด์, ํธํ์ฑ ๋ฐ ์ฑ๋ฅ์ ์ ์ง์ ์ผ๋ก ํฅ์์์ผฐ์ต๋๋ค.
Squashing
์์ ์ธ๊ธํ๋ฏ์ด, NFS๋ ์ผ๋ฐ์ ์ผ๋ก ํด๋ผ์ด์ธํธ์ uid์ gid๋ฅผ ์ ๋ขฐํ์ฌ ํ์ผ์ ์ ๊ทผํฉ๋๋ค(kerberos๊ฐ ์ฌ์ฉ๋์ง ์๋ ๊ฒฝ์ฐ). ๊ทธ๋ฌ๋ ์๋ฒ์์ ์ด ๋์์ ๋ณ๊ฒฝํ๋ ๋ช ๊ฐ์ง ๊ตฌ์ฑ์ ์ค์ ํ ์ ์์ต๋๋ค:
- all_squash: ๋ชจ๋ ์ ๊ทผ์ ์์ถํ์ฌ ๋ชจ๋ ์ฌ์ฉ์์ ๊ทธ๋ฃน์
nobody(65534 unsigned / -2 signed)๋ก ๋งคํํฉ๋๋ค. ๋ฐ๋ผ์ ๋ชจ๋ ์ฌ์ฉ์๋nobody๊ฐ ๋๋ฉฐ ์ฌ์ฉ์๊ฐ ์์ต๋๋ค. - root_squash/no_all_squash: ์ด๋ Linux์ ๊ธฐ๋ณธ๊ฐ์ด๋ฉฐ uid 0 (root)๋ก ์ ๊ทผ์ ์์ถํฉ๋๋ค. ๋ฐ๋ผ์ ๋ชจ๋
UID์GID๋ ์ ๋ขฐ๋์ง๋ง0์nobody๋ก ์์ถ๋ฉ๋๋ค(๋ฐ๋ผ์ root ๊ฐ์ฅ์ด ๋ถ๊ฐ๋ฅํฉ๋๋ค). - no_root_squash: ์ด ๊ตฌ์ฑ์ด ํ์ฑํ๋๋ฉด root ์ฌ์ฉ์์กฐ์ฐจ ์์ถํ์ง ์์ต๋๋ค. ์ฆ, ์ด ๊ตฌ์ฑ์ ์ฌ์ฉํ์ฌ ๋๋ ํ ๋ฆฌ๋ฅผ ๋ง์ดํธํ๋ฉด root๋ก ์ ๊ทผํ ์ ์์ต๋๋ค.
Subtree check
Linux์์๋ง ์ฌ์ฉ ๊ฐ๋ฅํฉ๋๋ค. man(5) exports๋ ๋ค์๊ณผ ๊ฐ์ด ๋งํฉ๋๋ค: โํ์ผ ์์คํ ์ ํ์ ๋๋ ํ ๋ฆฌ๊ฐ ๋ด๋ณด๋ด์ง์ง๋ง ์ ์ฒด ํ์ผ ์์คํ ์ด ๋ด๋ณด๋ด์ง ์๋ ๊ฒฝ์ฐ, NFS ์์ฒญ์ด ๋์ฐฉํ ๋๋ง๋ค ์๋ฒ๋ ์ ๊ทผ๋ ํ์ผ์ด ์ ์ ํ ํ์ผ ์์คํ ์ ์๋์ง(์ด๋ ์ฝ์ต๋๋ค)๋ฟ๋ง ์๋๋ผ ๋ด๋ณด๋ด์ง ํธ๋ฆฌ์ ์๋์ง๋ ํ์ธํด์ผ ํฉ๋๋ค(์ด๋ ๋ ์ด๋ ต์ต๋๋ค). ์ด ๊ฒ์ฌ๋ฅผ subtree check๋ผ๊ณ ํฉ๋๋ค.โ
Linux์์๋ subtree_check ๊ธฐ๋ฅ์ด ๊ธฐ๋ณธ์ ์ผ๋ก ๋นํ์ฑํ๋์ด ์์ต๋๋ค.
Enumeration
Showmount
์ด๊ฒ์ NFSv3 ์๋ฒ์์ ์ ๋ณด๋ฅผ ์ป๋ ๋ฐ ์ฌ์ฉ๋ ์ ์์ผ๋ฉฐ, ๋ด๋ณด๋ด๊ธฐ ๋ชฉ๋ก, ์ด ๋ด๋ณด๋ด๊ธฐ์ ์ ๊ทผํ ์ ์๋ ์ฌ๋, ๊ทธ๋ฆฌ๊ณ ์ฐ๊ฒฐ๋ ํด๋ผ์ด์ธํธ(ํด๋ผ์ด์ธํธ๊ฐ ์๋ฒ์ ์๋ฆฌ์ง ์๊ณ ์ฐ๊ฒฐ์ ๋์ผ๋ฉด ๋ถ์ ํํ ์ ์์)๋ฅผ ๋ณด์ฌ์ค๋๋ค. NFSv4 ํด๋ผ์ด์ธํธ๋ ์ง์ /export์ ์ ๊ทผํ๊ณ ๊ฑฐ๊ธฐ์ ๋ด๋ณด๋ด๊ธฐ์ ์ ๊ทผํ๋ ค๊ณ ์๋ํ๋ฉฐ, ์ ํจํ์ง ์๊ฑฐ๋ ์ด๋ค ์ด์ ๋ก๋ ๊ถํ์ด ์์ผ๋ฉด ์คํจํฉ๋๋ค.
showmount ๋๋ Metasploit ๋ชจ๋๊ณผ ๊ฐ์ ๋๊ตฌ๊ฐ NFS ํฌํธ์์ ์ ๋ณด๋ฅผ ํ์ํ์ง ์์ผ๋ฉด, ์ด๋ ๋ฒ์ 3์ ์ง์ํ์ง ์๋ NFSv4 ์๋ฒ์ผ ๊ฐ๋ฅ์ฑ์ด ์์ต๋๋ค.
showmount -e <IP>
์ ์ฉํ nmap ์คํฌ๋ฆฝํธ
nfs-ls #List NFS exports and check permissions
nfs-showmount #Like showmount -e
nfs-statfs #Disk statistics and info from NFS share
์ ์ฉํ ๋ฉํ์คํ๋ก์ ๋ชจ๋
scanner/nfs/nfsmount #Scan NFS mounts and list permissions
nfs_analyze
์ด ๋๊ตฌ๋ https://github.com/hvs-consulting/nfs-security-tooling์์ ์ ๊ณต๋๋ฉฐ, NFS ์๋ฒ์์ ๋ง์ดํธ, ์ง์๋๋ NFS ๋ฒ์ , ์ฐ๊ฒฐ๋ IP ๋ฐ ๋ด๋ณด๋ด๊ธฐ์์ ๋ค๋ฅธ ํด๋๋ก์ ํ์ถ ๊ฐ๋ฅ์ฑ ๋๋ no_root_squash๊ฐ ํ์ฑํ๋์ด ์๋์ง ์ฌ๋ถ์ ๊ฐ์ ๋ง์ ๋ฐ์ดํฐ๋ฅผ ์ป๋ ๋ฐ ์ฌ์ฉํ ์ ์์ต๋๋ค.
Mounting
์๋ฒ๊ฐ ๋ง์ดํธํ ์ ์๋ ํด๋๋ฅผ ์๊ธฐ ์ํด ๋ค์๊ณผ ๊ฐ์ด ์์ฒญํ ์ ์์ต๋๋ค:
showmount -e <IP>
๊ทธ๋ฐ ๋ค์ ๋ค์์ ์ฌ์ฉํ์ฌ ๋ง์ดํธํฉ๋๋ค:
mount -t nfs [-o vers=2] <ip>:<remote_folder> <local_folder> -o nolock
๋ฒ์ 2๋ฅผ ์ฌ์ฉํด์ผ ํฉ๋๋ค. ์๋ํ๋ฉด ์ธ์ฆ์ด๋ ๊ถํ ๋ถ์ฌ๊ฐ ์๊ธฐ ๋๋ฌธ์ ๋๋ค.
์:
mkdir /mnt/new_back
mount -t nfs [-o vers=2] 10.12.0.150:/backup /mnt/new_back -o nolock
๊ณต๊ฒฉ
UID ๋ฐ GID ์ ๋ขฐ
๋ฌผ๋ก , ์ฌ๊ธฐ์ ์ ์ผํ ๋ฌธ์ ๋ ๊ธฐ๋ณธ์ ์ผ๋ก ๋ฃจํธ(UID 0)๋ฅผ ๊ฐ์ฅํ ์ ์๋ค๋ ๊ฒ์
๋๋ค. ๊ทธ๋ฌ๋ ๋ค๋ฅธ ์ฌ์ฉ์๋ฅผ ๊ฐ์ฅํ ์ ์์ผ๋ฉฐ, no_root_squash๊ฐ ํ์ฑํ๋ ๊ฒฝ์ฐ ๋ฃจํธ๋ ๊ฐ์ฅํ ์ ์์ต๋๋ค.
- ํน์ ์ฌ์ฉ์๋ง ์ ๊ทผํ ์ ์๋ ํ์ผ ๋๋ ํด๋๊ฐ ํฌํจ๋ ํด๋๋ฅผ ๋ง์ดํธํ๋ ๊ฒฝ์ฐ( UID์ ์ํด). ํด๋น UID๋ฅผ ๊ฐ์ง ์ฌ์ฉ์๋ฅผ ๋ก์ปฌ์์ ์์ฑํ๊ณ ๊ทธ ์ฌ์ฉ์๋ฅผ ์ฌ์ฉํ์ฌ ํ์ผ/ํด๋์ ์ ๊ทผํ ์ ์์ต๋๋ค.
- https://github.com/hvs-consulting/nfs-security-tooling์์ ์ ๊ณตํ๋ ๋๊ตฌ **
fuse_nfs**๋ ํ์ผ์ ์ ๊ทผํ๊ธฐ ์ํด ํ์ํ UID์ GID๋ฅผ ํญ์ ์ ์กํฉ๋๋ค.
SUID ๊ถํ ์์น
ํ์ด์ง๋ฅผ ํ์ธํ์ธ์:
NFS no_root_squash/no_all_squash misconfiguration PE
๋ด๋ณด๋ด๊ธฐ์์ ํ์ถ
์ด ํ๋ฅญํ ๊ธฐ์ฌ์์๋ ๋ด๋ณด๋ด๊ธฐ์์ ํ์ถํ์ฌ ํ์ผ ์์คํ ์ ๋ค๋ฅธ ํด๋์ ์ ๊ทผํ ์ ์๋ ๊ฐ๋ฅ์ฑ์ ํ์ธํ ์ ์์ต๋๋ค.
๋ฐ๋ผ์, ๋ด๋ณด๋ด๊ธฐ๊ฐ ์ ์ฒด ํ์ผ ์์คํ
์ ํ์ ํด๋๋ฅผ ๋ด๋ณด๋ด๋ ๊ฒฝ์ฐ, **subtree_check**๊ฐ ๋นํ์ฑํ๋์ด ์์ผ๋ฉด ๋ด๋ณด๋ด๊ธฐ ์ธ๋ถ์ ํ์ผ์ ์ ๊ทผํ ์ ์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ด๋ ๋ฆฌ๋
์ค์์ ๊ธฐ๋ณธ์ ์ผ๋ก ๋นํ์ฑํ๋์ด ์์ต๋๋ค.
์๋ฅผ ๋ค์ด, NFS ์๋ฒ๊ฐ /srv/๋ฅผ ๋ด๋ณด๋ด๊ณ /var/๊ฐ ๋์ผํ ํ์ผ ์์คํ
์ ์๋ ๊ฒฝ์ฐ, /var/log/์์ ๋ก๊ทธ๋ฅผ ์ฝ๊ฑฐ๋ /var/www/์ ์น์์ ์ ์ฅํ ์ ์์ต๋๋ค.
๋ํ, ๊ธฐ๋ณธ์ ์ผ๋ก ๋ฃจํธ(0) ์ฌ์ฉ์๋ง ๊ฐ์ฅํ๋ ๊ฒ์ผ๋ก๋ถํฐ ๋ณดํธ๋๋ค๋ ์ ์ ์ ์ํ์ธ์(์ค์ฟผ์ ์น์
ํ์ธ). ๊ทธ๋ฌ๋ ํ์ผ์ด ๋ฃจํธ ์์ ์ด์ง๋ง ๊ทธ๋ฃน์ด 0์ด ์๋ ๊ฒฝ์ฐ ์ ๊ทผํ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด, ํ์ผ /etc/shadow๋ ๋ฃจํธ ์์ ์ด์ง๋ง ๊ทธ๋ฃน์ shadow(Debian์์ gid 42)์
๋๋ค. ๋ฐ๋ผ์ ๊ธฐ๋ณธ์ ์ผ๋ก ์ฝ์ ์ ์์ต๋๋ค!
https://github.com/hvs-consulting/nfs-security-tooling์์ ์ ๊ณตํ๋ ๋๊ตฌ **nfs_analyze**๋ ext4, xfs, btrfs ํ์ผ ์์คํ
์ ๋ํ ์ด ๊ณต๊ฒฉ์ ์ง์ํ๋๋ก ๊ตฌ์ถ๋์์ต๋๋ค(๋ฒ์ 3์์ ์๋ํ๋ฉฐ v4์์๋ ๊ฐ๋ฅํด์ผ ํฉ๋๋ค).
NSFShell
ํ์ผ์ ์ ๊ทผํ๊ธฐ ์ํด UID ๋ฐ GID๋ฅผ ์ฝ๊ฒ ๋์ดํ๊ณ ๋ง์ดํธํ๋ฉฐ ๋ณ๊ฒฝํ๋ ค๋ฉด nfsshell์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
๊ตฌ์ฑ ํ์ผ
/etc/exports
/etc/lib/nfs/etab
์ํํ ์ค์
-
์ฝ๊ธฐ ๋ฐ ์ฐ๊ธฐ ๊ถํ (
rw): ์ด ์ค์ ์ ํ์ผ ์์คํ ์์ ์ฝ๊ธฐ์ ์ฐ๊ธฐ๋ฅผ ๋ชจ๋ ํ์ฉํฉ๋๋ค. ์ด๋ ๊ฒ ๊ด๋ฒ์ํ ์ ๊ทผ์ ํ์ฉํ๋ ๊ฒ์ ์๋ฏธ๋ฅผ ๊ณ ๋ คํ๋ ๊ฒ์ด ์ค์ํฉ๋๋ค. -
์์ ํ์ง ์์ ํฌํธ ์ฌ์ฉ (
insecure): ์ด ๊ธฐ๋ฅ์ด ํ์ฑํ๋๋ฉด ์์คํ ์ด 1024 ์ด์์ ํฌํธ๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค. ์ด ๋ฒ์ ์ด์์ ํฌํธ์ ๋ณด์์ ๋ ์๊ฒฉํ ์ ์์ด ์ํ์ด ์ฆ๊ฐํฉ๋๋ค. -
์ค์ฒฉ ํ์ผ ์์คํ ์ ๊ฐ์์ฑ (
nohide): ์ด ๊ตฌ์ฑ์ ๋ค๋ฅธ ํ์ผ ์์คํ ์ด ๋ด๋ณด๋ธ ๋๋ ํ ๋ฆฌ ์๋์ ๋ง์ดํธ๋์ด ์์ด๋ ๋๋ ํ ๋ฆฌ๋ฅผ ๋ณผ ์ ์๊ฒ ํฉ๋๋ค. ๊ฐ ๋๋ ํ ๋ฆฌ๋ ์ ์ ํ ๊ด๋ฆฌ๋ฅผ ์ํด ์์ฒด ๋ด๋ณด๋ด๊ธฐ ํญ๋ชฉ์ด ํ์ํฉ๋๋ค. -
๋ฃจํธ ํ์ผ ์์ ๊ถ (
no_root_squash): ์ด ์ค์ ์์๋ ๋ฃจํธ ์ฌ์ฉ์๊ฐ ์์ฑํ ํ์ผ์ด ์๋์ UID/GID์ธ 0์ ์ ์งํ๋ฉฐ, ์ต์ ๊ถํ ์์น์ ๋ฌด์ํ๊ณ ๊ณผ๋ํ ๊ถํ์ ๋ถ์ฌํ ์ ์์ต๋๋ค. -
๋ชจ๋ ์ฌ์ฉ์ ๋น์ค์ฟผ์ (
no_all_squash): ์ด ์ต์ ์ ์ฌ์ฉ์ ์ ์์ด ์์คํ ์ ๋ฐ์ ๊ฑธ์ณ ์ ์ง๋๋๋ก ๋ณด์ฅํ๋ฉฐ, ์ฌ๋ฐ๋ฅด๊ฒ ์ฒ๋ฆฌ๋์ง ์์ผ๋ฉด ๊ถํ ๋ฐ ์ ๊ทผ ์ ์ด ๋ฌธ์ ๋ฅผ ์ผ์ผํฌ ์ ์์ต๋๋ค.
NFS ์๋ชป๋ ๊ตฌ์ฑ์ผ๋ก ์ธํ ๊ถํ ์์น
NFS no_root_squash ๋ฐ no_all_squash ๊ถํ ์์น
HackTricks ์๋ ๋ช ๋ น
Protocol_Name: NFS #Protocol Abbreviation if there is one.
Port_Number: 2049 #Comma separated if there is more than one.
Protocol_Description: Network File System #Protocol Abbreviation Spelled out
Entry_1:
Name: Notes
Description: Notes for NFS
Note: |
NFS is a system designed for client/server that enables users to seamlessly access files over a network as though these files were located within a local directory.
#apt install nfs-common
showmount 10.10.10.180 ~or~showmount -e 10.10.10.180
should show you available shares (example /home)
mount -t nfs -o ver=2 10.10.10.180:/home /mnt/
cd /mnt
nano into /etc/passwd and change the uid (probably 1000 or 1001) to match the owner of the files if you are not able to get in
https://book.hacktricks.wiki/en/network-services-pentesting/nfs-service-pentesting.html
Entry_2:
Name: Nmap
Description: Nmap with NFS Scripts
Command: nmap --script=nfs-ls.nse,nfs-showmount.nse,nfs-statfs.nse -p 2049 {IP}
Tip
AWS ํดํน ๋ฐฐ์ฐ๊ธฐ ๋ฐ ์ฐ์ตํ๊ธฐ:
HackTricks Training AWS Red Team Expert (ARTE)
GCP ํดํน ๋ฐฐ์ฐ๊ธฐ ๋ฐ ์ฐ์ตํ๊ธฐ:HackTricks Training GCP Red Team Expert (GRTE)
Azure ํดํน ๋ฐฐ์ฐ๊ธฐ ๋ฐ ์ฐ์ตํ๊ธฐ:
HackTricks Training Azure Red Team Expert (AzRTE)
HackTricks ์ง์ํ๊ธฐ
- ๊ตฌ๋ ๊ณํ ํ์ธํ๊ธฐ!
- **๐ฌ ๋์ค์ฝ๋ ๊ทธ๋ฃน ๋๋ ํ ๋ ๊ทธ๋จ ๊ทธ๋ฃน์ ์ฐธ์ฌํ๊ฑฐ๋ ํธ์ํฐ ๐ฆ @hacktricks_live๋ฅผ ํ๋ก์ฐํ์ธ์.
- HackTricks ๋ฐ HackTricks Cloud ๊นํ๋ธ ๋ฆฌํฌ์งํ ๋ฆฌ์ PR์ ์ ์ถํ์ฌ ํดํน ํธ๋ฆญ์ ๊ณต์ ํ์ธ์.


