CeWLとは?カスタム単語リストを生成するツール
CeWL(Custom Word List generator)は、
Webサイトをクロールして、そこに記載された単語を収集し、
カスタム単語リストを生成するツールです。
特にセキュリティ調査や
パスワードクラックのワードリスト作成に使用されることが多く、
ペネトレーションテストやセキュリティ監査の一環として利用されます。
例えば、
Webサイトに多く使われている単語を集め、
そのサイトに関連するパスワードを推測するために
使用するのが典型的なケースです。
これにより、
特定のターゲットに向けた精度の高いワードリストを作成できます。
CeWLの機能
CeWLは以下の機能を提供します。
- Webサイトの単語リスト生成
指定したWebページをクロールし、
単語リストを収集します。
これにより、
Webページに記載された特定の単語や
フレーズを含むカスタムリストが得られます。 - メタデータ抽出
CeWLはWebページ内のメタデータ
(タイトル、キーワード、説明など)も抽出し、
より豊富なリストを生成します。 - メールアドレスの収集
Webサイトに記載されたメールアドレスも収集でき、フ
ィッシングテストなどのセキュリティ用途に役立ちます。
ツールの場所とセットアップ
ツールの場所
CeWLは、
主にセキュリティツールとして
有名なKali Linuxなどのディストリビューションに
プリインストールされています。
その他のLinux環境やMacOS、
WindowsでもRubyがインストールされていれば使用可能です。
セットアップ方法
以下は、
Kali Linux以外の環境でのCeWLインストール方法です。
# Rubyがインストールされているか確認
ruby -v
# CeWLをインストール
sudo gem install cewl
これでCeWLのセットアップが完了し、
すぐに使用可能です。
CeWLの使い方
CeWLを使って、
特定のWebサイトから単語リストを
生成する基本的なコマンドは以下の通りです。
cewl http://example.com
上記のコマンドは、example.com
から単語を収集し、
デフォルトの設定で結果を出力します。
収集された単語は標準出力に表示され、
これをファイルに保存したい場合はリダイレクトを使用します。
cewl http://example.com > wordlist.txt
CeWLの強力な機能は、
多彩なオプションによってさらにカスタマイズ可能です。
オプション解説 (OPTIONS)
CeWLには、多くのオプションがあります。
ここでは、よく使われるオプションについて簡単に説明します。
-d <x>
, –depth <x>
クロールの深さを指定します。-d 2
のようにすると、
リンクをたどって2階層目のページもクロールします。-m <x>
, –min_word_length <x>
最低文字数を指定します。
例えば、-m 5
と指定すると、
5文字以上の単語だけがリストに含まれます。-e
, –email
Webサイトからメールアドレスを収集します。-a
, –meta
メタデータ(タイトル、キーワード、説明)を抽出します。-o
, –offsite
オフサイトのリンクもクロールするオプションです。
デフォルトでは、同一ドメインのページのみクロールします。
認証(Authentication)の設定
認証が必要なWebページをクロールする場合、
CeWLには認証情報を指定するオプションがあります。
--auth_user
と--auth_pass
これらを使用して、ベーシック認証が
必要なWebサイトにアクセスできます。
cewl --auth_user username --auth_pass password http://example.com
これにより、ログインが必要なページからも単語リストを生成できます。
プロキシ対応(Proxy Support)
プロキシサーバを経由してCeWLを使用する場合は、
以下のオプションを利用して設定できます。
--proxy_host
と--proxy_port
プロキシのホスト名とポートを指定します。--proxy_username
と--proxy_password
認証が必要なプロキシの場合、
ユーザー名とパスワードを指定します。
cewl --proxy_host 192.168.1.1 --proxy_port 8080 --proxy_username user --proxy_password pass http://example.com
ヘッダー(Headers)の設定
カスタムHTTPヘッダーを使用する場合、
以下のオプションを使用します。
-H
, –header
リクエストに特定のヘッダー情報を追加できます。
cewl -H "User-Agent: Mozilla/5.0" http://example.com
これにより、特定のクライアントとして振る舞い、
アクセスが制限されたページをクロールすることも可能です。
まとめ
CeWLは、
Webページから効果的に単語リストを生成できる強力なツールです。
特にセキュリティ調査やペネトレーションテストの文脈で、
ターゲットに関連するパスワードリストをカスタマイズできるのが大きな強みです。
オプションを駆使して、
認証ページやプロキシ経由のサイトからもデータを収集することができるため、
幅広い用途に対応しています。
初心者でも基本的なコマンドを覚えれば
すぐに使いこなせるため、
セキュリティ分野での最初の一歩として非常におすすめです。