
Dell OMSA に「管理」される偽のホストで、ログイン画面を突破できます。
Dell OMSAによって「管理」できる偽ホスト。ログイン画面を通過させてくれ、ファジングやその他のテストの出発点としても機能する可能性があります。
DellのOpenManage Server Administratorにおける潜在的な脆弱性¹を調査している間、私は次の2つの点に興味を持ちました:
管理者資格情報を持つDellサーバーを持ち歩かなくて済むこと。そうすれば、ログイン画面¹を通過するだけでよい脆弱性を簡単に利用できるからです。そして
私が制御する「偽の」サーバー(管理ノード)が、OMSAのリクエストに対して予期しない悪意のある方法で応答することによって、新しい脆弱性が生じるかどうかを確認すること。
¹例えば、https://www.exploit-db.com/exploits/39486/ や少なくとも1つのXXEなど
OMSAからのリクエストをリッスンし、望みどおりに応答することを目的とした、非常に即席で粗雑な Javaコードです。これを最初に書いたとき、ログインプロセス中に行われる2つのリクエストにのみ応答がありましたが、OMSAインスタンスに「真の」³管理者として入り込む²には十分でした。他の種類のリクエストを対象にしたい場合は、アプリケーションを調べ回り、OMSAが送信するPOSTデータを確認し、何が返されることを期待しているかを把握し、任意の応答を組み立てて、そのロジックをこのコードに組み込んでください。
²ログインに成功した直後、OMSAは他のリクエストの殺到を引き起こすスタートページにリダイレクトします。ブラウザを止めたほうがよいでしょう。OMSAはエラーに遭遇するとログイン画面にリダイレクトしがちで、このコードが後続のリクエストに対応するように変更されておらず、適切な方法で応答しない場合も同様にリダイレクトされるからです。
³どうやら2つの別々の権利セットがあり、どのコードをいじっているかによって、使用されるセットが異なる場合があります。各セットで使用されるビットは3つのみのようで、7(4 + 2 + 1)が各セットの最大権限を表します。一方のセットは32ビット整数の上位16ビットを占め、もう一方のセットは下位16ビットを占めます。最終的に、偽の管理ノードは 7 + (7 << 16) で応答します。OMSAがユーザー権限に基づいて特定のリソースへのアクセスを制限しているかどうかをテストしたい場合は、この値を変更するとよいでしょう。
2016年5月31日時点で、XXEを悪用するための応答も追加されています。OMSAは悪意のある外見のURLリクエストをフィルタリングしようとしますが、管理対象ノードから受け取ったデータについてはそれほど過敏ではないようです。
これは、Dellサーバーやその他のサーバーの管理を支援することを意図したものではまったくありません。Dellの独自ノウハウをすべて再実装することも可能ですが、それはこのコードの意図からはかけ離れています。このコードとは異なり、Dellが設計したクエリに対してDellの動作を忠実に再現しようとする場合は、Oracle v Google ( https://www.eff.org/cases/oracle-v-google ) やその他の法的問題が適用される可能性があるため、弁護士に相談したほうがよいかもしれません。
最終目標は、fakedell.XMLResponder サーブレットに https://[yourIP]:5986/wsman でアクセスできるようにすることです。
古いバージョンのOMSAでのさらなるテストでは、このサーブレットに https://[yourIP]:443/wsman でもアクセスできるようにすることも推奨されています。
サーバーは自己署名証明書を使用する必要があります。OMSAにログインする際は、管理するリモートホストとして自分のIPを指定し、証明書の警告を無視することを選択してください。
ここにある web.xml はルートアプリケーションであることを前提としており、サーブレットを /wsman にマッピングします。お使いの構成に合わせて調整が必要な場合があります。
Javaサーバーまたは他のツールで、すべての入出力トラフィックをログに記録するようにしてもよいでしょう。たとえば、Tomcatをポート8080でリッスンさせ、stunnelをポート5986でリッスンさせ、Wiresharkを使用してループバックデバイス上のポート8080のトラフィックをすべてキャプチャしていました。
楽しんでください〜
代替ライセンスの有力な根拠があれば、ご一報ください。話し合いましょう。 (正直なところ、これはちっぽけなPoCであり、何よりもスケルトンフレームなので、おそらく簡単に再現できるでしょう。)
それ以外の場合は、
FakeDellOM
Copyright (C) 2016 Harrison Neal, [email protected]
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.