Kali Linux 2021.1でdirsearchを使用しWeb サーバー内のディレクトリとファイルを検索する
スポンサーリンク
Kali Linux 2021.1でdirsearchを使用しWebサーバー内のディレクトリとファイルを検索してみます。
dirsearch(https://github.com/maurosoria/dirsearch)は、Webサーバー内のディレクトリやファイルをブルートフォースするために設計された高度なコマンドラインツールです。ウェブパススキャナーとも呼ばれています。このツールを使用することで、Webサーバー内に侵入し、複雑なコンテンツの発見を容易にすることができます。
なお、サイバーセキュリティ対策や情報セキュリティ教育が目的でツールを利用しますので、悪用・違法行為が目的はございません。ツールを利用することで発生したトラブルや損失、損害(ウイルス感染など)に対して、一切責任を負いません。
■PC環境
Windows 10 Pro
VirtualBox6.1
Kali Linux 2021.1(Debian (64-bit),Python 3.9.2)
■Kali Linuxを起動する
クリックすると、Kali Linuxが起動します。起動後、ログイン画面が表示されますのでユーザIDとパスワードを入力し「Log in」ボタンをクリックします。
クリックすると、Kali Linuxにログインすることができました。
ログイン後、上部メニューになる「ターミナルエミュレーター」をクリックし、ターミナルを起動します。
$sudo su
起動後、上記のコマンドを入力し、Enterキーを押します。スーパーユーザ(root)権限に切り替えます。
■dirsearchのインストール
#git clone https://github.com/maurosoria/dirsearch.git
切り替えた後に、上記のコマンドを入力し、Enterキーを押します。リポジトリをクローンします。
cloning into 'dirsearch' ... remote: Enumerating objects: 8536, done. remote: Counting objects: 100% (1216/1216), done. remote: Compressing objects: 100% (509/509), done. remote: Total 8536 (delta 790), reused 1038 (delta 698), pack-reused 7320 Receiving objects: 100% (8536/8536), 20.32 MiB | 3.52 MiB/s, done. Resolving deltas: 100% (5549/5549), done.
#cd dirsearch
クローン後、上記のコマンドを入力し、Enterキーを押します。「dirsearch」ディレクトリに移動します。
#pip3 install -r requirements.txt
移動後、上記のコマンドを入力し、Enterキーを押します。依存関係をインストールします。Enterキーを押すと、インストールが開始され、「Successfully installed」と表示されれば、完了となります。
■dirsearchのインストール確認
#python3 metafinder.py -h
完了後、上記のコマンドを入力し、Enterキーを押します。インストール確認のために、ヘルプを表示してみます。
Enterキーを押すと、ヘルプが表示されました。これでインストールの確認は完了となります。
■Web サーバー内のディレクトリとファイルを検索する
#python3 dirsearch.py -u <対象のWebサーバー>
#python3 dirsearch.py -u https://xxx.com/ <対象のURL>
インストールの確認はできましたので、Web サーバー内のディレクトリとファイルを検索します。検索するために、上記のコマンドを入力し、Enterキーを押します。今回はセキュリティ教育のために、当サイト(https://laboratory.kazuuu.net/)を指定し、実行してみます。
Enterキーを押すと、検索が開始されます。開始されると、発見されたディレクトリ、サブディレクトリ、およびファイルのパスが出力されます。また有効なファイルのステータス コードが出力されます。
■ .php 拡張子のみを結果に出力させる
#python3 dirsearch.py -u https://xxx.com/ --suffix .php
■ .php 拡張子を除外する
#python3 dirsearch.py -u https://xxx.com/ -X .php
今回は、Webサーバー内で発見された全てのディレクトリ、サブディレクトリ、およびファイルのパスが出力されましたが、上記のように、特定の拡張子のみを出力させたり、除外することもできます。