新たなゼロデイ攻撃に つながる設定ミス

「インターネット上で自社のアセットがいくつエクスポーズされているのか、企業は知っているのだろうか?」といつも自問しています。

しかしその答は不明なままです。最も優れた IPS & EDR システムでもネットワーク上で発生しているすべてのアクティビティを監視できないからです。特に外部のインターネットに接続されていないネットワークの場合、最終的には多くのアセットが日常的に監視されておらず、脆弱性が高い可能性があります。

 

今回紹介するのは設定ミスの連鎖に関する事例です。これにより、最終的には全社的に機密保護、完全性、可用性への影響が発生する可能性があります。調査段階でOSINT を行っていると(Redacted.com)、ほぼすべてのエンドポイントでWAF に遭遇しました。そのため、会社に接続されているパブリックオープンソース上にあるIP をすぐにチェックしました。そしてそれらすべてに何らかの保護策がとられていることを確認するためのテストを行いました。

 

1:不正なコンフルエンスアクセス

しばらくすると、SSL証明書で会社に接続しているいくつかの IP があることが判明しました。驚いたことに、これは Confluenceページだったため、この IP アクセス方法が大きな被害をもたらしていました。ドメイン名にアクセスすると 403 Forbidden が発生し、 SSO に転送されますが、 IP に直接アクセスするとコンフルエンスダッシュボード全体が開示されてしまいます。これは重大な問題です。内部ファイル、設定、クラウド環境、テスト文書などが確認できました。

 

そしてさらに興味深いことがわかりました。

 

2: LFI 。同じコンフルエンスインスタンスには https://ip/jolokia/ のようなパスに Jolokia フレームワークがインストールされていました。この Jolokia インスタンスに既知の脆弱性が存在しないか、パッチ適用漏れのものがないかを調べるため、テストを開始しました。驚いたことにこのJolokia インスタンスは LFI に対する脆弱性があり、サーバーからファイルを読むことができたのです。すべての設定ファイル、ディレクトリ、/etc/passwd & /etc/hosts なども読めました。

 

POC: curl -k -v"https://redacted.com/jolokia/exec/com.sun.management:type=DiagnosticCommand/compilerDirectivesAdd/\!/etc\!/passwd"

 

サーバーにファイルを書き込めるとしたらどうなるのか、についても調べました。そして、それが可能なら最終的にリモートコード実行へとエスカレーションが可能なのでしょうか?

 

攻撃者がパスワードを入手しても、ターゲットサービスを提供しているポート(たとえば 3306 MYSQL )がパブリックアクセス可能な状態だとは限りません。したがってさらに詳しく調べてみることにしました。

 

3: RCE へのファイル書き込み。

さらに深く掘り下げると、以下の記事を見付けました。 https://thinkloveshare.com/hacking/ssrf_to_rce_with_jolokia_and_mbeans/
これに基づき、特定のログ書き込み機能がエンドポイント上に存在するかどうかのテストを行いました。
その結果、 JolokiaDiagnostic Command/vmLog/output が不正な攻撃に使用できることがわかりました。これによって攻撃者はファイルへの上書きが可能になります。

そこで以下のコマンドを使ってサーバーにファイルを書き込みました。

- curl -i -k -v

https://redacted/jolokia/exec/com.sun.management:type=DiagnosticCommand/vmLog/output=!/opt!/j2ee!/ext.net.redactted.com!/test.jsp

 

次に以下のコマンドを使ってファイルログを閉じました。

-curl-i -k - v

https://redacted/jolokia/exec/com.sun.management:type=DiagnosticCommand/vmLog/disable

 

最後のステップとして LFI のチェーニングを行い、サーバー上で生成した悪意のある PHP コードを任意のログファイルから実行させたところ、最終的に完全に機能するリバースシェルを入手することができたのです。

 

つまり設定ミスは、新たな脆弱性とも言えるのです。

フィッシングもソーシャルエンジニアリングも不要です。ごくわずかなミスを、別のミスと連鎖させることで、長く検出されないような未知の被害を発生させることができる可能性があります。

 

 

ULTRA、エディ・ザルツマン(Eddie Zaltsman