実践 Metasploit――ペネトレーションテストによる脆弱性評価

[cover photo]
  • David Kennedy、Jim O'Gorman、Devon Kearns、Mati Aharoni 著、青木 一史、秋山 満昭、岩村 誠、川古谷 裕平、川島 祐樹、辻 伸弘、宮本 久仁男 監訳 、岡 真由美 訳
  • 2012年05月 発行
  • 368ページ
  • ISBN978-4-87311-538-2
  • フォーマット Print PDF
  • 原書: Metasploit

オライリー・ジャパンで書籍を購入:
定価4,104円

Ebook Storeで電子版を購入:
価格3,283円


行政機関や企業に対するサイバー攻撃が世界中で深刻な問題になっています。攻撃者の脅威に対抗するための最も有効な手段はペネトレーションテストです。本書では、ペネトレーションテストのやり方を、Metasploitを主軸に説明しています。そうすることで、ペネトレーションテストの流れとともに、Metasploitを構成する個々の機能やその使い方を理解し、Metasploitの基本的な作法を身につけます。さらに本書では、クライアントに対する攻撃や無線LAN経由の攻撃、ソーシャルエンジニアリング攻撃といった、ペネトレーションテストで使う高度なテクニックを学びます。日本語版ではシェルコードの内部構造について加筆しました。

著者によるサポートページ

サンプルPDF
「推薦の言葉」「監訳者まえがき」「序文」「まえがき」「目次」(1.4MB)
「1章 ペネトレーションテストの基本」(1.3MB)
「2章 Metasploitの基本」(1.5MB)
「6章 Meterpreter」--抜粋-- (1.6MB)
「15章 Metasploit Frameworkへのエクスプロイトの移植」--抜粋-- (1.5MB)

関連書籍

Hacking:美しき策謀 第2版
アナライジング・マルウェア
クラウド セキュリティ & プライバシー
セキュリティの神話
デコンパイリングJava
ビューティフルセキュリティ
リバースエンジニアリング

推薦の言葉
監訳者まえがき
序文
まえがき

1章 ペネトレーションテストの基本
    1.1 PTESのフェーズ
        1.1.1 事前契約のやり取り
        1.1.2 インテリジェンスギャザリング
        1.1.3 脅威モデリング
        1.1.4 脆弱性分析
        1.1.5 エクスプロイト
        1.1.6 ポストエクスプロイト
        1.1.7 報告書の作成
    1.2 ペネトレーションテストのタイプ
        1.2.1 公開ペネトレーションテスト
        1.2.2 秘密ペネトレーションテスト
    1.3 脆弱性スキャナ
    1.4 まとめ

2章  Metasploitの基本
    2.1 用語集
        2.1.1 エクスプロイト
        2.1.2 ペイロード
        2.1.3 シェルコード
        2.1.4 モジュール
        2.1.5 リスナー
    2.2 Metasploitインターフェイス
        2.2.1 MSFconsole
        2.2.2 MSFcli
        2.2.3 Armitage
    2.3 Metasploitのユーティリティ
        2.3.1 MSFpayload
        2.3.2 MSFencode
        2.3.3 NASMシェル
    2.4 Metasploit ExpressとMetasploit Pro
    2.5 まとめ

3章 インテリジェンスギャザリング
    3.1 受動的なインテリジェンスギャザリング
        3.1.1 Whois検索
        3.1.2 Netcraft
        3.1.3 nslookup
    3.2 能動的なインテリジェンスギャザリング
        3.2.1 Nmapでのポートスキャン
        3.2.2 Metasploitにおけるデータベース利用
        3.2.3 Metasploitを使ったポートスキャン
    3.3 ターゲットスキャン
        3.3.1 SMBスキャン
        3.3.2 設定に問題があるMicrosoft SQL Serverの探索
        3.3.3 SSHサーバースキャン
        3.3.4 FTPスキャン
        3.3.5 SNMPスイープ
    3.4 カスタムスキャナの作成
    3.5 まとめ

4章 脆弱性スキャン
    4.1 基本的な脆弱性スキャン
    4.2 NeXposeでのスキャン
        4.2.1 設定
        4.2.2 レポートをMetasploit Frameworkにインポートする
        4.2.3 MSFconsole内でNeXposeを実行する
    4.3 Nessusでのスキャン
        4.3.1 Nessusの設定
        4.3.2 Nessusスキャンポリシーを作成する
        4.3.3 Nessusスキャンを実行する
        4.3.4 Nessusレポート
        4.3.5 結果をMetasploit Frameworkにインポートする
        4.3.6 Metasploit内からNessusでスキャンする
    4.4 特殊な脆弱性スキャナ
        4.4.1 SMBログイン検証
        4.4.2 オープンなVNC認証のスキャン
        4.4.3 オープンなX11サーバーをスキャンする
    4.5 スキャン結果をAutopwnに使う

5章 エクスプロイトを楽しもう
    5.1 基本的なエクスプロイト
        5.1.1 msf> show exploits
        5.1.2 msf> show auxiliary
        5.1.3 msf> show options
        5.1.4 msf> show payloads
        5.1.5 msf> show targets
        5.1.6 info
        5.1.7 setとunset
        5.1.8 setgとunsetg
        5.1.9 save
    5.2 初めてのエクスプロイト
    5.3 Ubuntuマシンをエクスプロイトする
    5.4 全ポートにペイロードを送る:ブルートフォース攻撃
    5.5 リソースファイル
    5.6 まとめ

6章  Meterpreter
    6.1 Windows XPマシンの侵害
        6.1.1 Nmapによるポートスキャン
        6.1.2 Microsoft SQL Serverへの攻撃
        6.1.3 Microsoft SQL Serverへのブルートフォース
        6.1.4 xp_cmdshell
        6.1.5 Meterpreterの基本コマンド
        6.1.6 キーストロークのキャプチャ
    6.2 ユーザー名とパスワードのダンプ
        6.2.1 パスワードハッシュの抽出
        6.2.2 パスワードハッシュのダンプ
    6.3 Pass-the-Hash攻撃
    6.4 権限昇格
    6.5 偽装トークン
    6.6 psの利用
    6.7 別ネットワークへの攻撃(ピボッティング)
    6.8 Meterpreterスクリプトの利用
        6.8.1 プロセス間の移動
        6.8.2 アンチウイルスソフトウェアの無効化
        6.8.3 システムのパスワードハッシュの取得
        6.8.4 ターゲットマシン上のトラフィックの監視
        6.8.5 システム情報の抽出(スクレイピング)
        6.8.6 persistence
    6.9 ポストエクスプロイトモジュールの利用
    6.10 コマンドシェルをMeterpreterへアップグレードする
    6.11 RailgunアドオンでWindows APIを操作する
    6.12 まとめ

7章 検出の回避
    7.1 MSFpayloadでスタンドアロンバイナリを作成する
    7.2 アンチウイルスの検出を回避する
        7.2.1 MSFencodeでエンコードする
        7.2.2 マルチエンコーディング
    7.3 カスタムの実行ファイルテンプレート
    7.4 ペイロードをステルスに立ち上げる
    7.5 パッカー
    7.6 まとめ

8章 クライアントサイド攻撃を用いたエクスプロイト
    8.1 ブラウザベースのエクスプロイト
        8.1.1 ブラウザベースのエクスプロイトの効果
        8.1.2 NOPを確認する
    8.2 NOPシェルコードを解析する:Immunity Debugger
    8.3 Internet Explorer Auroraエクスプロイトを詳しく見る
    8.4 ファイルフォーマットエクスプロイト
        8.4.1 ペイロードを送る
    8.5 まとめ

9章  MetasploitAuxiliaryモジュール
    9.1 auxiliaryモジュールの使用
    9.2 auxiliaryモジュールの分析
    9.3 まとめ

10章  Social-EngineerToolkit
    10.1 Social-Engineer Toolkitの設定
    10.2 標的型フィッシング攻撃ベクター
    10.3 Web攻撃ベクター
        10.3.1 Javaアプレット
        10.3.2 クライアントサイド Webエクスプロイト
        10.3.3 ユーザー名とパスワードの収集
        10.3.4 タブナビング
        10.3.5 Man-Left-in-the-Middle攻撃
        10.3.6 Webジャッキング
        10.3.7 複合的手法による攻撃
    10.4 Infectious Media Generator
    10.5 Teensy USB HID攻撃ベクター
    10.6 その他の SET機能
    10.7 まとめ

11章  Fast-Track
    11.1 Microsoft SQL Serverインジェクション
        11.1.1 SQLインジェクター:クエリ文字列攻撃
        11.1.2 SQLインジェクター:POSTパラメータ攻撃
        11.1.3 手動インジェクション
        11.1.4 MSSQL Bruter
        11.1.5 SQLPwnage
    11.2 Binary-to-Hexジェネレータ
    11.3 マスクライアントサイド攻撃
    11.4 まとめ

12章  Karmetasploit
    12.1 設定
    12.2 攻撃を開始する
    12.3 認証情報のハーベスティング
    12.4 シェルを取得する
    12.5 まとめ

13章 独自モジュールの構築
    13.1 Microsoft SQL Serverでコマンド実行
    13.2 既存のMetasploitモジュールの調査
    13.3 新たなモジュールの作成
        13.3.1 PowerShell
        13.3.2 エクスプロイトの雛形の実行
        13.3.3 powershell_upload_execの作成
        13.3.4 16進数からバイナリへの変換
        13.3.5 カウンタ
        13.3.6 エクスプロイトの実行
    13.4 まとめ

14章 独自エクスプロイトの作成
    14.1 ファジング技術
    14.2 構造化例外ハンドラの制御
    14.3 SEHの領域制約を回避する
    14.4 リターンアドレスの取得
    14.5 不正な文字とリモートコード実行
    14.6 まとめ

15章  MetasploitFrameworkへのエクスプロイトの移植
    15.1 アセンブリ言語の基本
        15.1.1 EIP・ESPレジスタ
        15.1.2 JMP命令セット
        15.1.3 NOPとNOPスライド
    15.2 バッファオーバーフローの移植
        15.2.1 既存のエクスプロイトを分解する
        15.2.2 エクスプロイト定義の作成
        15.2.3 基本のエクスプロイトをテストする
        15.2.4 Frameworkの機能の実装
        15.2.5 ランダム化の追加
        15.2.6 NOPスライドの削除
        15.2.7 ダミーのシェルコードの除去
        15.2.8 完成したモジュール
    15.3 SEH上書きエクスプロイト
    15.4 まとめ

16章  Meterpreterスクリプティング
    16.1 Meterpreterスクリプティングの基本
    16.2 Meterpreter API
        16.2.1 出力の表示
        16.2.2 APIのお手本
        16.2.3 Meterpreterミックスイン
    16.3 Meterpreterスクリプトの記述ルール
    16.4 Meterpreterスクリプトの作成
    16.5 まとめ

17章 ペネトレーションテストのシミュレーション
    17.1 事前要件対応
    17.2 インテリジェンスギャザリング
    17.3 脅威のモデル化
    17.4 エクスプロイト
    17.5 MSFconsoleのカスタマイズ
    17.6 ポストエクスプロイト
        17.6.1 Metasploitableシステムのスキャン
        17.6.2 脆弱なサービスの識別
    17.7 Apache Tomcatへの攻撃
    17.8 目立たないサービスを攻撃する
    17.9 足跡を隠す
    17.10 まとめ

付録 A ターゲットマシンの設定
    A.1 システムのインストールと設定
    A.2 Linux仮想マシンの起動
    A.3 脆弱なWindows XPの設定
        A.3.1 Windows XPでのWebサーバーの設定
        A.3.2 Microsoft SQL Serverの構築
        A.3.3 脆弱なWebアプリケーションの作成
        A.3.4 Back|Trackの更新

付録 B 早見表
    B.1 MSFconsoleコマンド
    B.2 Meterpreterコマンド
    B.3 MSFpayloadコマンド
    B.4 MSFencodeコマンド
    B.5 MSFcliコマンド
    B.6 MSF、Ninja、Fu
    B.7 MSFvenom
    B.8 Meterpreterポストエクスプロイトコマンド

付録 C シェルコードを読み解く

索引

コラム目次
    LMハッシュの問題
    MSFvenom

Feedback

皆さんのご意見をお聞かせください。ご購入いただいた書籍やオライリー・ジャパンへのご感想やご意見、ご提案などをお聞かせください。より良い書籍づくりやサービス改良のための参考にさせていただきます。
[feedbackページへ]