Learn & practice AWS Hacking:<imgsrc="/.gitbook/assets/arte.png"alt=""data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<imgsrc="/.gitbook/assets/arte.png"alt=""data-size="line">\
Learn & practice GCP Hacking: <imgsrc="/.gitbook/assets/grte.png"alt=""data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<imgsrc="/.gitbook/assets/grte.png"alt=""data-size="line">](https://training.hacktricks.xyz/courses/grte)
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
Το_**Network Basic Input Output System**_** (NetBIOS)** είναι ένα λογισμικό πρωτόκολλο σχεδιασμένο γιανα επιτρέπει στις εφαρμογές, τους υπολογιστές και τους επιτραπέζιους υπολογιστές εντός ενός τοπικού δικτύου (LAN) να αλληλεπιδρούν με το υλικό του δικτύου και **να διευκολύνουν τη μετάδοση δεδομένων μέσω του δικτύου**. Η αναγνώριση και η τοποθεσία των λογισμικών εφαρμογών που λειτουργούν σε ένα δίκτυο NetBIOS επιτυγχάνονται μέσω των ονομάτων NetBIOS τους, τα οποία μπορούν να είναι έως 16 χαρακτήρες σε μήκος και συχνά διαφέρουν από το όνομα του υπολογιστή. Μια συνεδρία NetBIOS μεταξύ δύο εφαρμογών ξεκινά όταν μία εφαρμογή (που λειτουργεί ως πελάτης) εκδίδει μια εντολή γιανα "καλέσει" μια άλλη εφαρμογή (που λειτουργεί ως διακομιστής) χρησιμοποιώντας **TCP Port 139**.
Τεχνικά, η Θύρα 139 αναφέρεται ως ‘NBT over IP’, ενώ η Θύρα 445 αναγνωρίζεται ως ‘SMB over IP’. Το ακρωνύμιο **SMB** σημαίνει ‘**Server Message Blocks**’, το οποίο είναι επίσης σύγχρονα γνωστό ως το **Common Internet File System (CIFS)**. Ως πρωτόκολλο δικτύου επιπέδου εφαρμογής, το SMB/CIFS χρησιμοποιείται κυρίως γιανα επιτρέπει κοινή πρόσβαση σε αρχεία, εκτυπωτές, σειριακές θύρες και να διευκολύνει διάφορες μορφές επικοινωνίας μεταξύ κόμβων σε ένα δίκτυο.
Για παράδειγμα, στο πλαίσιο των Windows, τονίζεται ότι το SMB μπορεί να λειτουργεί απευθείας πάνω από TCP/IP, εξαλείφοντας την ανάγκη για NetBIOS πάνω από TCP/IP, μέσω της χρήσης της θύρας 445. Αντίθετα, σε διάφορα συστήματα, παρατηρείται η χρήση της θύρας 139, υποδεικνύοντας ότι το SMB εκτελείται σε συνδυασμό με το NetBIOS πάνω από TCP/IP.
Το**Server Message Block (SMB)** πρωτόκολλο, που λειτουργεί σε ένα **client-server** μοντέλο, έχει σχεδιαστεί γιανα ρυθμίζει την **πρόσβαση σε αρχεία**, καταλόγους και άλλους πόρους δικτύου όπως εκτυπωτές και δρομολογητές. Χρησιμοποιείται κυρίως μέσα στη σειρά λειτουργικών συστημάτων **Windows**, το SMB διασφαλίζει την οπισθοδρομική συμβατότητα, επιτρέποντας στις συσκευές με νεότερες εκδόσεις του λειτουργικού συστήματος της Microsoft να αλληλεπιδρούν ομαλά με αυτές που εκτελούν παλαιότερες εκδόσεις. Επιπλέον, το έργο **Samba** προσφέρει μια δωρεάν λύση λογισμικού, επιτρέποντας την υλοποίηση του SMB σε συστήματα **Linux** και Unix, διευκολύνοντας έτσι την επικοινωνία μεταξύ πλατφορμών μέσω του SMB.
Οι κοινές χρήσεις, που αντιπροσωπεύουν **τυχαία μέρη του τοπικού συστήματος αρχείων**, μπορούν να παρέχονται από έναν διακομιστή SMB, καθιστώντας τη ιεραρχία ορατή σε έναν πελάτη εν μέρει **ανεξάρτητη** από τη πραγματική δομή του διακομιστή. Οι**Access Control Lists (ACLs)**, που καθορίζουν τα **δικαιώματα πρόσβασης**, επιτρέπουν **λεπτομερή έλεγχο** πάνω στις άδειες χρηστών, συμπεριλαμβανομένων χαρακτηριστικών όπως **`execute`**, **`read`** και **`full access`**. Αυτές οι άδειες μπορούν να ανατεθούν σε μεμονωμένους χρήστες ή ομάδες, με βάση τις κοινές χρήσεις, και είναι διακριτές από τις τοπικές άδειες που έχουν οριστεί στον διακομιστή.
Η πρόσβαση στην κοινή χρήση IPC$ μπορεί να αποκτηθεί μέσω μιας ανώνυμης κενής συνεδρίας, επιτρέποντας την αλληλεπίδραση με υπηρεσίες που εκτίθενται μέσω ονομασμένων σωλήνων. Το εργαλείο `enum4linux` είναι χρήσιμο για αυτό το σκοπό. Χρησιμοποιούμενο σωστά, επιτρέπει την απόκτηση:
Αυτή η λειτουργικότητα είναι κρίσιμη για τους διαχειριστές δικτύου και τους επαγγελματίες ασφάλειας γιανα αξιολογήσουν τη θέση ασφάλειας των υπηρεσιών SMB (Server Message Block) σε ένα δίκτυο. Το`enum4linux` παρέχει μια ολοκληρωμένη εικόνα του περιβάλλοντος SMB του στοχευμένου συστήματος, που είναι απαραίτητη για την αναγνώριση πιθανών ευπαθειών και τη διασφάλιση ότι οι υπηρεσίες SMB είναι σωστά ασφαλισμένες.
Η παραπάνω εντολή είναι ένα παράδειγμα του πώς μπορεί να χρησιμοποιηθεί το `enum4linux`γιανα εκτελέσει πλήρη καταμέτρηση κατά ενός στόχου που καθορίζεται από το `target_ip`.
Αν δεν ξέρετε τι είναι το NTLM ή θέλετε να μάθετε πώς λειτουργεί και πώς να το εκμεταλλευτείτε, θα βρείτε πολύ ενδιαφέρον αυτή τη σελίδα σχετικά με το **NTLM** όπου εξηγείται **πώς λειτουργεί αυτό το πρωτόκολλο και πώς μπορείτε να το εκμεταλλευτείτε:**
Για να αναζητήσετε πιθανά exploits για την έκδοση SMB, είναι σημαντικό να γνωρίζετε ποια έκδοση χρησιμοποιείται. Εάν αυτή η πληροφορία δεν εμφανίζεται σε άλλα εργαλεία που χρησιμοποιούνται, μπορείτε να:
Είναι πάντα προτιμότερο να ελέγξετε αν μπορείτε να έχετε πρόσβαση σε οτιδήποτε, αν δεν έχετε διαπιστευτήρια δοκιμάστε να χρησιμοποιήσετε **null****credentials/guest user**.
Είναι πιθανό να είστε περιορισμένοι στην εμφάνιση οποιωνδήποτε κοινών πόρων της μηχανής-οικοδεσπότη και όταν προσπαθείτε να τους καταγράψετε, φαίνεται ότι δεν υπάρχουν κοινά για σύνδεση. Έτσι, μπορεί να αξίζει να προσπαθήσετε να συνδεθείτε χειροκίνητα σε έναν κοινό πόρο. Για να καταμετρήσετε τους κοινόχρηστους πόρους χειροκίνητα, μπορεί να θέλετε να αναζητήσετε απαντήσεις όπως NT\_STATUS\_ACCESS\_DENIED και NT\_STATUS\_BAD\_NETWORK\_NAME, όταν χρησιμοποιείτε μια έγκυρη συνεδρία (π.χ. null session ή έγκυρα διαπιστευτήρια). Αυτά μπορεί να υποδεικνύουν ανο κοινός πόρος υπάρχει και δεν έχετε πρόσβαση σε αυτόν ή ανο κοινός πόρος δεν υπάρχει καθόλου.
Ειδικά ενδιαφέρον από τις κοινές χρήσεις είναι τα αρχεία που ονομάζονται **`Registry.xml`** καθώς **μπορεί να περιέχουν κωδικούς πρόσβασης**για χρήστες που έχουν ρυθμιστεί με **autologon** μέσω Πολιτικής Ομάδας. Ή τα αρχεία **`web.config`** καθώς περιέχουν διαπιστευτήρια.
Η**κοινή χρήση SYSVOL** είναι **αναγνώσιμη** από όλους τους αυθεντικοποιημένους χρήστες στο τομέα. Εκεί μπορείτε να**βρείτε** πολλά διαφορετικά batch, VBScript και PowerShell **scripts**.\
Πρέπει να**ελέγξετε** τα **scripts** μέσα σε αυτό καθώς μπορεί να**βρείτε** ευαίσθητες πληροφορίες όπως **κωδικούς πρόσβασης**.
Μπορεί να είστε σε θέση να**διαβάσετε το μητρώο** χρησιμοποιώντας κάποια ανακαλυφθέντα διαπιστευτήρια. Το Impacket **`reg.py`** σας επιτρέπει να δοκιμάσετε:
crackmapexec μπορεί να εκτελέσει εντολές **καταχρώντας** οποιαδήποτε από τις **mmcexec, smbexec, atexec, wmiexec** με το **wmiexec**να είναι η **προεπιλεγμένη** μέθοδος. Μπορείτε να υποδείξετε ποια επιλογή προτιμάτε να χρησιμοποιήσετε με την παράμετρο `--exec-method`:
Καιοι δύο επιλογές θα **δημιουργήσουν μια νέα υπηρεσία** (χρησιμοποιώντας _\pipe\svcctl_ μέσω SMB) στη μηχανή του θύματος και θα τη χρησιμοποιήσουν γιανα**εκτελέσουν κάτι** (**psexec** θα **ανεβάσει** ένα εκτελέσιμο αρχείο στο ADMIN$ share και **smbexec** θα δείξει σε **cmd.exe/powershell.exe** και θα βάλει στα επιχειρήματα το payload --**file-less technique-**-).\
**Περισσότερες πληροφορίες** σχετικά με [**psexec** ](../windows-hardening/ntlm/psexec-and-winexec.md)και [**smbexec**](../windows-hardening/ntlm/smbexec.md).\
Αυτή η επίθεση χρησιμοποιεί το εργαλείο Responder γιανα**καταγράψει τις συνεδρίες αυθεντικοποίησης SMB** σε ένα εσωτερικό δίκτυο και να τις **μεταφέρει** σε μια **στόχο μηχανή**. Εάν η αυθεντικοποίηση **είναι επιτυχής**, θα σας ρίξει αυτόματα σε ένα **σύστημα****shell**.\
[**Περισσότερες πληροφορίες σχετικά με αυτή την επίθεση εδώ.**](../generic-methodologies-and-resources/pentesting-network/spoofing-llmnr-nbt-ns-mdns-dns-and-wpad-and-relay-attacks.md)
Η βιβλιοθήκη Windows URLMon.dll προσπαθεί αυτόματα να αυθεντικοποιηθεί στον υπολογιστή όταν μια σελίδα προσπαθεί να αποκτήσει πρόσβαση σε κάποιο περιεχόμενο μέσω SMB, για παράδειγμα: `img src="\\10.10.10.10\path\image.jpg"`
Παρόμοια με το SMB Trapping, η τοποθέτηση κακόβουλων αρχείων σε ένα σύστημα στόχο (μέσω SMB, για παράδειγμα) μπορεί να προκαλέσει μια προσπάθεια αυθεντικοποίησης SMB, επιτρέποντας την παγίδευση του hash NetNTLMv2 με ένα εργαλείο όπως το Responder. Το hash μπορεί στη συνέχεια να σπάσει εκτός σύνδεσης ή να χρησιμοποιηθεί σε μια [SMB relay attack](pentesting-smb.md#smb-relay-attack).
While Port 139 is known technically as ‘NBT over IP’, Port 445 is ‘SMB over IP’. SMB stands for ‘Server Message Blocks’. Server Message Block in modern language is also known as Common Internet File System. The system operates as an application-layer network protocol primarily used for offering shared access to files, printers, serial ports, and other sorts of communications between nodes on a network.
#These are the commands I run in order every time I see an open SMB port
With No Creds
nbtscan {IP}
smbmap -H {IP}
smbmap -H {IP} -u null -p null
smbmap -H {IP} -u guest
smbclient -N -L //{IP}
smbclient -N //{IP}/ --option="client min protocol"=LANMAN1
Μάθετε & εξασκηθείτε στο AWS Hacking:<imgsrc="/.gitbook/assets/arte.png"alt=""data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<imgsrc="/.gitbook/assets/arte.png"alt=""data-size="line">\
Μάθετε & εξασκηθείτε στο GCP Hacking: <imgsrc="/.gitbook/assets/grte.png"alt=""data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<imgsrc="/.gitbook/assets/grte.png"alt=""data-size="line">](https://training.hacktricks.xyz/courses/grte)
* Ελέγξτε τα [**σχέδια συνδρομής**](https://github.com/sponsors/carlospolop)!
* **Εγγραφείτε στην** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στην [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**