Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Metasploit pro start_guide_ver1.0

84 views

Published on

有償版 Metasploit Pro のスタートガイドです。
基本的な使い方を説明しております。
Framework ユーザーにはつまらない内容かと思います。

Published in: Technology
  • Be the first to comment

Metasploit pro start_guide_ver1.0

  1. 1. Metasploit Proスタートガイド Version 1.14 対応 Document version 1.0.1(2019年1月21日) ラピッドセブン・ジャパン株式会社 ryuichi_tomita@rapid7.com
  2. 2. コンテンツ 2 1. 目的 page 3 2. 情報ソース page 4 3. インストール要件 page 5 4. 通信要件 page 6 5. インストール page 7 - 17 6. 初期設定 page 18 - 21 7. ターゲットホスト登録 page 22 - 39 8. エクスプロイト実行 page 40 - 50 9. 侵入 page 51 - 55 10. 認証情報テスト page 56 - 61 11. レポート page 62 - 64 12. 自動化 page 65 - 66 13. デバッグ page 67 - 68 14. おまけ
  3. 3. 目的 3 Metasploit Pro を使ったペネトレーションテストの目的 1. 確認された脆弱性が攻撃者によって悪用可能かを検証する 2. 悪用可能な場合の影響範囲を検証する 3. 上記の検証を通じてセキュリティ対策が有効に働くかを検証する 4. 認証情報が盗まれ悪用された場合の影響度を検証する 5. 結果をリポートして対策を検討する 6. ルーチン化できる運用を特定し自動化する
  4. 4. 情報ソース 4 • プロダクトページ • https://www.rapid7.com/products/metasploit/ • ユーザーガイド • https://metasploit.help.rapid7.com/docs/ • リリースノート • https://help.rapid7.com/metasploit/release-notes/index.html • スペシャルコンテンツ • https://www.metasploit.com/ • GitHub • https://github.com/rapid7/metasploit-framework • エクスプロイトDB • https://www.rapid7.com/db/modules
  5. 5. • 最低ハードウエア要件 • CPUクロックサイクル数:2GHz以上 • 空きメモリ容量:4GB以上(8GB推奨) • 空きハードディスク容量:1GB以上(50GB推奨) • インストールプラットフォームOS要件(64bit OSのみサポート) • Ubuntu Linux 14.04 or 16.04 LTS(推奨) • Microsoft Windows Server 2008 R2 • Microsoft Windows Server 2012 R2 • Microsoft Windows 10 • Microsoft Windows 8.1 • Microsoft Windows 7 SP1 以上 • Red Hat Enterprise Linux Server 7.1 以上 • Red Hat Enterprise Linux Server 6.5 以上 • Red Hat Enterprise Linux Server 5.10 以上 ※インストールには root または administratro 権限が必要です。 ※Metasploit Pro の利用環境ではファイアウォールやアンチウイルスなどのセキュリティソフトウエアを無効にしてください。 Metasploit Pro インストール要件 5
  6. 6. • Webコンソールアクセス • https://xxx.xxx.xxx.xxx:3790 • 製品アップデートおよびライセンスチェック • https://updates.metasploit.com 通信要件 6
  7. 7. インストール 7 ソフトウエアのダウンロード • Windows版 downloads.metasploit.com/data/releases/metasploit-latest-windows-installer.exe • Linux版 downloads.metasploit.com/data/releases/metasploit-latest-linux-x64-installer.run インストールモジュールをダウンロードする $ wget http://downloads.metasploit.com/data/releases/metasploit-latest-linux-x64-installer.run ンストールモジュールに実行権限を付与する $ chmod +x desktop/metasploit-latest-linux-x64-installer.run インストールモジュールを実行する $ sudo desktop/metasploit-latest-linux-x64-installer.run
  8. 8. Linux Installer 8 インストールウィザードの起動 ライセンスアグリーメントを受け入れる
  9. 9. Linux Installer 9 インストールディレクトリを指定 デフォルトは /opt/metasploit Metasploit Proをサービスとして登録するか?
  10. 10. Linux Installer 10 アンチウイルスおよびファイアウォールを無効にする。 Web UI用のポート番号を指定。
  11. 11. Linux Installer 11 SSL証明書の生成と登録。 インストール開始。
  12. 12. Linux Installer 12 Metasploit Proの効能を読みながら待つ。 インストール完了。Web UIにアクセスする。
  13. 13. Windows Installer 13
  14. 14. Windows Installer 14
  15. 15. Windows Installer 15
  16. 16. Windows Installer 16
  17. 17. Windows Installer 17
  18. 18. コンソール設定(アカウント作成) 18 管理用のアカウントを作成します。 Optional Info & Settings は必要に応じて設定します。 Time zone はログやレポートに反映されますので正しく設定します。
  19. 19. Metasploit pro の有効化 19 メールで送られてきたプロダクトキーを入力し、ACTIVATE LICENSE ボタンをクリックします。 このときに https://updates.metasploit.com にアクセスしてプロダクトが有効化されます。
  20. 20. 運用の開始 20 ペネトレーション作業はProject毎に管理されます。 先ずはNew Projectを作成するところから開始します。 Product News リリース情報やイベントなどのニュースが表示されます。
  21. 21. プロジェクト作成 21 プロジェクト名、説明、ターゲッ トネットワークレンジ、参加ユー ザーを設定します。 Restrict to networkrange にチェッ クを入れるとターゲットネットワ ークレンジ以外をターゲットに指 定できなくなります。 これにより、思わぬターゲットに 攻撃を実施してしまうリスクを回 避できるので設定することをお勧 めします。
  22. 22. ターゲットホストの登録 22 プロジェクトに入ったら先ずターゲットホ ストの登録を行います。登録されていない ターゲットホストは攻撃できません。 登録方法はNmapスキャン、InsightVM(ス キャンとインポート)、 ファイルインポー ト、Sonarインポート、Passive Network Discovery、手動の6種類です。 先ずはNmapによるスキャンを説明します ので Scan をクリックしてください。
  23. 23. ターゲットホストの登録(Nmap Scan) 23 スキャンターゲットまたは範囲を指定 します。 デフォルトでプロジェクト作成時に設 定した Network range が既に入力され ています。 必要に応じて変更してください。 Show Advanced Options をクリックす ると各種パラメータをチューニングす ることができます。 準備が出来たら Launch Scan をクリッ クしてスキャンを開始します。
  24. 24. ターゲットホストの登録(Nmap Scan) 24 スキャンを開始するとスキャンタスク が走り、ログがリアルタイムで表示さ れます。 Nmap Scan ではホスト名、OS種別、 オープンポート、サービス、それらに 関連する脆弱性を検査することができ ます。 タスクの実行ログファイルは以下のデ ィレクトリに保存されています。 /opt/metasploit/apps/pro/tasks/
  25. 25. ターゲットホストの登録(Nmap Scan) 25 Nmap スキャンで見つかったターゲットホストは Analysis タブの Hosts に表示され ます。 ここで STATUS は Scand または Cracked(侵入以前にログインクレデンシャルが 取得できた状態) になります。 Exploit が成功すると Shelled になり、更にそのターゲットホストから情報を取得で きると Looted になります。 任意のターゲットを選びアドレスをクリックしてみましょう。
  26. 26. ターゲットホストの登録(Nmap Scan) 26 ターゲットホスト情報のいくつかは登録後に編集することができます。 ターゲットホストには複数のタグが付与できますので有効活用しましょう。 ここからターゲットに対する Nmap Scan または InsightVM からのスキャンや WebScan、Bruteforce、Auto Exploit が実行できます。
  27. 27. ターゲットホストの登録(Import) 27 Nmap Scan の次は スキャン結果の ファイル(XML)インポートです 。 Nessus や Burp Suite などのスキャ ン結果を XML 形式でエクスポート することで、それらをインポート できます。
  28. 28. ターゲットホストの登録(XML File Import) 28 Nessus のスキャン結果を取り込む例。 ファイルの拡張子は .nessus です。
  29. 29. ターゲットホストの登録(InsightVM Scan/Import) 29 Import の次は InsightVM によるスキャンと スキャン結果のインポートです。 APIを使い InsightVM からスキャンを実施 したり、スキャン結果をインポートするこ とができます。 インポートはサイト単位でおこなわれます 。
  30. 30. ターゲットホストの登録(InsightVM Scan/Import) 30 InsightVM にのコンソールに接続す るための情報を設定します。 Name: 任意の名前 Address: コンソールのIPアドレス Port: 3780 Username: ユーザー名 Password: パスワード ターゲットホストをスキャンまた はアクセスできるログインアカウ ントを設定します。
  31. 31. ターゲットホストの登録(InsightVM Scan/Import) 31 InsightVM に接続するとサイト一覧 が表示されます。 任意のサイトにチェックを入れて Import Data をクリックするとター ゲットホスト情報のインポートを 開始します。 Scan and import data を選択すると 任意のターゲットホストまたは範 囲をスキャンして結果をインポー トします。
  32. 32. ターゲットホストの登録(Sonar Import) 32 InsightVM の次は Sonar インポートです。 Sonar は Rapid7 のリサーチプロジェクト で、定期的にインターネット上のホストを スキャンして回っています。 ここでは、Sonar データベースから任意の ドメイン名に属するホストを抽出し、その 中からターゲットホストを選びます。
  33. 33. ターゲットホストの登録(Sonar Import) 33 ドメインを指定し、Query ボタンをクリッ クします。 デフォルトでは過去30日以内の検査結果を 表示します。
  34. 34. ターゲットホストの登録(Sonar Import) 34 一覧からターゲットホストに指定するホストにチェックを 入れて、下にある Import data ボタンをクリックすると、 ターゲットホストのIPアドレス、ホスト名、オープンポー ト情報が登録されます。
  35. 35. ターゲットホストの登録(Manual) 35 ターゲット情報をスキャンやインポートせずに全て手動で入力することもできます。
  36. 36. ターゲットホストの登録(Manual) 36 ターゲットホスト情報を入力します。 最低限の情報として Name と IP address さ え入力すれば登録はできます。 エクスプロイトを実行させるには、OS種別 、オープンポート、サービスなどの情報は 必要となります。
  37. 37. ターゲットホストの登録(Manual) 37 ステータスは スキャン、インポート、マニュアル共に基本は Scaned となります。 Nmap スキャン時のみ Cracked になる場合があります。 その他の情報はスキャンやインポートの場合でも、後々手動で編集追加することができます。
  38. 38. ターゲットホストの登録(Passive Network Discovery) 38 指定したインタフェースからトラフィックをモニタリングしIPアドレスとオープンポート情報 がターゲットホストとして登録されます。
  39. 39. ターゲットホストの登録(Passive Network Discovery) 39 Pcap Configuration ではモニタリングインタフェースやモニタリング時間およびキャプチャファイルサイズなどを設定します。 Filters ではモニタリングするトラフィックを指定して絞り込むことができます。
  40. 40. Server/Client Exploit 40 Server Exploit は Metasploit Pro からターゲットホストのサービスに対して接続してエクスプロイトをかけます。 Client Exploit は Metasploit Pro 側でサービスを立ち上げ、ターゲットホストからの接続を待ってエクスプロイトをかけます。 Servere Exploit Client Exploit
  41. 41. Exploit ⇒ Session 41 エクスプロイトの目的は悪意ある活動をするペイロード(Shell)をターゲットホストのメモリ上で活動させることです。 ペイロード(Shell)を送り込む過程を Stager と呼び、どのような状態で活動させるかを Stage と呼びます。 ペイロードを送り込む際は、先ず小さなローダーを送り込み、それが ペイロード本体を読み込みます。 Metasploit の代表的なペイロードは Metepreter shell でターゲットホスト上で様々な悪さを行うことが可能です。 Metepreter が活動すると Metasploit Pro と繋がるためにコールバックしたり、バックドアを作成します。 Metepreter が高い権限で活動できればターゲットホストは完全に攻撃者の手中に置かれます。 Stager Stage Shell Reverse Bined
  42. 42. Full-Automatic Exploit 42 ターゲットを登録したら、それらに対して自動エクスプロイトを実行することができます。 自動エクスプロイトはターゲットのOS種別、オープンポート、サービス情報、脆弱性情報を基に攻撃できる可能 性のあるエクスプロイトモジュールを自動的に選択し、実行します。
  43. 43. Full-Automatic Exploit 43 先ずはいきなりエクスプロイトを実行せ ず Dry run を行い、自動選択されたエク スプロイトモジュールを確認します。 自動とはいえどのような攻撃が実行され るのかは予め把握しておく方が良いため です。 Show Advanced Options をクリックして メニューを開きます。 Advanced Settings の Dry run only show exploit information, but do not run にチェ ックを入れて Exploit ボタンをクリック します。
  44. 44. Full-Automatic Exploit 44 Dry run を有効にして Exploit を実行 すると Task ログに選択されたエク スプロイトモジュールが表示されま す。 確認後、Dry run only show exploit information, but do not run のチェッ クを外して再度 Expolit を実行しま す。 自動エクスプロイトではデフォルト で Excellent と Great の2つのラン キングのみが適用されます。
  45. 45. Module Ranking Excellent ★ ★ ★ ★ ★ このエクスプロイトはシステムをクラッシュさせることはありません。SQL injection、CMD execution、RFI、LFIなどが含まれます。また特別な状況(WMF Escape())がない限り、 典型的なメモリ破損エクスプロイトにはこのランクが与えられることはありません。 Great ★ ★ ★ ★ このエクスプロイトはデフォルトターゲットを持っており、それら適切なターゲットを自動的に検出するためにバージョンチェック後にアプリケーション固有のリターンアドレスも 確認します。 Good ★ ★ ★ このエクスプロイトはデフォルトターゲットを持っており、次のような“common case”を持ちます。(英語環境、 Windows 7用デスクトップアプリケーション、2012サーバーなど) Normal ★ ★ このエクスプロイトは信頼できるものですが、特定のバージョンに依存しており確実に成功するとは限りません。 Average ★ このエクスプロイトは一般的に信頼性と成功率が低いものです。 Low このエクスプロイトは一般的なプラットフォームではほとんど利用できません。成功率は50%未満です。 Manual このエクスプロイトは不安定かつ成功率が極めて低くく、基本的にはDoSです。 このランキングはユーザーによる特別な設定がない限り使用できないモジュールにも適用されます。 例) exploit/unix/webapp/php_eval 45
  46. 46. Semi-Automatic Exploit(Host ⇒ Modules) 46 ターゲットホストに登録されている 脆弱性情報を基に自動的に選ばれた エクスプロイトモジュールが Modules に表示されます。
  47. 47. Semi-Automatic Exploit(Module Ranking) 47 ここで表示されるエクスプロイトモジュールは自動エクスプロイトとは異なり、全てのランキングとなります。
  48. 48. Semi-Automatic Exploit 48 ターゲットには先のホストが予め入力さ れています。 いろいろオプションはありますが、先ず は全てデフォルトのまま Run Expolit を クリックしてターゲットホストへのエク スプロイトを実行します。
  49. 49. Manual Exploit 49 自動ではなく任意のエクスプロイト モジュールを実行させてい場合は、 Modules メニューからエクスプロイ トモジュールを検索します。 検索はキーワードを単体または複数 指定して行います。 keyword:value 例) name:Microsoft path:windows/smb platform:linux type:exploit app:client author:hdm cve:2009 bid:875 osvdb:875 edb:18606
  50. 50. Exploit Status(Scand ⇒ Shelled ⇒ Looted) 50 ターゲットホストにエクスプロイトを実 行し、成功するとステータスが Shelled になります。 この状態はターゲットホストに対するペ イロード(主にMetepreter)の注入が成 功し、Metasploit Pro とターゲットホス ト間にセッションが張れている状態を示 します。 複数のエクスプロイトが成功するとそれ ぞれにセッションが張られます。 その後、ターゲットホストから情報が取 得できるとステータスが Looted になり ます。
  51. 51. Session 51 Sessions メニューから現在アクティブなセッションや過去に使用されたセッションが確認できます。 アクティブセッションをクリックし、ターゲットホストに対して様々なアクションを実行できます。 過去のセッションは再度エクスプロイトを実行することで、再開することができます。 ※過去に成功しているので、ターゲットホストの環境が変わらなければ何度でも張りなおすことができます。
  52. 52. Collect System Data 52 セッション内で実行できる内容は、ター ゲットホストの種別や、エクスプロイト のターゲットとなったプロセスに依存し ます。 Windows ですと多くの場合 Collect System Data が利用でき、一括して情報 が取得できます。 その他、ファイルの検索、ダウンロード 、アップロード、削除をおこなったり、 ターゲットホストを踏み台にして他のタ ーゲットホストを攻撃することも可能で す。
  53. 53. Collect System Data 53 Collect System Data を選択す ると取得内容の詳細が表示され ます。 必要に応じて内容を調整し、 Collect System Data をクリッ クして実行します。
  54. 54. Post Exploitation Modules 54 Post Exploitation Modules メニューでは セッション内で行える様々なモジュール を選ぶことができます。 実行したいモジュールを選び、クリック するとモジュールの詳細画面が表示され るので、必要に応じてオプションを設定 し Run Module をクリックして実行しま す。
  55. 55. Session Cleanup 55 ターゲットホストでの作業が完了したら 、セッションをクリーンアップして切断 します。 セッション=ターゲットホストにペイロ ードが埋め込まれた状態 ですので、それらを元の状態に戻してお く必要があり、Cleanup はそのための作 業になります。
  56. 56. Collected Credentials エクスプロイトが成功するとターゲットホストから認証情報(Credential)が取得できることがあります。 取得できた認証情報は Credentials メニューで一覧表示されます。 PUBLIC がユーザー名、PRIVATE がパスワードを意味します。 取得した認証情報は後の作業で再利用することができます。 56
  57. 57. Credential Reuse ターゲットホストから取得した認証情報を他のターゲット ホストに対して試みることができます。 他の機能で認証が必要な場合、それらを再利用することも できます。 57
  58. 58. Credential Test(MetaModules) 58 メタモジュールはペネトレーションテストに必要な幾つかのツールを提供します。 主に認証情報の検査になりますが、ファイアウォールのセグメンテーションチェックやトラフ ィックモニタリングによるターゲットホスト登録ツールなどがあります。
  59. 59. Credential Test(Credential Domino) 59 メタモジュールにあるツールの多くは認証情報の使いまわしを検査するものですが、Credential Domino は特定のターゲットホストに侵入さ れた際に、そこに保存されている認証情報がどう悪用できるかを検査するツールです。 ドミノ倒しのようにターゲットホストを渡ってゆき重要ホストにたどり着けるかなどを検証します。 始点となるターゲットホストと使用する認証情報 または既存のセッションを指定します。 検証範囲またはターゲットとする個々のホストを指定します。 重要ホストはIPアドレスかタグで指定します。
  60. 60. Credential Test(Credential Domino) 60 Payload Settings は通常デフォルトで問題ありません。
  61. 61. Credential Test(Credential Domino) 61 High Value Host に到達すると赤く表示されます。
  62. 62. レポート作成 62 レポートは様々なフォーマットで出力することができます。 レポートに含むターゲットホストを指定します。 レポートテンプレートを選びます。
  63. 63. レポート作成 63 レポート項目を選択します。 Mask discovered credentials を選択しない場合は取得した認 証情報のパスワード部分がレポートに記録されます。
  64. 64. レポート作成 64 レポートテンプレートは9種類ありますが、よく利用されるものは Activity、Audit、PCI Compliance です。 Activity は Metasploit Pro の作業内容が記録されていますので、テスト内容の証拠として活用されます。 ペネトレーションテストの結果は Audit でひと通り網羅されます。 PCIの認証が必要な場合は PCI Compliance でステータスが確認できます。
  65. 65. Task Chains 65 スキャン、インポート、エクスプロイト、レポートなど一連の作業はバッチ処理として登録することができます。 固定化された様々な作業フローをタスクチェーンとして複数登録し、それぞれを必要に応じてスケジュール実行す ることもできます。
  66. 66. Task Chains 66 実行するタスクを選択しタスクチェーンを組み立てます。 登録した個々のタスクは後に順番を変えたり削除追加することもできます。
  67. 67. デバッグログ 67 Liniux の場合: 以下のコマンドを実行し Diagnostic Log を生成します。 $ sudo /opt/metasploit/diagnostic_logs.sh Windows の場合: Start > Programs > Metasploit > Diagnostics Logs いずれも実行すると以下のファイルが Metasploit Pro にインストールディレクトリに生成されます。 diagnostics-<date generated><time generated>.zip
  68. 68. ライセンスの失効 68 ライセンスが失効すると更新するまでスキャンやエクスプロイト機能が使えなくなります。
  69. 69. おまけ Windows SMB Test Tools 69 SMB は攻撃者の的となっていますので、要チェックです。
  70. 70. おまけ1(Authenticated User Code Execution) 70 exploit/windows/smb/psexec
  71. 71. おまけ2(Authenticated Powershell Command Execution) 71 exploit/windows/smb/psexec_psh
  72. 72. おまけ3(SSH Manual Login) 72 exploit/multi/ssh/sshexec
  73. 73. おまけ4(SMB Relay Code Execution) 73 exploit/windows/smb/smb_relay
  74. 74. おまけ5(SMB Scanner) 74 path:auxiliary/scanner/smb/
  75. 75. おまけ番外(Steamed Hams) 75 exploit/multi/hams/steamed
  76. 76. ご質問受付先 ryuichi_tomita@rapid7.com

×