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.
**SNMP - Απλό Πρωτόκολλο Διαχείρισης Δικτύου** είναι ένα πρωτόκολλο που χρησιμοποιείται για την παρακολούθηση διαφόρων συσκευών στο δίκτυο (όπως δρομολογητές, διακόπτες, εκτυπωτές, IoTs...).
Το SNMP χρησιμοποιεί επίσης την θύρα **162/UDP**για**traps**. Αυτά είναι δεδομένα **πακέτα που αποστέλλονται από τον διακομιστή SNMP στον πελάτη χωρίς να ζητηθούν ρητά**.
Για να διασφαλιστεί ότι η πρόσβαση SNMP λειτουργεί σε διάφορους κατασκευαστές και με διαφορετικούς συνδυασμούς πελάτη-διακομιστή, δημιουργήθηκε η **Βάση Πληροφοριών Διαχείρισης (MIB)**. Η MIB είναι μια **ανεξάρτητη μορφή αποθήκευσης πληροφοριών συσκευών**. Μια MIB είναι ένα **αρχείο κειμένου** στο οποίο αναφέρονται όλα τα ερωτήσιμα **αντικείμενα SNMP** μιας συσκευής σε μια **τυποποιημένη** ιεραρχία δέντρου. Περιέχει τουλάχιστον ένα `Object Identifier` (`OID`), το οποίο, εκτός από τη **μοναδική διεύθυνση** και ένα **όνομα**, παρέχει επίσης πληροφορίες σχετικά με τον τύπο, τα δικαιώματα πρόσβασης και μια περιγραφή του αντίστοιχου αντικειμένου.\
Τα αρχεία MIB γράφονται σε μορφή ASCII κειμένου `Abstract Syntax Notation One` (`ASN.1`). Οι**MIBs δεν περιέχουν δεδομένα**, αλλά εξηγούν **πού να βρείτε ποιες πληροφορίες** και πώς φαίνονται, ποιες τιμές επιστρέφουν για το συγκεκριμένο OID ή ποιος τύπος δεδομένων χρησιμοποιείται.
Τα υψηλότερα επίπεδα των αναγνωριστών αντικειμένων MIB, ή OIDs, έχουν κατανεμηθεί σε διάφορους οργανισμούς τυποποίησης. Είναι σε αυτά τα κορυφαία επίπεδα που καθορίζεται το πλαίσιο για τις παγκόσμιες πρακτικές και τα πρότυπα διαχείρισης.
Επιπλέον, οι προμηθευτές έχουν την ελευθερία να δημιουργούν ιδιωτικούς κλάδους. Μέσα σε αυτούς τους κλάδους, έχουν την **αυτονομία να περιλαμβάνουν διαχειριζόμενα αντικείμενα που σχετίζονται με τις δικές τους γραμμές προϊόντων**. Αυτό το σύστημα διασφαλίζει ότι υπάρχει μια δομημένη και οργανωμένη μέθοδος για την αναγνώριση και τη διαχείριση μιας ευρείας γκάμας αντικειμένων σε διάφορους προμηθευτές και πρότυπα.
Μπορείτε να**πλοηγηθείτε** σε ένα **δέντρο OID** από τον ιστό εδώ: [http://www.oid-info.com/cgi-bin/display?tree=#focus](http://www.oid-info.com/cgi-bin/display?tree=#focus) ή να**δείτε τι σημαίνει ένα OID** (όπως το `1.3.6.1.2.1.1`) επισκεπτόμενοι [http://oid-info.com/get/1.3.6.1.2.1.1](http://oid-info.com/get/1.3.6.1.2.1.1).\
Υπάρχουν μερικά **καλά γνωστά OIDs** όπως αυτά μέσα στο [1.3.6.1.2.1](http://oid-info.com/get/1.3.6.1.2.1) που αναφέρονται σε μεταβλητές του Πρωτοκόλλου Απλής Διαχείρισης Δικτύου (SNMP) που ορίζονται από το MIB-2. Και από τα **OIDs που εκκρεμούν από αυτό** μπορείτε να αποκτήσετε μερικά ενδιαφέροντα δεδομένα φιλοξενίας (δεδομένα συστήματος, δεδομένα δικτύου, δεδομένα διαδικασιών...)
Αυτές οι πρώτες έξι τιμές τείνουν να είναι οι ίδιες για όλες τις συσκευές και σας δίνουν τις βασικές πληροφορίες γι' αυτές. Αυτή η ακολουθία αριθμών θα είναι η ίδια για όλους τους OIDs, εκτός αν η συσκευή κατασκευάζεται από την κυβέρνηση.
* **SNMPv1**: Η κύρια, είναι ακόμα η πιο συχνή, η **αυθεντικοποίηση βασίζεται σε μια συμβολοσειρά** (community string) που ταξιδεύει σε **καθαρό κείμενο** (όλες οι πληροφορίες ταξιδεύουν σε καθαρό κείμενο). Οι**Εκδόσεις 2 και 2c** στέλνουν επίσης την **κίνηση σε καθαρό κείμενο** και χρησιμοποιούν μια **συμβολοσειρά κοινότητας ως αυθεντικοποίηση**.
* **SNMPv3**: Χρησιμοποιεί μια καλύτερη μορφή **αυθεντικοποίησης** και οι πληροφορίες ταξιδεύουν **κρυπτογραφημένες** (μπορεί να εκτελεστεί **επίθεση λεξικού**, αλλά θα ήταν πολύ πιο δύσκολο να βρείτε τα σωστά διαπιστευτήρια από ότι στο SNMPv1 και v2).
Όπως αναφέρθηκε προηγουμένως, **γιανα αποκτήσετε πρόσβαση στις πληροφορίες που αποθηκεύονται στη MIB πρέπει να γνωρίζετε τη συμβολοσειρά κοινότητας στις εκδόσεις 1 και 2/2c και τα διαπιστευτήρια στην έκδοση 3.**\
Υπάρχουν **2 τύποι συμβολοσειρών κοινότητας**:
* **`public`** κυρίως **λειτουργίες μόνο για ανάγνωση**
Σημειώστε ότι **η δυνατότητα εγγραφής ενός OID εξαρτάται από τη συμβολοσειρά κοινότητας που χρησιμοποιείται**, οπότε **ακόμα** και αν βρείτε ότι χρησιμοποιείται το "**public**", θα μπορούσατε να είστε σε θέση να**γράψετε κάποιες τιμές.** Επίσης, μπορεί να υπάρχουν αντικείμενα που είναι **πάντα "Μόνο για Ανάγνωση".**\
Αν προσπαθήσετε να**γράψετε** ένα αντικείμενο, θα λάβετε ένα σφάλμα **`noSuchName` ή `readOnly`**.\*\*.\*\*
Στις εκδόσεις 1 και 2/2c, αν χρησιμοποιήσετε μια **κακή** συμβολοσειρά κοινότητας, ο διακομιστής δεν θα **απαντήσει**. Έτσι, αν απαντήσει, χρησιμοποιήθηκε μια **έγκυρη συμβολοσειρά κοινότητας**.
## Θύρες
[Από τη Wikipedia](https://en.wikipedia.org/wiki/Simple\_Network\_Management\_Protocol):
*Ο πράκτορας SNMP λαμβάνει αιτήματα στην UDP θύρα **161**.
*Ο διαχειριστής λαμβάνει ειδοποιήσεις ([Traps](https://en.wikipedia.org/wiki/Simple\_Network\_Management\_Protocol#Trap) και [InformRequests](https://en.wikipedia.org/wiki/Simple\_Network\_Management\_Protocol#InformRequest)) στην θύρα **162**.
* Όταν χρησιμοποιείται με [Transport Layer Security](https://en.wikipedia.org/wiki/Transport\_Layer\_Security) ή [Datagram Transport Layer Security](https://en.wikipedia.org/wiki/Datagram\_Transport\_Layer\_Security), τα αιτήματα λαμβάνονται στην θύρα **10161** και οι ειδοποιήσεις αποστέλλονται στην θύρα **10162**.
## Brute-Force Συμβολοσειρά Κοινότητας (v1 και v2c)
Για να**μαντέψετε τη συμβολοσειρά κοινότητας** μπορείτε να εκτελέσετε μια επίθεση λεξικού. Δείτε [εδώ διάφορους τρόπους γιανα εκτελέσετε μια επίθεση brute-force κατά του SNMP](../../generic-methodologies-and-resources/brute-force.md#snmp). Μια συχνά χρησιμοποιούμενη συμβολοσειρά κοινότητας είναι το `public`.
Ευχαριστώ στις επεκταμένες ερωτήσεις (download-mibs), είναι δυνατή η καταμέτρηση ακόμη περισσότερων πληροφοριών σχετικά με το σύστημα με την ακόλουθη εντολή :
**SNMP** έχει πολλές πληροφορίες σχετικά με τον υπολογιστή και πράγματα που μπορεί να βρείτε ενδιαφέροντα είναι: **Διασυνδέσεις δικτύου** (διεύθυνση **IPv4** και **IPv6**), Ονόματα χρηστών, Χρόνος λειτουργίας, Έκδοση διακομιστή/λειτουργικού συστήματος, και **διεργασίες**
1.**`rwuser noauth`** έχει ρυθμιστεί γιανα επιτρέπει πλήρη πρόσβαση στο δέντρο OID χωρίς την ανάγκη αυθεντικοποίησης. Αυτή η ρύθμιση είναι απλή και επιτρέπει απεριόριστη πρόσβαση.
2. Για πιο συγκεκριμένο έλεγχο, η πρόσβαση μπορεί να παραχωρηθεί χρησιμοποιώντας:
* **TCP Τοπικές Θύρες**: Τέλος, το `1.3.6.1.2.1.6.13.1.3` έχει οριστεί για την παρακολούθηση των τοπικών θυρών TCP, παρέχοντας πληροφορίες σχετικά με τις ενεργές συνδέσεις δικτύου.
Αν έχετε την **κοινότητα string** που σας επιτρέπει να**γράφετε τιμές** μέσα στην υπηρεσία SNMP, μπορεί να είστε σε θέση να την εκμεταλλευτείτε γιανα**εκτελέσετε εντολές**:
[Braa ](https://github.com/mteg/braa) είναι ένας μαζικός σαρωτής SNMP. Η προοριζόμενη χρήση ενός τέτοιου εργαλείου είναι, φυσικά, η εκτέλεση ερωτημάτων SNMP – αλλά σε αντίθεση με το snmpwalk από το net-snmp, είναι ικανό να ερωτά δεκάδες ή εκατοντάδες υπολογιστές ταυτόχρονα, και σε μία μόνο διαδικασία. Έτσι, καταναλώνει πολύ λίγους πόρους συστήματος και εκτελεί τη σάρωση ΠΟΛΥ γρήγορα.
Αυτό μπορεί να εξάγει πολλά MB πληροφοριών που δεν μπορείτε να επεξεργαστείτε χειροκίνητα.
Έτσι, ας αναζητήσουμε τις πιο ενδιαφέρουσες πληροφορίες (από [https://blog.rapid7.com/2016/05/05/snmp-data-harvesting-during-penetration-testing/](https://blog.rapid7.com/2016/05/05/snmp-data-harvesting-during-penetration-testing/)):
Η διαδικασία ξεκινά με την εξαγωγή των **sysDesc MIB δεδομένων** (1.3.6.1.2.1.1.1.0) από κάθε αρχείο γιανα προσδιορίσουμε τις συσκευές. Αυτό επιτυγχάνεται μέσω της χρήσης μιας **εντολής grep**:
Ένα κρίσιμο βήμα περιλαμβάνει τον εντοπισμό της **ιδιωτικής συμβολοσειράς κοινότητας** που χρησιμοποιούν οι οργανισμοί, ιδιαίτερα σε δρομολογητές Cisco IOS. Αυτή η συμβολοσειρά επιτρέπει την εξαγωγή των **τρέχουσων ρυθμίσεων** από τους δρομολογητές. Ο εντοπισμός συχνά βασίζεται στην ανάλυση των δεδομένων SNMP Trap για τη λέξη "trap" με μια **εντολή grep**:
Τα αρχεία καταγραφής που αποθηκεύονται μέσα στους πίνακες MIB εξετάζονται για**αποτυχημένες προσπάθειες σύνδεσης**, οι οποίες μπορεί τυχαία να περιλαμβάνουν κωδικούς πρόσβασης που εισάγονται ως ονόματα χρηστών. Λέξεις-κλειδιά όπως _fail_, _failed_, ή _login_ αναζητούνται γιανα βρεθούν πολύτιμα δεδομένα:
Τέλος, γιανα εξαγάγουμε **διευθύνσεις email** από τα δεδομένα, χρησιμοποιείται μια **εντολή grep** με μια κανονική έκφραση, εστιάζοντας σε μοτίβα που ταιριάζουν με τις μορφές email:
Μπορείτε να χρησιμοποιήσετε _**NetScanTools**_γιανα**τροποποιήσετε τιμές**. Θα χρειαστεί να γνωρίζετε την **ιδιωτική συμβολοσειρά**γιανα το κάνετε αυτό.
Αν υπάρχει μια ACL που επιτρέπει μόνο σε ορισμένες διευθύνσεις IP να ερωτούν την υπηρεσία SMNP, μπορείτε να spoofάρετε μία από αυτές τις διευθύνσεις μέσα στο πακέτο UDP και να καταγράψετε την κίνηση.
Μάθετε & εξασκηθείτε στο 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)**.**