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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2018-15133-PoC — 既知のAPP_KEYを使用した暗号化セッションの安全でないデシリアライゼーションを介して、脆弱なLaravelアプリケーションでリモートコード実行を達成するCVE-2018-15133用のPythonエクスプロイト。 | Kitploit
ツール/GitHubGitHub/loaxert/cve-2018-15133-poc
ペイロード生成脆弱性分析コード分析エクスプロイトウェブアプリケーション悪用ペネトレーションテスト
GitHubloaxert/cve-2018-15133-poc

CVE-2018-15133-PoC

既知のAPP_KEYを使用した暗号化セッションの安全でないデシリアライゼーションを介して、脆弱なLaravelアプリケーションでリモートコード実行を達成するCVE-2018-15133用のPythonエクスプロイト。

リポジトリを見る
49ヶ月前未レビュー

人気

すべて見る →

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

すべてのツールを探索

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

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

CVE-2018-15133-PoC

このPythonスクリプトは、安全でないデシリアライゼーションを利用した脆弱なLaravelアプリケーション向けのリモートコード実行(RCE)エクスプロイトを実装しています。これはCVE-2018-15133の脆弱性に基づいています。

このエクスプロイトは、Laravel(バージョン5.5.40以前、および5.6.0〜5.6.29)の脆弱性を悪用します。この脆弱性では、暗号化されたセッションが適切な検証なしに自動的にデシリアライズされます。攻撃者はLaravelのAPP_KEYにアクセスできれば、悪意のあるペイロードを暗号化し、サーバー上でデシリアライズされて実行されるようにできます。

Laravelセッションシステムの動作

Laravelはセッションに3つのコンポーネントを持つ対称暗号化メカニズムを使用します。

  • IV(初期化ベクトル): 各セッションに対して生成されるランダムな初期化ベクトル

  • Value(値): AES-128-CBCまたはAES-256-CBCを使用して暗号化された値

  • MAC: IV + value + APP_KEYに対して計算されるメッセージ認証コード(HMAC-SHA256)

プロセス:

  1. 入力として3つのパラメータを受け取る: base64のLaravel APP_KEY、実行するコマンド、対象ドメイン

  2. PHPGGCツールをLaravel/RCE5ガジェットチェーンとともに呼び出し、悪意のあるPHPオブジェクトチェーンを生成する

  3. 被害サーバー上で実行されるOSコマンドを構築する(例: system('whoami');)

  4. 連結されたガジェットを含むPHPシリアライズペイロードを生成する

  5. ペイロードをbase64からバイナリ形式にデコードする

  6. APP_KEYを処理し、存在すれば"base64:"プレフィックスを削除する

  7. キーが有効なbase64になるように必要なパディングを追加する

  8. キーをbase64からバイトにデコードする

  9. 16バイトのランダムな初期化ベクトル(IV)を生成する

  10. キーとIVを使用してAES CBCモードでペイロードを暗号化する

  11. 暗号化前にペイロードにPKCS7パディングを適用する

  12. IVをbase64にエンコードする

  13. 暗号文(暗号化されたペイロード)をbase64にエンコードする

  14. HMAC用のメッセージとして、base64のIVとvalueを連結する

  15. 連結されたメッセージに対して、キーをシークレットとしてHMAC-SHA256を使用してMACを計算する

  16. iv、value、macの3つのフィールドを持つJSONオブジェクトを構築する

  17. JSON全体をbase64にエンコードする

  18. curlを使用して、laravel_sessionクッキーにペイロードを入れたHTTPリクエストを構築する

  19. 対象ドメインにリクエストを送信する

  20. Laravelサーバーはクッキーを受け取り、base64をデコードする

  21. Laravelは受信したIVとvalueに対してMACの整合性を検証する

  22. Laravelは自身のAPP_KEYを使用してAES-CBCでコンテンツを復号する

  23. Laravelは復号されたコンテンツを自動的にデシリアライズする

  24. PHPはデシリアライズされたオブジェクトのマジックメソッド__destruct()または__wakeup()を呼び出す

  25. call_user_func()またはeval()に至るガジェットチェーンが発動する

  26. OSコマンドがサーバー上で実行される

このエクスプロイトは、PHPのマジックメソッド呼び出しを連結するガジェットチェーンを使用します。

デシリアライズ中、PHPは自動的に__destruct()または__wakeup()を呼び出し、任意のコードを実行するeval()に至るチェーンを開始します。

前提条件 エクスプロイトを機能させるために、攻撃者には以下が必要です。

  • LaravelのAPP_KEY(環境変数の漏洩、露出したS3バケット、ソースコードなどを通じて取得)

  • デシリアライゼーションがデフォルトで有効な脆弱なLaravelバージョン

  • ./phpggc/ディレクトリにインストールされたPHPGGC https://github.com/ambionics/phpggc

使用例

root@kitploit:~
python exploit.py "base64:dGhpc2lzYXNlY3JldGtleQ==" "whoami" "http://target.htb"
Este comando generará un payload serializado que ejecutará whoami cuando Laravel deserialice la sesión.
ツールをダウンロード