# 137,138,139 - Pentesting NetBios {{#include ../banners/hacktricks-training.md}} ## NetBios Name Service **Η Υπηρεσία Ονομάτων NetBIOS** παίζει κρίσιμο ρόλο, περιλαμβάνοντας διάφορες υπηρεσίες όπως **καταχώριση και επίλυση ονομάτων**, **διανομή datagram**, και **υπηρεσίες συνεδρίας**, χρησιμοποιώντας συγκεκριμένες θύρες για κάθε υπηρεσία. [Από την Wikidepia](https://en.wikipedia.org/wiki/NetBIOS_over_TCP/IP): - Υπηρεσία ονομάτων για καταχώριση και επίλυση ονομάτων (θύρες: 137/udp και 137/tcp). - Υπηρεσία διανομής datagram για επικοινωνία χωρίς σύνδεση (θύρα: 138/udp). - Υπηρεσία συνεδρίας για επικοινωνία με σύνδεση (θύρα: 139/tcp). ### Υπηρεσία Ονομάτων Για να συμμετάσχει μια συσκευή σε ένα δίκτυο NetBIOS, πρέπει να έχει ένα μοναδικό όνομα. Αυτό επιτυγχάνεται μέσω μιας **διαδικασίας εκπομπής** όπου αποστέλλεται ένα πακέτο "Ερώτησης Ονόματος". Εάν δεν ληφθούν αντιρρήσεις, το όνομα θεωρείται διαθέσιμο. Εναλλακτικά, μπορεί να γίνει άμεση ερώτηση σε έναν **διακομιστή Υπηρεσίας Ονομάτων** για να ελεγχθεί η διαθεσιμότητα ονόματος ή να επιλυθεί ένα όνομα σε διεύθυνση IP. Εργαλεία όπως το `nmblookup`, `nbtscan`, και `nmap` χρησιμοποιούνται για την καταμέτρηση υπηρεσιών NetBIOS, αποκαλύπτοντας ονόματα διακομιστών και διευθύνσεις MAC. ```bash PORT STATE SERVICE VERSION 137/udp open netbios-ns Samba nmbd netbios-ns (workgroup: WORKGROUP) ``` Καταμετρώντας μια υπηρεσία NetBIOS μπορείτε να αποκτήσετε τα ονόματα που χρησιμοποιεί ο διακομιστής και τη διεύθυνση MAC του διακομιστή. ```bash nmblookup -A nbtscan /30 sudo nmap -sU -sV -T4 --script nbstat.nse -p137 -Pn -n ``` ### Υπηρεσία Κατανομής Datagram Τα datagrams NetBIOS επιτρέπουν τη σύνδεση χωρίς επικοινωνία μέσω UDP, υποστηρίζοντας άμεσες μηνύματα ή μετάδοση σε όλα τα ονόματα δικτύου. Αυτή η υπηρεσία χρησιμοποιεί την θύρα **138/udp**. ```bash PORT STATE SERVICE VERSION 138/udp open|filtered netbios-dgm ``` ### Session Service Για συνδεδεμένες αλληλεπιδράσεις, η **Session Service** διευκολύνει μια συνομιλία μεταξύ δύο συσκευών, εκμεταλλευόμενη τις **TCP** συνδέσεις μέσω της θύρας **139/tcp**. Μια συνεδρία ξεκινά με ένα πακέτο "Session Request" και μπορεί να καθοριστεί με βάση την απάντηση. Η υπηρεσία υποστηρίζει μεγαλύτερα μηνύματα, ανίχνευση σφαλμάτων και αποκατάσταση, με την TCP να διαχειρίζεται τον έλεγχο ροής και την επαναμετάδοση πακέτων. Η μετάδοση δεδομένων εντός μιας συνεδρίας περιλαμβάνει **Session Message packets**, με τις συνεδρίες να τερματίζονται κλείνοντας τη σύνδεση TCP. Αυτές οι υπηρεσίες είναι αναπόσπαστο μέρος της λειτουργικότητας **NetBIOS**, επιτρέποντας αποδοτική επικοινωνία και κοινή χρήση πόρων σε ένα δίκτυο. Για περισσότερες πληροφορίες σχετικά με τα πρωτόκολλα TCP και IP, ανατρέξτε στις αντίστοιχες σελίδες [TCP Wikipedia](https://en.wikipedia.org/wiki/Transmission_Control_Protocol) και [IP Wikipedia](https://en.wikipedia.org/wiki/Internet_Protocol). ```bash PORT STATE SERVICE VERSION 139/tcp open netbios-ssn Microsoft Windows netbios-ssn ``` **Διαβάστε την επόμενη σελίδα για να μάθετε πώς να καταμετρήσετε αυτή την υπηρεσία:** {{#ref}} 137-138-139-pentesting-netbios.md {{#endref}} ## HackTricks Αυτόματες Εντολές ``` Protocol_Name: Netbios #Protocol Abbreviation if there is one. Port_Number: 137,138,139 #Comma separated if there is more than one. Protocol_Description: Netbios #Protocol Abbreviation Spelled out Entry_1: Name: Notes Description: Notes for NetBios Note: | Name service for name registration and resolution (ports: 137/udp and 137/tcp). Datagram distribution service for connectionless communication (port: 138/udp). Session service for connection-oriented communication (port: 139/tcp). For a device to participate in a NetBIOS network, it must have a unique name. This is achieved through a broadcast process where a "Name Query" packet is sent. If no objections are received, the name is considered available. Alternatively, a Name Service server can be queried directly to check for name availability or to resolve a name to an IP address. https://book.hacktricks.wiki/en/network-services-pentesting/137-138-139-pentesting-netbios.html Entry_2: Name: Find Names Description: Three scans to find the names of the server Command: nmblookup -A {IP} &&&& nbtscan {IP}/30 &&&& nmap -sU -sV -T4 --script nbstat.nse -p 137 -Pn -n {IP} ``` {{#include ../banners/hacktricks-training.md}}