8.3 KiB
2049 - Pentesting NFS Service
{% hint style="success" %}
Leer & oefen AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Leer & oefen GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Support HackTricks
- Kyk na die subskripsie planne!
- Sluit aan by die 💬 Discord groep of die telegram groep of volg ons op Twitter 🐦 @hacktricks_live.
- Deel hacking truuks deur PRs in te dien na die HackTricks en HackTricks Cloud github repos.
Basiese Inligting
NFS is 'n stelsel wat ontwerp is vir klient/bediener wat gebruikers in staat stel om naatloos toegang tot lêers oor 'n netwerk te verkry asof hierdie lêers in 'n plaaslike gids geleë is.
'n Opmerkelijke aspek van hierdie protokol is die gebrek aan ingeboude verifikasie of autorisasiemeganismes. In plaas daarvan, berus autorisasie op lêerstelselinligting, met die bediener wat verantwoordelik is om klient-gelewer gebruikersinligting akkuraat in die lêerstelsel se vereiste autorisasieformaat te vertaal, hoofsaaklik volgens UNIX-sintaksis.
Verifikasie berus algemeen op UNIX UID
/GID
identifiseerders en groepslidmaatskappe. egter, 'n uitdaging ontstaan as gevolg van die potensiële wanpassing in UID
/GID
kaarte tussen kliënte en bedieners, wat geen ruimte laat vir addisionele verifikasie deur die bediener nie. Gevolglik is die protokol die beste geskik vir gebruik binne vertroude netwerke, gegewe sy afhanklikheid van hierdie metode van verifikasie.
Standaard poort: 2049/TCP/UDP (behalwe weergawe 4, dit benodig net TCP of UDP).
2049/tcp open nfs 2-3 (RPC #100003
Weergawes
-
NFSv2: Hierdie weergawe is bekend vir sy breë kompatibiliteit met verskeie stelsels, wat sy belangrikheid merk met aanvanklike bedrywighede hoofsaaklik oor UDP. As die oudste in die reeks, het dit die grondslag gelê vir toekomstige ontwikkelings.
-
NFSv3: Ingevoerd met 'n reeks verbeterings, het NFSv3 op sy voorganger uitgebrei deur veranderlike lêergrootte te ondersteun en verbeterde foutverslagmeganismes aan te bied. Ten spyte van sy vooruitgang, het dit beperkings in volle terugwaartse kompatibiliteit met NFSv2-kliënte ondervind.
-
NFSv4: 'n Mylpaalweergawe in die NFS-reeks, het NFSv4 'n stel funksies gebring wat ontwerp is om lêerdeling oor netwerke te moderniseer. Opmerklike verbeterings sluit die integrasie van Kerberos vir hoë sekuriteit, die vermoë om vuurmure te oorkom en oor die Internet te werk sonder die behoefte aan portmappers, ondersteuning vir Toegang Beheer Lyste (ACL's), en die bekendstelling van staat-gebaseerde bedrywighede in. Sy prestasieverbeterings en die aanneming van 'n staatlike protokol onderskei NFSv4 as 'n belangrike vooruitgang in netwerk lêerdeling tegnologieë.
Elke weergawe van NFS is ontwikkel met die doel om die ontwikkelende behoeftes van netwerkomgewings aan te spreek, wat progressief sekuriteit, kompatibiliteit en prestasie verbeter.
Enumerasie
Nuttige nmap skripte
nfs-ls #List NFS exports and check permissions
nfs-showmount #Like showmount -e
nfs-statfs #Disk statistics and info from NFS share
Nuttige metasploit modules
scanner/nfs/nfsmount #Scan NFS mounts and list permissions
Mounting
Om te weet watter vouer die bediener beskikbaar het om te monteer, kan jy dit vra met:
showmount -e <IP>
Dan monteer dit met:
mount -t nfs [-o vers=2] <ip>:<remote_folder> <local_folder> -o nolock
U moet spesifiseer om weergawe 2 te gebruik omdat dit geen verifikasie of outorisering het.
Voorbeeld:
mkdir /mnt/new_back
mount -t nfs [-o vers=2] 10.12.0.150:/backup /mnt/new_back -o nolock
Toestemmings
As jy 'n gids monteer wat lêers of gidse bevat wat slegs deur 'n sekere gebruiker toeganklik is (deur UID). Jy kan lokaal 'n gebruiker met daardie UID skep en met daardie gebruiker sal jy in staat wees om die lêer/gids te benader.
NSFShell
Om maklik te lys, te monteer en UID en GID te verander om toegang tot lêers te hê, kan jy nfsshell gebruik.
Konfigurasie lêers
/etc/exports
/etc/lib/nfs/etab
Gevaarlike instellings
-
Lees- en Skryfregte (
rw
): Hierdie instelling laat beide lees van en skryf na die lêerstelsel toe. Dit is noodsaaklik om die implikasies van die toekenning van so 'n breë toegang in ag te neem. -
Gebruik van Onveilige Poorte (
insecure
): Wanneer geaktiveer, laat dit die stelsel toe om poorte bo 1024 te gebruik. Die sekuriteit van poorte bo hierdie reeks kan minder streng wees, wat die risiko verhoog. -
Sigbaarheid van Geneste Lêerstelsels (
nohide
): Hierdie konfigurasie maak gidse sigbaar selfs al is 'n ander lêerstelsel onder 'n geëksporteerde gids gemonteer. Elke gids vereis sy eie uitvoerinskrywing vir behoorlike bestuur. -
Eienaarskap van Wortellêers (
no_root_squash
): Met hierdie instelling behou lêers wat deur die wortelgebruiker geskep is, hul oorspronklike UID/GID van 0, wat die beginsel van die minste voorregte ignoreer en moontlik oortollige regte toeken. -
Nie-Squashing van Alle Gebruikers (
no_all_squash
): Hierdie opsie verseker dat gebruikersidentiteite oor die stelsel bewaar word, wat kan lei tot toestemming en toegangbeheer probleme as dit nie korrek hanteer word nie.
Voorregverhoging deur NFS misconfigurasies
NFS no_root_squash en no_all_squash voorregverhoging
HackTricks Outomatiese Opdragte
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}
{% hint style="success" %}
Leer & oefen AWS Hacking:HackTricks Opleiding AWS Red Team Expert (ARTE)
Leer & oefen GCP Hacking: HackTricks Opleiding GCP Red Team Expert (GRTE)
Ondersteun HackTricks
- Kyk na die subskripsie planne!
- Sluit aan by die 💬 Discord groep of die telegram groep of volg ons op Twitter 🐦 @hacktricks_live.
- Deel hacking truuks deur PRs in te dien na die HackTricks en HackTricks Cloud github repos.