hydraのパラメータ説明
hydraは、大文字と小文字を区別します。
-R #前回の進捗状況から続けて破解する。 -S #SSL接続を使用する。 -s #PORT 非デフォルトポートを指定する。 -l #LOGIN 特定のユーザーに対する破解を行う。 -L #FILE ユーザーリストファイルを指定する。 -p #PASS 小文字。特定のパスワードで破解を行う(あまり使われない)。 -P #FILE 大文字。パスワードリストファイルを指定する。 -e #ns オプション。n: 空パスワードの試行、s: 指定されたユーザーとパスワードの試行。 -C #FILE コロンで区切られた形式のファイル(例: "ユーザー名:パスワード")を指定して、-L/-Pパラメータの代わりに使用する。 -M #FILE 対象リストファイルを指定する。1行に1つの対象。 -o #FILE 結果を出力するファイルを指定する。 -f #-Mパラメータを使用した場合、最初のログイン名またはパスワードが見つかった時点で破解を終了する。 -t #TASKS 同時に実行するスレッド数(デフォルトは16)。 -w #TIME 最大タイムアウト時間(秒単位、デフォルトは30秒)。 -v/-V #詳細なプロセスを表示する。 server #対象IP service #サービス名 OPT #オプション
使用方法:hydra <パラメータ> <IPアドレス> <サービス名>
操作例
ここでは、弱いパスワードのテキストファイルを使用してデモを行います。実際の環境では強力な辞書が必要です。
- SSHの破解:
hydra -L user.txt -P pass.txt -t 2 -vV -e ns 192.168.124.10 ssh
- FTPの破解:
hydra ip ftp -l ユーザー名 -P パスワードリスト -e ns -vV
- Teamspeakの破解:
hydra -l ユーザー名 -P パスワードリスト -s ポート番号 -vV ip teamspeak
- POP3の破解:
hydra -l muts -P pass.txt my.pop3.mail pop3
上記のように、破解の成功はパスワードリストの強さに大きく依存します。Kaliには多くの辞書が含まれており、以下のパスにあります。
cd /usr/share/wordlists/ ls
以下にいくつかのディレクトリとその内容を示します。
dirb
big.txt #大規模な辞書 small.txt #小規模な辞書 catala.txt #プロジェクト設定辞書 common.txt #一般的な辞書 euskera.txt #データディレクトリ辞書 extensions_common.txt #一般的なファイル拡張子辞書 indexes.txt #トップページ辞書 mutations_common.txt #バックアップ拡張子 spanish.txt #メソッド名やライブラリディレクトリ others #拡張ディレクトリ、デフォルトユーザー名、デフォルトパスワード等 stress #ストレステスト用 vulns #脆弱性テスト用
dirbuster
apache-user-enum-** #Apacheユーザー列挙 directories.jbrofuzz #ディレクトリ列挙 directory-list-1.0.txt #ディレクトリリスト
必要なサービスに応じて適切な辞書を使用します。
辞書生成ツールcrunch
基本的なコマンド:
crunch 最小桁数 最大桁数 指定範囲
例として、3桁と4桁の数字からなるパスワードリストを生成し、その数字は6,7,8,9のみを使用する場合:
crunch 3 4 6789 >>/home/kali/Desktop/pass.txt