hacktricks/network-services-pentesting/nfs-service-pentesting.md

147 lines
15 KiB
Markdown
Raw Normal View History

2024-02-10 22:40:18 +00:00
# 2049 - Ελεγκτική δοκιμή υπηρεσίας NFS
2022-04-28 16:01:33 +00:00
<details>
2024-02-10 22:40:18 +00:00
<summary><strong>Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
2022-04-28 16:01:33 +00:00
2024-02-10 22:40:18 +00:00
* Εργάζεστε σε μια **εταιρεία κυβερνοασφάλειας**; Θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks**; Ή θέλετε να έχετε πρόσβαση στην **τελευταία έκδοση του PEASS ή να κατεβάσετε το HackTricks σε μορφή PDF**; Ελέγξτε τα [**ΠΑΚΕΤΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
* Ανακαλύψτε την [**Οικογένεια PEASS**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
* **Εγγραφείτε** στην [**💬**](https://emojipedia.org/speech-balloon/) [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στην [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** με στο **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στο [αποθετήριο hacktricks](https://github.com/carlospolop/hacktricks) και [αποθετήριο hacktricks-cloud](https://github.com/carlospolop/hacktricks-cloud)**.
2022-04-28 16:01:33 +00:00
</details>
2024-02-10 22:40:18 +00:00
## **Βασικές πληροφορίες**
2024-02-10 22:40:18 +00:00
Το **NFS** είναι ένα σύστημα σχεδιασμένο για **πελάτη/εξυπηρετητή** που επιτρέπει στους χρήστες να έχουν πρόσβαση σε αρχεία μέσω δικτύου, ως να βρίσκονταν αυτά τα αρχεία σε έναν τοπικό φάκελο.
2024-02-10 22:40:18 +00:00
Ένα σημαντικό χαρακτηριστικό αυτού του πρωτοκόλλου είναι η έλλειψη ενσωματωμένων μηχανισμών **πιστοποίησης** ή **εξουσιοδότησης**. Αντ' αυτού, η εξουσιοδότηση βασίζεται σε πληροφορίες του **συστήματος αρχείων**, με τον εξυπηρετητή να έχει το καθήκον να μεταφράζει ακριβώς τις πληροφορίες χρήστη που παρέχει ο πελάτης στην απαιτούμενη μορφή εξουσιοδότησης του συστήματος αρχείων, ακολουθώντας κυρίως τη σύνταξη του UNIX.
2022-10-02 19:15:35 +00:00
2024-02-10 22:40:18 +00:00
Η πιστοποίηση συνήθως βασίζεται στους αναγνωριστικούς αριθμούς **`UID`/`GID` του UNIX και στην ομάδα συμμετοχής**. Ωστόσο, προκύπτει μια πρόκληση λόγω της πιθανής αναντιστοιχίας των **`UID`/`GID` αντιστοιχίσεων** μεταξύ πελατών και εξυπηρετητών, μη αφήνοντας χώρο για επιπλέον επαλήθευση από τον εξυπηρετητή. Ως εκ τούτου, το πρωτόκολλο είναι κατάλληλο για χρήση μόνο εντός **αξιόπιστων δικτύων**, λόγω της εξάρτησής του από αυτήν τη μέθοδο πιστοποίησης.
2024-02-10 22:40:18 +00:00
**Προεπιλεγμένη θύρα**: 2049/TCP/UDP (εκτός έκδοσης 4, χρειάζεται μόνο TCP ή UDP).&#x20;
2022-05-01 13:25:53 +00:00
```
2049/tcp open nfs 2-3 (RPC #100003
```
2024-02-10 22:40:18 +00:00
### Έκδοσεις
2024-02-10 22:40:18 +00:00
- **NFSv2**: Αυτή η έκδοση αναγνωρίζεται για την ευρεία συμβατότητά της με διάφορα συστήματα, καθώς η αρχική της λειτουργία γίνεται κυρίως μέσω του πρωτοκόλλου UDP. Ως η **παλαιότερη** στη σειρά, έθεσε τις βάσεις για μελλοντικές εξελίξεις.
2024-02-08 21:36:15 +00:00
2024-02-10 22:40:18 +00:00
- **NFSv3**: Εισήχθη με μια σειρά βελτιώσεων, η NFSv3 επεκτάθηκε σε σχέση με τον προκάτοχό της υποστηρίζοντας μεταβλητού μεγέθους αρχεία και προσφέροντας βελτιωμένους μηχανισμούς αναφοράς σφαλμάτων. Παρά τις βελτιώσεις της, αντιμετώπισε περιορισμούς στην πλήρη συμβατότητα προς τα πίσω με πελάτες NFSv2.
2024-02-08 21:36:15 +00:00
2024-02-10 22:40:18 +00:00
- **NFSv4**: Μια έκδοση ορόσημο στη σειρά NFS, η NFSv4 φέρνει μια σειρά χαρακτηριστικών σχεδιασμένων για την μοντερνοποίηση του κοινής χρήσης αρχείων σε δίκτυα. Σημαντικές βελτιώσεις περιλαμβάνουν την ενσωμάτωση του Kerberos για **υψηλή ασφάλεια**, τη δυνατότητα διέλευσης των προστατευτικών τειχών προστασίας και λειτουργίας μέσω του Διαδικτύου χωρίς την ανάγκη για portmappers, υποστήριξη για Λίστες Ελέγχου Πρόσβασης (ACLs) και η εισαγωγή λειτουργιών βασισμένων σε καταστάσεις. Οι βελτιώσεις στην απόδοση της και η υιοθέτηση ενός πρωτοκόλλου με κατάσταση καθιστούν την NFSv4 μια καθοριστική πρόοδο στις τεχνολογίες κοινής χρήσης αρχείων σε δίκτυα.
2022-10-02 19:15:35 +00:00
2024-02-10 22:40:18 +00:00
Κάθε έκδοση του NFS έχει αναπτυχθεί με σκοπό να αντιμετωπίσει τις εξελισσόμενες ανάγκες των δικτυακών περιβαλλόντων, βελτιώνοντας σταδιακά την ασφάλεια, τη συμβατότητα και την απόδοση.
2024-02-10 22:40:18 +00:00
## Απαρίθμηση
2024-02-10 22:40:18 +00:00
### Χρήσιμα scripts του nmap
```bash
nfs-ls #List NFS exports and check permissions
nfs-showmount #Like showmount -e
nfs-statfs #Disk statistics and info from NFS share
```
2024-02-10 22:40:18 +00:00
### Χρήσιμα modules του metasploit
Το metasploit είναι ένα εργαλείο που χρησιμοποιείται ευρέως για την εκτέλεση επιθέσεων και την αξιοποίηση ευπαθειών σε συστήματα. Παρακάτω παρουσιάζονται μερικά χρήσιμα modules του metasploit:
- **exploit/multi/handler**: Αυτό το module χρησιμοποιείται για την ανάπτυξη ενός ακροατή σε έναν εξυπηρετητή, προκειμένου να αντιμετωπίσει εισερχόμενες συνδέσεις από εκμεταλλευόμενα συστήματα.
2024-02-10 22:40:18 +00:00
- **exploit/multi/http/nfs_rpcbind_bof**: Αυτό το module εκμεταλλεύεται μια ευπάθεια στον NFS (Network File System) για να εκτελέσει κακόβουλο κώδικα σε έναν εξυπηρετητή.
2024-02-10 22:40:18 +00:00
- **auxiliary/scanner/nfs/nfsmount**: Αυτό το module χρησιμοποιείται για τη σάρωση ενός δικτύου για την ανίχνευση των εξυπηρετητών NFS και των κοινών καταλόγων που είναι προσβάσιμοι.
- **post/multi/gather/nfs**: Αυτό το module χρησιμοποιείται για τη συλλογή πληροφοριών από έναν εξυπηρετητή NFS, όπως τα κοινά καταλόγους και τα αρχεία που είναι προσβάσιμα.
Αυτά είναι μερικά από τα χρήσιμα modules που παρέχει το metasploit για την εκτέλεση επιθέσεων και την αξιοποίηση ευπαθειών σε συστήματα. Μπορείτε να εξερευνήσετε περισσότερα modules και να ανακαλύψετε νέες ευπάθειες για να εκμεταλλευτείτε.
```bash
scanner/nfs/nfsmount #Scan NFS mounts and list permissions
```
2024-02-10 22:40:18 +00:00
### Προσάρτηση
2024-02-10 22:40:18 +00:00
Για να μάθετε **ποιος φάκελος** έχει ο διακομιστής **διαθέσιμο** για προσάρτηση, μπορείτε να τον ρωτήσετε χρησιμοποιώντας:
```bash
showmount -e <IP>
```
2024-02-10 22:40:18 +00:00
Στη συνέχεια, πραγματοποιήστε την προσάρτησή του χρησιμοποιώντας:
```bash
mount -t nfs [-o vers=2] <ip>:<remote_folder> <local_folder> -o nolock
```
2024-02-10 22:40:18 +00:00
Θα πρέπει να καθορίσετε να **χρησιμοποιήσετε την έκδοση 2** επειδή δεν έχει **καμία** **πιστοποίηση** ή **εξουσιοδότηση**.
2024-02-10 22:40:18 +00:00
**Παράδειγμα:**
```bash
mkdir /mnt/new_back
mount -t nfs [-o vers=2] 10.12.0.150:/backup /mnt/new_back -o nolock
```
2024-02-10 22:40:18 +00:00
## Δικαιώματα
2024-02-10 22:40:18 +00:00
Εάν προσαρτήσετε ένα φάκελο που περιέχει **αρχεία ή φακέλους προσβάσιμους μόνο από ορισμένο χρήστη** (με **UID**), μπορείτε να **δημιουργήσετε** **τοπικά** έναν χρήστη με αυτό το **UID** και χρησιμοποιώντας αυτόν τον **χρήστη** θα μπορείτε να **έχετε πρόσβαση** στο αρχείο/φάκελο.
2022-05-01 13:25:53 +00:00
## NSFShell
2024-02-10 22:40:18 +00:00
Για να εμφανίσετε εύκολα, να προσαρτήσετε και να αλλάξετε το UID και το GID για να έχετε πρόσβαση σε αρχεία, μπορείτε να χρησιμοποιήσετε το [nfsshell](https://github.com/NetDirect/nfsshell).
2024-02-10 22:40:18 +00:00
[Ωραίος οδηγός για το NFSShell.](https://www.pentestpartners.com/security-blog/using-nfsshell-to-compromise-older-environments/)
2024-02-10 22:40:18 +00:00
## Αρχεία ρυθμίσεων
2022-05-01 13:25:53 +00:00
```
/etc/exports
/etc/lib/nfs/etab
```
2024-02-10 22:40:18 +00:00
### Επικίνδυνες ρυθμίσεις
2024-02-10 22:40:18 +00:00
- **Άδεια ανάγνωσης και εγγραφής (`rw`):** Αυτή η ρύθμιση επιτρέπει τόσο την ανάγνωση όσο και την εγγραφή στο σύστημα αρχείων. Είναι σημαντικό να ληφθούν υπόψη οι επιπτώσεις της χορήγησης τέτοιας ευρείας πρόσβασης.
2024-02-08 21:36:15 +00:00
2024-02-10 22:40:18 +00:00
- **Χρήση μη ασφαλών θυρών (`insecure`):** Όταν είναι ενεργοποιημένη, αυτή η ρύθμιση επιτρέπει στο σύστημα να χρησιμοποιεί θύρες πάνω από το 1024. Η ασφάλεια των θυρών πάνω από αυτό το εύρος μπορεί να είναι λιγότερο αυστηρή, αυξάνοντας τον κίνδυνο.
2024-02-08 21:36:15 +00:00
2024-02-10 22:40:18 +00:00
- **Ορατότητα ενσωματωμένων συστημάτων αρχείων (`nohide`):** Αυτή η ρύθμιση καθιστά τους καταλόγους ορατούς ακόμα και αν ένα άλλο σύστημα αρχείων είναι προσαρτημένο κάτω από έναν εξαγόμενο κατάλογο. Κάθε κατάλογος απαιτεί τη δική του καταχώριση εξαγωγής για τη σωστή διαχείριση.
2024-02-08 21:36:15 +00:00
2024-02-10 22:40:18 +00:00
- **Ιδιοκτησία αρχείων ρίζας (`no_root_squash`):** Με αυτή τη ρύθμιση, τα αρχεία που δημιουργούνται από τον χρήστη ρίζα διατηρούν το αρχικό τους UID/GID της τιμής 0, αγνοώντας την αρχή της ελάχιστης προνομιούχας πρόσβασης και πιθανώς χορηγώντας υπερβολικές άδειες.
2022-10-02 19:15:35 +00:00
2024-02-10 22:40:18 +00:00
- **Μη αντικατάσταση όλων των χρηστών (`no_all_squash`):** Αυτή η επιλογή εξασφαλίζει ότι οι ταυτότητες των χρηστών διατηρούνται σε όλο το σύστημα, πράγμα που μπορεί να οδηγήσει σε προβλήματα ελέγχου άδειας και πρόσβασης εάν δεν χειριστούν σωστά.
2022-10-02 19:15:35 +00:00
2024-02-10 22:40:18 +00:00
## Ανέβασμα προνομιακού επιπέδου χρησιμοποιώντας λανθασμένες ρυθμίσεις NFS
2024-02-10 22:40:18 +00:00
[NFS no\_root\_squash και no\_all\_squash ανέβασμα προνομιακού επιπέδου](../linux-hardening/privilege-escalation/nfs-no\_root\_squash-misconfiguration-pe.md)
2021-08-12 12:55:42 +00:00
2024-02-10 22:40:18 +00:00
## Αυτόματες εντολές HackTricks
2022-05-01 13:25:53 +00:00
```
2021-08-12 12:55:42 +00:00
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
2021-08-15 17:39:13 +00:00
Entry_1:
2024-02-10 22:40:18 +00:00
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.
2021-08-15 17:39:13 +00:00
2024-02-10 22:40:18 +00:00
#apt install nfs-common
showmount 10.10.10.180 ~or~showmount -e 10.10.10.180
should show you available shares (example /home)
2024-02-10 22:40:18 +00:00
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
2021-08-12 12:55:42 +00:00
2024-02-10 22:40:18 +00:00
https://book.hacktricks.xyz/pentesting/nfs-service-pentesting
2021-08-12 12:55:42 +00:00
2021-08-15 17:39:13 +00:00
Entry_2:
2024-02-10 22:40:18 +00:00
Name: Nmap
Description: Nmap with NFS Scripts
Command: nmap --script=nfs-ls.nse,nfs-showmount.nse,nfs-statfs.nse -p 2049 {IP}
2021-08-12 12:55:42 +00:00
```
2022-04-28 16:01:33 +00:00
<details>
2024-02-10 22:40:18 +00:00
<summary><strong>Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
2022-04-28 16:01:33 +00:00
2024-02-10 22:40:18 +00:00
* Εργάζεστε σε μια **εταιρεία κυβερνοασφάλειας**; Θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks**; Ή θέλετε να έχετε πρόσβαση στην **τελευταία έκδοση του PEASS ή να κατεβάσετε το HackTricks σε μορφή PDF**; Ελέγξτε τα [**ΠΑΚΕΤΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
* Ανακαλύψτε την [**Οικογένεια PEASS**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
* **Συμμετάσχετε** στην [**💬**](https://emojipedia.org/speech-balloon/) [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στην [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** με στο **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στο [αποθετήριο hacktricks](https://github.com/carlospolop/hacktricks) και [αποθετήριο hacktricks-cloud](https://github.com/carlospolop/hacktricks-cloud)**.
2022-04-28 16:01:33 +00:00
</details>