SNMP RCE
SNMP RCE
Το SNMP μπορεί να εκμεταλλευτεί από έναν επιτιθέμενο αν ο διαχειριστής παραβλέψει την προεπιλεγμένη ρύθμιση του στη συσκευή ή τον διακομιστή. Με την κατάχρηση της κοινότητας SNMP με δικαιώματα εγγραφής (rwcommunity) σε ένα λειτουργικό σύστημα Linux, ο επιτιθέμενος μπορεί να εκτελέσει εντολές στον διακομιστή.
Επέκταση Υπηρεσιών με Πρόσθετες Εντολές
Για να επεκταθούν οι υπηρεσίες SNMP και να προστεθούν επιπλέον εντολές, είναι δυνατόν να προστεθούν νέες γραμμές στον πίνακα "nsExtendObjects". Αυτό μπορεί να επιτευχθεί χρησιμοποιώντας την εντολή snmpset
και παρέχοντας τις απαραίτητες παραμέτρους, συμπεριλαμβανομένης της απόλυτης διαδρομής προς το εκτελέσιμο και την εντολή που θα εκτελεστεί:
Εισαγωγή Εντολών για Εκτέλεση
Η εισαγωγή εντολών για εκτέλεση στην υπηρεσία SNMP απαιτεί την ύπαρξη και εκτελεσιμότητα του καλούμενου δυαδικού/σεναρίου. Το NET-SNMP-EXTEND-MIB
απαιτεί την παροχή της απόλυτης διαδρομής προς το εκτελέσιμο.
Για να επιβεβαιωθεί η εκτέλεση της εισαγόμενης εντολής, μπορεί να χρησιμοποιηθεί η εντολή snmpwalk
για την καταμέτρηση της υπηρεσίας SNMP. Η έξοδος θα εμφανίσει την εντολή και τις σχετικές λεπτομέρειες της, συμπεριλαμβανομένης της απόλυτης διαδρομής:
Running the Injected Commands
Όταν η εισαγμένη εντολή διαβαστεί, εκτελείται. Αυτή η συμπεριφορά είναι γνωστή ως run-on-read()
Η εκτέλεση της εντολής μπορεί να παρατηρηθεί κατά τη διάρκεια της ανάγνωσης snmpwalk.
Gaining Server Shell with SNMP
Για να αποκτήσετε έλεγχο πάνω στον διακομιστή και να αποκτήσετε ένα server shell, μπορείτε να χρησιμοποιήσετε ένα σενάριο python που έχει αναπτυχθεί από τον mxrch από https://github.com/mxrch/snmp-shell.git.
Εναλλακτικά, μπορείτε να δημιουργήσετε χειροκίνητα ένα reverse shell εισάγοντας μια συγκεκριμένη εντολή στο SNMP. Αυτή η εντολή, που ενεργοποιείται από το snmpwalk, δημιουργεί μια σύνδεση reverse shell με τη μηχανή του επιτιθέμενου, επιτρέποντας τον έλεγχο της μηχανής του θύματος. Μπορείτε να εγκαταστήσετε τις προϋποθέσεις για να το εκτελέσετε:
Ή μια αντίστροφη θήκη:
Αναφορές
Last updated