行政機関や企業に対するサイバー攻撃が世界中で深刻な問題になっています。攻撃者の脅威に対抗するための最も有効な手段はペネトレーションテストです。本書では、ペネトレーションテストのやり方を、Metasploitを主軸に説明しています。そうすることで、ペネトレーションテストの流れとともに、Metasploitを構成する個々の機能やその使い方を理解し、Metasploitの基本的な作法を身につけます。さらに本書では、クライアントに対する攻撃や無線LAN経由の攻撃、ソーシャルエンジニアリング攻撃といった、ペネトレーションテストで使う高度なテクニックを学びます。日本語版ではシェルコードの内部構造について加筆しました。
本書のサポートページ。
サンプルPDF
●「推薦の言葉」「監訳者まえがき」「序文」「まえがき」「目次」(1.4MB)
●「1章 ペネトレーションテストの基本」(1.3MB)
●「2章 Metasploitの基本」(1.5MB)
●「6章 Meterpreter」--抜粋-- (1.6MB)
●「15章 Metasploit Frameworkへのエクスプロイトの移植」--抜粋-- (1.5MB)
実践 Metasploit
―ペネトレーションテストによる脆弱性評価
David Kennedy、Jim O'Gorman、Devon Kearns、Mati Aharoni 著、青木 一史、秋山 満昭、岩村 誠、川古谷 裕平、川島 祐樹、辻 伸弘、宮本 久仁男 監訳 、岡 真由美 訳
- TOPICS
- Security
- 発行年月日
- 2012年05月
- PRINT LENGTH
- 368
- ISBN
- 978-4-87311-538-2
- 原書
- Metasploit
- FORMAT
- Print PDF
目次
推薦の言葉 監訳者まえがき 序文 まえがき 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