ハッカーはdirbコマンドでウェブサイトの裏側にあるディレクトリやファイルから脆弱性を見つける

ペネトレーションテスト&バグバウンティ

dirb(ディレクトリバスター)コマンドは、ウェブサイトやウェブアプリケーションの中にある隠れたディレクトリやファイルを見つけるための探偵のようなツールです。
例えば、お店の裏口や秘密の部屋を見つける「マル秘」ツールなのです。

dirbコマンドとは

dirbコマンドは、ハッカーがハッキングや、ペネトレーションテスト、バグハンティングを行う際に、ウェブサイトやウェブアプリケーションのディレクトリ・ファイルの探索に使用されるツールです。主にペネトレーションテストやセキュリティ評価の際に利用されます。
dirbコマンドの主な機能は以下の通り。
 
1.ディレクトリ探索
dirbは指定されたURLに対してディレクトリ探索を行います。これにより、ウェブサーバー上に存在するディレクトリやファイルを検出することができます。この情報は、攻撃者がシステムに侵入する際に役立ちます。
 
2.ブルートフォース攻撃
dirbは、ブルートフォース攻撃を実行する際に使用されます。特定のパターンに基づいてディレクトリ名やファイル名を推測し、存在するものを特定します。これにより、攻撃者はシステム内の隠されたディレクトリやファイルにアクセスすることができます。
 
3.ディレクトリリストの取得
dirbは、ウェブサーバー上に存在するディレクトリのリストを取得することができます。これにより、システムの構造やファイル配置を理解するのに役立ちます。
 
4.カスタムワードリストの使用
dirbは、カスタムワードリストを使用して探索を行うことができます。これにより、ユーザーが独自の辞書を作成し、それを使用して攻撃を行うことが可能です。
 
 

dirbコマンドの基本的な使用方法

1.dirbコマンドはKali Linuxにすでにインストールされています。
Kali Linuxを立ち上げて、ターミナルを起動します。
 
2.dirbコマンドの基本的なコマンドの構文
dirb <target_URL> <wordlist_file>
<target_URL> 探索対象のURLを指定します。
<wordlist_file> 使用するワードリストファイルのパスを指定します。デフォルトでは、dirbは組み込みのワードリストを使用しますが、カスタムのワードリストを指定することもできます。
 
※デフォルトのwordlist_fileは
/usr/share/dirb/wordlists/common.txt です。
 
 

ここで利用する「やられサーバー」(脆弱サーバ)

ここでは、私のテスト環境である「やられサーバOWASP BWA」を利用します。
もし、インストールされるならこちらが参考になると思います。
 
 

実践的なハッキングシナリオ

コマンドの実行

dirb http://10.0.2.6 -o dirb_output.txt 
※http://10.0.2.6は私の「やられサーバー」のアドレスです。
※-o dirb_outpur.txtは、出力結果が多いため、ファイルに出力します。
後でキーワードで検索するため、ファイルに出力したほうが便利です。
     :データ量が多い為端折っています。
     :データ量が多い為端折っています。
これで処理が完了しました。
 

出力結果の確認

1.出力結果のステータスコードの確認
(CODE:XXX|SIZE:XXXX)の"CODE:XXX“がステータスコードになります。
ステータスコードとは、ウェブサーバーからの応答に含まれるHTTPステータスコードのことです。
HTTPステータスコードは、ウェブサーバーがクライアントに対して送信する応答の状態を示す3桁の数字です。
dirbコマンドを使用して行ったディレクトリ探索の結果を確認する際に特に重要なステータスコードは、以下のステータスコードになります。
 
・CODE:200 OK
リクエストが成功し、リソースが正常に返されました。これは、ディレクトリが見つかったことを示します。
 
・CODE:301 Moved Permanently (恒久的に移動した)
リクエストされたリソースが恒久的に新しい場所に移動されたことを示します。通常、リダイレクト先のURLも表示されますので、移動先のディレクトリを確認することができます。
 
・CODE:302 Found (発見された)
リクエストされたリソースが一時的に新しい場所に移動されたことを示します。同様に、リダイレクト先のURLも表示されます。
 
・CODE:403 Forbidden (禁止されています)
リクエストされたリソースへのアクセスが禁止されていることを示します。これは、セキュリティ上の制限があるディレクトリである可能性があります。
 
・CODE:404 Not Found (見つかりません)
リクエストされたリソースが見つかりませんでした。これは、ディレクトリが存在しないことを示します。
 
※これらのステータスコードを確認することで、ディレクトリ探索の結果を評価し、隠れたディレクトリやファイルを特定することができます。
 
2.確認方法
大量に情報が出力されます。
サンプルとしていくつか確認していきます。
 
・+ http://10.0.2.6/phpmyadmin/index.php (CODE:200|SIZE:8625) 
このアドレスをブラウザで参照すると
「phpMyAdmin」のログイン画面が表示されました。
 
・+ http://10.0.2.6/joomla/administrator/index.php (CODE:200|SIZE:4119)
このアドレスをブラウザで参照すると
「Joomla! Administration 」のログイン画面が表示されました。
 

脆弱性の確認

上記の画面より、ブルートフォース攻撃で不正アクセスを試みたりします。
また、見つけたディレクトリやファイルから、ディレクトリトラバーサル(Path Traversal)攻撃の可能性を探索します。これにより、攻撃者がセキュリティ上のリスクを引き起こす可能性のあるディレクトリトラバーサルの脆弱性を特定できます。
 
 

ハッカーはdirbコマンドでウェブサイトの裏側にあるディレクトリやファイルから脆弱性を見つけるのまとめ

dirbコマンドは、ペネトレーションテストで使用されるツールの一つであり、ウェブサイトやウェブアプリケーションのディレクトリを再帰的に探索し、存在する可能性のある脆弱性を特定します。ホワイトハッカーは、dirbを活用してディレクトリトラバーサルの脆弱性を発見し、セキュリティを向上させるための重要な手段として利用しています。
 
簡単な操作でサイトのディレクトリー構成もおおよそ確認できます。
ぜひ、ファイルに出力してじっくりみたいですね。