BackTrackを使ってセキュリティをテストする

 侵入テストの分野において、現在 BackTrack は最高峰のLinuxディストリビューションである。セキュリティのプロによって設計・開発され、全世界で利用されるBackTrackは、かつてライバル関係にあった2つのディストリビューションWHAXAuditor Security Collectionが融合して誕生した。最新のベータ版が6月10日にリリースされたので、ここに紹介しよう。

 BackTrack 3.0 beta(BT3)は、最近さまざまな場所に登場している。この2月には、毎年開催されるハッカーのコンベンションShmooConでプレゼンテーションが行われた。今年のNational Collegiate Cyber Defense Competition(NCCDC)では、ベテランのセキュリティ専門家から組織されるレッド・チーム向けの推奨ディストリビューションに選定された。

ライブ版とインストール版

 BT3は、ライブCD用のISOイメージと、それより大きなUSBドライブバージョン(RAR形式)の2種類で配布される。イメージを数箇所のミラーのいずれかからダウンロードし、ブート可能CDに焼くか、ブート可能USBドライブにインストールできる。

 CDからはフル装備のデスクトップを2分ほどでブートできる。ワイヤードおよびワイヤレスのNICを含め、すべてのデバイスも自動で設定される。CDからのブートは恐らくBT3を実行する最も安全な方法だが、多くのユーザは、私を含め、パフォーマンスの理由からハードディスクにインストールして利用している。この方式の場合、rootで動作していることを忘れないようにし、BackTrackを日常の作業に使わないように注意する。

 ハードディスクへのインストールには経験が求められる。私のケースでは、ディスクのパーティション化とフォーマットを行うまで、頑としてインストールはできなかった。また、BackTrackは技術に恵まれたユーザを想定して設計されているため、手助けになるものも多くない。始めから多くの知識が期待され、私のような新参者は沈むも浮かぶも本人の努力にかかっている。

 ライブCDからブートする場合、デフォルトのブート先はKDEデスクトップだが、これはブート時に変更できる。Fluxbox、KDE to RAM、VESAの各モードのほか、数種類のテキストモードも用意されている。インストール・バージョンのBT3の場合、ブート後にコマンドラインが直接開かれる。CLIは苦手な人も心配は無用。画面には、ログイン用のユーザ名やパスワードなどの情報が明確に表示される。ログイン後、startxコマンドを入力すると、見慣れたKDEのGUIが表示される。Fluxboxを開くには、fluxコマンドを入力する。とはいえ、あくまでCLIなので、ここからできることは、設定を含め、選択したウィンドウ・マネージャや環境を直接ブートできることがすべてである。

 BT3は、SLAX/Slackwareから派生したディストリビューションであり、Slackwareのリポジトリを使って、BT3のISOに含まれないパッケージをインストールすることもできる。BT3にはSlapt-getを使用するためのメニュー・オプションがあるが、初期状態では機能しない。フォーラムをチェックして、パッケージ管理の設定に関するスレッドを参照する必要がある。

収録されているツール

 BT3には、セキュリティツール以外にも多数の標準KDEツールがある。2つのブラウザ(FirefoxとKonqueror)、3つのチャット/IMクライアント(XChat、Pidgin IM、Kopete IM)、リモート・デスクトップ・ソフトウェア(VNCサーバとRDPサーバに対応)、各種エディタ、グラフィックス・ツールなどである。しかし、セキュリティツールではなくKDEが目的だとすれば、求めるLinuxディストリビューションはこれではない。メニューを見てすぐに気が付くのは、OfficeとGamesがないことだ。要するに、これはセキュリティテスト専用のディストリビューションであって、日常向けのものではないのである。

backtrack1_thumb.png
BackTrackのメニュー階層

 ライブCDから実行しようがインストールして実行しようが、豊富なセキュリティツールを駆使できることは同じだ。右図にBackTrackメニュー階層のトップレベルを示す。メニューの階層を下ると、Metasploit Framework(Frameworks 2および3)、Milw0rm exploit archive、FastTrack、Ingumaが姿を現す。

 Metasploit FrameworkとMilw0rmはよく知られているので、いまさら説明の必要はないだろう。FastTrackは、SecureStateのReL1K(本名David Kennedy)が書いたPythonスクリプト(fast-track.py)である。FastTrackには、それ自身を含め主要なアプリケーションを簡単かつ素早く提供およびインストールするほか、充実したチュートリアル・セクションにはMetasploit AutoPwn、SQL 1433ポートのハッキング、SQLインジェクションHOWTO、FTP Brute Forcer、シェルのSpawning、脆弱性攻撃などに関するトピックも用意されている。このチュートリアルは少なくともスクリプトのアップデートを実行するまでは付属していたが、最新バージョンからは除外されている。ただし、ReL1Kに問い合わせたところ、このチュートリアルは近々SecureStateサイトで公開されるようだ。それまではマルチメディア・ビデオ・ツアーを楽しむのもよいだろう。

 Ingumaは、ネットワーク侵入テスト用のツールである。Scapyなどの機能を利用して、悪意のあるパケットを無作為に生成し、不正データ(fuzz)テストを実行できる。

 FastTrackの[Metasploit AutoPwn]メニュー項目を選択して、Ubuntu 8.04が稼働するテスト用マシンに攻撃を実行してみた。入力が必要なのはIPアドレスだけだ。残りは、Metasploitが結果を保存するSQLiteデータベースの生成を含め、すべてfast-track.pyに任せることができる。後は、AutoPwnが脆弱性を攻撃してテスト・マシンを”pwn“する(やっつける)様子を見ているだけだ。

 他のカテゴリやツールとして、「Information Gathering(情報収集)」のMaltego、「Network Mapping(ネットワーク・マッピング)」のNmap、Cisco Passwd Scanner(IPアドレス範囲を検索してデフォルトのパスワードに設定されたままのCiscoルータを探すツール)、Solar EclipseのOpenSSL-Scanner、「Vulnerability Identification(脆弱性識別)」のSQL Ninjaなどがある。各カテゴリのほんの入り口を開けて見ただけで、これだけのものがある。

ワイヤレスのセキュリティ・テスト

 KDEデスクトップでBackTrackメニューを奥へ奥へと進むと、侵入を試すにはおあつらえ向きのツールを見つけた。メニューのパスは、[BackTrack] → [Radio Network Analysis] → [80211] → [Analyser]である。ここでは、KismetまたはWicrawlのどちらかを選べる。Kismetを試すことにした。

 BT3に含まれるKismetなどの多数のワイヤレス・セキュリティ・ツールを使えるかどうかは、テストしたいワイヤレスNICに対応したドライバがあるかどうかで決まる。テストに使うNICが違うと、結果はこの記事とまったく異なる可能性がある。私がBT3をインストールしたラップトップには、AtherosベースのオンボードのワイヤレスNICが内蔵されている。このNICは、インターネットへの通常のワイヤレス・アクセスに関しては問題なく動作するが、ワイヤレスのスヌーピングや侵入に必要なコマンドを処理できない。こういったコマンドを実行するため、Netgear WPN511 PCMCIAカードとWi-Fi対応Multiband Atheros Driver(MadWifi)を使用する必要があった。

 さらにややこしいことに、ワイヤレス・セキュリティ・アプリケーションによってターゲットのドライバが異なる。必要な機能を持つドライバが手元にあったとしても、使用したいアプリケーションがそれに対応しているとは限らない。前もってカードを確認し、未サポートであればサポートされるカードを入手するか、計画を断念することになる。

 今回は、WEPで保護されたLinksys WRT54G2APアクセスポイント(AP)を通過するパケットを記録して、パスフレーズから自動的に生成される64ビットのWEPキーがどれほどクラックに耐えられるかを調べてみた。NetgearカードにKismetを使用するため、以下の手順を行った。

  • wlanconfigを使って、Netgearカードをath1として設定した。
  • ifconfig down ath0を使って、オンボードのワイヤレス・カードを無効にした。
  • /usr/local/etc/kismet.conf.backtrackを/usr/local/etc/kismet.confにコピーした。
  • source=madwifing_ng,ath1,madwifng_ngをkismet.confに追加した。

 他のAPをスキャンするつもりはなく、目的のAPが操作するチャンネルはわかっていたので、設定ファイルを編集して開始チャンネルを”6″にし、チャンネル・ホッピングを無効にした。今こうして書いていると簡単かつ単純なようだが、実際にはKismetを実行できるまで数時間かかった。

 約10,000パケットが記録されるまでKismetを実行した後で、WEP保護のクラックを試してみた。[80211] → [Cracking]には、14種類のアプリケーションがリストされている。最初にAircrack-ngを選んだが、これはリストの先頭にあったからである。結果は外れ。1、2分動いた後でAircrack-ngはクラックを諦めてしまい、約1,100件の初期化ベクタ(IV)が検出されたことを報告し、約5,000件のIVを使ってもう一度試すように告げてきた。

 肩を落とし、代わりにwep_crackを使って同じデータをもう一回試してみた。今回は、数秒後に次のようなレポートが表示された。

success: seed 0x00696d19,  [generated by aAAax,(a]
wep key 1: 7f ca 20 ef d1
wep key 2: 4c c6 42 84 1d
wep key 3: c3 00 5f 1f 3e
wep key 4: ed 22 58 11 12
1734298 guesses in 11.55 seconds:  150133.28 guesses/second

 あれほど多くのセキュリティのプロが、ワイヤレスのセキュリティにWEPを使うことに警告を発するのも当然だ。私のような足元も覚束ない老ギークですら、こうまで速やかにやすやすとWEPキーをクラックできるのである。そこらをうろつく聡明で若いスクリプト・キディーや悪辣なハッカーに何ができるかは、推して知るべしだ。

まとめ

 Backtrackは万人向けではない。これは汎用のディストリビューションではなく、特定の分野を専門とする、強力かつ要求の厳しいディストリビューションである。セキュリティのプロであれば、恐らく心底ほれ込むだろう。しかし、私のような普通のLinuxユーザにとっては、許せる以上の時間や忍耐が要求されるかもしれない。

 BT3に含まれるツールの数や品質を見れば、これがFBIやNCCDC、その他数多くの団体や個人に利用され、この分野の頂点を極めている理由がおのずと理解できる。

Linux.com 原文