hacktricks/network-services-pentesting/nfs-service-pentesting.md
2024-02-10 17:52:19 +00:00

22 KiB

2049 - Pentesting NFS Service

htARTE (HackTricks AWS Red Team Expert) ! DaH jImej tlhIngan Hol!

Basic Information

NFS client/server system designed seamlessly access files network files local directory located.

protocol notable aspect **built-in authentication authorization mechanisms. authorization file system information, server **accurately translating client-provided user information **file system's required authorization format, UNIX syntax following.

Authentication UNIX UID/GID identifiers group memberships commonly relies. challenge **potential mismatch UID/GID mappings clients servers, verification additional verification server room. protocol best suited trusted networks, reliance method authentication.

Default port: 2049/TCP/UDP (except version 4, it just needs TCP or UDP).

2049/tcp open  nfs     2-3 (RPC #100003

Versionen

  • NFSv2: Diese Version ist bekannt für ihre breite Kompatibilität mit verschiedenen Systemen und markiert ihre Bedeutung durch anfängliche Operationen überwiegend über UDP. Als älteste in der Serie legte sie den Grundstein für zukünftige Entwicklungen.

  • NFSv3: Eingeführt mit einer Reihe von Verbesserungen, erweiterte NFSv3 seinen Vorgänger durch Unterstützung variabler Dateigrößen und verbesserte Fehlerberichterstattungsmechanismen. Trotz seiner Fortschritte stieß es auf Einschränkungen bei der vollständigen Abwärtskompatibilität mit NFSv2-Clients.

  • NFSv4: Eine wegweisende Version in der NFS-Serie, brachte NFSv4 eine Reihe von Funktionen mit sich, die darauf abzielten, die Dateifreigabe über Netzwerke zu modernisieren. Bemerkenswerte Verbesserungen sind die Integration von Kerberos für hohe Sicherheit, die Fähigkeit, Firewalls zu durchqueren und über das Internet zu arbeiten, ohne Portmapper zu benötigen, Unterstützung für Zugriffssteuerungslisten (ACLs) und die Einführung von zustandsbasierten Operationen. Seine Leistungsverbesserungen und die Übernahme eines zustandsbehafteten Protokolls zeichnen NFSv4 als entscheidenden Fortschritt in den Technologien zur Netzwerkdateifreigabe aus.

Jede Version von NFS wurde entwickelt, um den sich wandelnden Anforderungen von Netzwerkumgebungen gerecht zu werden und Sicherheit, Kompatibilität und Leistung schrittweise zu verbessern.

Enumeration

Nützliche nmap-Skripte

nfs-ls #List NFS exports and check permissions
nfs-showmount #Like showmount -e
nfs-statfs #Disk statistics and info from NFS share

Qapla' metasploit modules

NFS Service Pentesting

NFS Enumeration
nfs-ls

This module allows you to list the files and directories on an NFS share.

use auxiliary/scanner/nfs/nfs-ls
nfs-showmount

This module shows the NFS shares available on a target system.

use auxiliary/scanner/nfs/nfs-showmount
NFS Exploitation
nfs-mount

This module allows you to mount an NFS share on your local system.

use exploit/linux/nfs/nfs_mount
nfs-exportfs

This module allows you to modify the /etc/exports file on an NFS server.

use exploit/linux/nfs/nfs_exportfs
nfs-statd

This module exploits a vulnerability in the NFS statd service.

use exploit/linux/nfs/nfs_statd
NFS Post-Exploitation
nfs-download

This module allows you to download files from an NFS share.

use post/linux/gather/nfs_download
nfs-upload

This module allows you to upload files to an NFS share.

use post/linux/manage/nfs_upload
nfs-shell

This module provides an interactive shell on an NFS share.

use post/linux/manage/nfs_shell
nfs-mountd

This module exploits a vulnerability in the NFS mountd service.

use exploit/linux/nfs/nfs_mountd
nfs-statd

This module exploits a vulnerability in the NFS statd service.

use exploit/linux/nfs/nfs_statd
nfs-exportfs

This module allows you to modify the /etc/exports file on an NFS server.

use exploit/linux/nfs/nfs_exportfs
nfs-mount

This module allows you to mount an NFS share on your local system.

use exploit/linux/nfs/nfs_mount
nfs-showmount

This module shows the NFS shares available on a target system.

use auxiliary/scanner/nfs/nfs-showmount
nfs-ls

This module allows you to list the files and directories on an NFS share.

use auxiliary/scanner/nfs/nfs-ls
scanner/nfs/nfsmount #Scan NFS mounts and list permissions

QaD

QaD ghItlh Dochmey Duj QaD Doch Duj QaD Doch Doch Doch Doch Doch Doch Doch Doch Doch Doch Doch Doch Doch Doch Doch Doch Doch Doch Doch Doch Doch Doch Doch Doch Doch Doch Doch Doch Doch Doch Doch Doch Doch Doch Doch Doch Doch Doch Doch Doch Doch Doch Doch Doch Doch Doch Doch Doch Doch Doch Doch Doch Doch Doch Doch Doch Doch Doch Doch Doch Doch Doch Doch Doch Doch Doch Doch Doch Doch Doch Doch Doch Doch Doch Doch Doch Doch Doch Doch Doch Doch Doch Doch Doch Doch Doch Doch Doch Doch Doch Doch Doch Doch Doch Doch Doch Doch Doch Doch Doch **

showmount -e <IP>

DaH jImej:

mount -t nfs [-o vers=2] <ip>:<remote_folder> <local_folder> -o nolock

tlhIngan Hol:

ghItlhvam 2 vIlo'laH ghaH authentication je authorization pagh 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' ghItlhvam 'e' DIvI' **ghItlh

mkdir /mnt/new_back
mount -t nfs [-o vers=2] 10.12.0.150:/backup /mnt/new_back -o nolock

QaD

QaD (QaD) QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD QaD **

/etc/exports
/etc/lib/nfs/etab

QaDmeymey

  • QaDmeymey DaH je DaH QaDmeymey (rw): QaDmeymeyDaq DaH je DaH QaDmeymeyDaqDaqDaqDaqDaqDaqDaqDaqDaqDaqDaqDaqDaqDaqDaqDaqDaqDaqDaqDaqDaqDaqDaqDaqDaqDaqDaqDaqDaqDaqDaqDaqDaqDaqDaqDaqDaqDaqDaqDaqDaqDaqDaqDaqDaqDaqDaqDaqDaqDaqDaqDaqDaqDaqDaqDaqDaqDaqDaqDaqDaqDaqDaqDaqDaqDaqDaqDaqDaqDaqDaqDaqDaqDaqDaqDaqDaqDaqDaqDaqDaqDaqDaqDaqDaqDaqDaqDaqDaqDaqDaqDaqDaqDaqDaq
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.xyz/pentesting/nfs-service-pentesting

Entry_2:
Name: Nmap
Description: Nmap with NFS Scripts
Command: nmap --script=nfs-ls.nse,nfs-showmount.nse,nfs-statfs.nse -p 2049 {IP}
qaStaHvIS AWS hacking vItlh htARTE (HackTricks AWS Red Team Expert)!