今回は久々に検証の記事になります。
以下のニュースで発表された脆弱性の検証を行います。
・オープンソースの業務ツール「Apache OFBiz」にRCE脆弱性
興味がある方は見ていってください。
なお、このブログを見に来る人は理解しているかもしれませんが、検証のためにやっていますので、悪用を促しているわけではありません。
実際に公開されているサイトに攻撃を行った場合、法的に問題になる可能性がありますので、ご認識ください。
Apache OFBizについて
私もこのオープンソースのソフトウェアについては知らなかったのですが、「ERPソフトウェア」とのことです。
サイトはこちら、Javaベースのソフトウェアかと思います。
日本語化プロジェクトもあるみたいですが、長いこと更新はされてないみたいですね。
ERP(Enterprise Resources Planning)は日本語で「企業資源計画」といいます。
組織が大きくなったり、取り扱う物、人、お金等が多種多様になった際にこういったシステムが必要になる気がします。
私自身は組織でこういったシステムを使用したことはありませんが、検査等はやったことがあります。
色々な機能があってWebアプリケーションとして診断する場合、対象数が増えて金額が高くなっちゃうんですよね。
また、一つ処理をすると、いろいろな場所にデータ反映されたりするので、ツールで診断しただけだと脆弱性の検知漏れやアクセス制御等のそもそもツールで検出が難しい問題もよくあったりと、比較的難易度の高い診断だったりします。
※個人的にはこういったサイトを診断するのは結構好きだったり
環境準備
では早速環境構築をしていきます。
今回は「17.12.06」が脆弱性修正バージョンということなので、その一つ前のバージョンである「17.12.05」で環境を構築していきますといいたいところなんですが、なぜか17系がうまく動かず、いろいろ探して16系の「16.11.03」で準備しました。
構築の際にはこちらを参考に構築しています。
Ubuntuのバージョン等が多少違いますが、問題なかったです。
まずはOSの準備ですが、SSHのインストールまでは別記事でやってますので、省略します。
まずはOpen JDKのインストールです。
$ sudo apt install openjdk-8-jdk #openjdkをインストールする
以下のとおり、「1.8.0_282」が入りました。
続けて、「Apache OFBiz」を持ってきます。
Apache OFBizのアーカイブに行くと以下のように一覧が出てきますので、当初の予定通り、「16.11.03」をwgetで取得します。
取得したらファイルは「.zip」になっていますので、unzipコマンドで展開します。
$ unzip apache-ofbiz-16.11.03.zip #ファイルを解凍
解凍したら、該当のディレクトを「/usr/local/apache-ofbiz」に移動します。
$ sudo mv apache-ofbiz-16.11.03/ /usr/local/apache-ofbiz #解凍したディレクトリをmvコマンドで移動
その後「/usr/local/apache-ofbiz」に移動して、以下のコマンドを実行します。
そうすることで、デフォルトのデータをロードできるらしいです。
$ ./gradlew cleanAll loadDefault #デフォルトのデータをロード
少し時間がかかりますが、成功すると「BUILD SUCCESSFUL」と表示されます。
後は今回の検証では必要なさそうですが、でもデータをロードできるようになるとのことなので、以下を実行しました。
※今後このソフトウェアの脆弱性を探す気になったら使うかもしれないので
$ ./gradlew "ofbiz --load-data readers=seed" $ ./gradlew "ofbiz --load-data readers=seed,seed-initial,ext" #デモ用データのロード
これで準備はOKです。以下のコマンドを実行するとソフトウェアが起動します。
$ sudo ./gradlew ofbiz #ソフトウェアの起動
起動したら「https://<IP address>:8443/ordermgr/control/main」にアクセスします。
以下のようにログイン画面が出れば環境構築完了です。
念のためログインも確認しておきます。
デフォルトだと「username: admin」、「password: ofbiz」とのことです。
ログインについても成功しました!
これで準備は完了です。
最後に
結構構築に時間がかかってしまいました。
情報が少なかったので、大変でした。
ERPについては製品しかないんだろーなと思っていたんですが、オープンソースでもあるんですね。
製品を入れようと思うとある程度まとまった金額が必要になる場合が多いですが、オンプレミスで無料で構築できるのであれば結構使えるんじゃないかなと思いました。
※使い勝手等は考慮していませんが・・・
ただ、自分たちでメンテナンス等を行う必要があるのでそのリソースの確保や今回のようなコマンド実行可能な脆弱性が出た場合の対応等を考えるとクラウドで提供されているものの利用も十分検討できるのかな~とか考えたりしています。
今回構築したバージョンについてはすでにコマンド実行まで確認はできてるので、次回の記事で記載します。
興味があれば次回の記事も見ていただけると幸いです。
コメント