
hydra
H Y D R A
(c) 2001-2023 by van Hauser / THC
<[email protected]> https://github.com/vanhauser-thc/thc-hydra
Many modules were written by David (dot) Maciejak @ gmail (dot) com
BFG code by Jan Dlabal <[email protected]>
Licensed under AGPLv3 (see LICENSE file)
軍事機関や秘密情報機関、または違法な目的で使用しないでください。
(これは作者の希望であり、拘束力はありません。これらの組織で働く多くの人々はそもそも法律や倫理を気にしません。
これを無視するなら、あなたは「善良な」側の人間ではありません。)
注:いいえ、これはマークダウンドキュメントではありません!古き良きスタイル!
Hydraの最新のGitHub状態は、Dockerを介して直接ダウンロードできます:``` docker pull vanhauser/hydra
INTRODUCTION
------------
最大のセキュリティホールの一つはパスワードです。これはあらゆるパスワードセキュリティ研究が示しています。
このツールは、研究者やセキュリティコンサルタントが、リモートからシステムへの不正アクセスがいかに簡単かを示すための概念実証コードです。
このツールは法的な目的のみに使用してください!
すでに複数のログインハッキングツールが存在しますが、複数のプロトコルを攻撃できるものや、並列接続をサポートするものはほとんどありません。
このツールは、Linux、Windows/Cygwin、Solaris、FreeBSD/OpenBSD、QNX (Blackberry 10)、MacOS でクリーンにコンパイルできることが確認されています。
現在、このツールは以下のプロトコルをサポートしています:
Asterisk, AFP, Cisco AAA, Cisco auth, Cisco enable, CVS, Firebird, FTP,
HTTP-FORM-GET, HTTP-FORM-POST, HTTP-GET, HTTP-HEAD, HTTP-POST, HTTP-PROXY,
HTTPS-FORM-GET, HTTPS-FORM-POST, HTTPS-GET, HTTPS-HEAD, HTTPS-POST,
HTTP-Proxy, ICQ, IMAP, IRC, LDAP, MEMCACHED, MONGODB, MS-SQL, MYSQL, NCP, NNTP, Oracle Listener,
Oracle SID, Oracle, PC-Anywhere, PCNFS, POP3, POSTGRES, Radmin, RDP, Rexec, Rlogin,
Rsh, RTSP, SAP/R3, SIP, SMB, SMTP, SMTP Enum, SNMP v1+v2+v3, SOCKS5,
SSH (v1 and v2), SSHKEY, Subversion, Teamspeak (TS2), Telnet, VMware-Auth,
VNC and XMPP.
ただし、新しいサービスのモジュールエンジンは非常に簡単なので、さらに多くのサービスがサポートされるようになるまでにそれほど時間はかかりません。
モジュールの作成、拡張、修正に関するご協力を大いに歓迎します!! :-)
WHERE TO GET
------------
Hydra の最新リリース/プロダクションバージョンは、常にプロジェクトページ https://github.com/vanhauser-thc/thc-hydra/releases で入手できます。
現在の開発状況に興味がある場合、公開開発リポジトリは GitHub 上にあります:
svn co https://github.com/vanhauser-thc/thc-hydra
または
git clone https://github.com/vanhauser-thc/thc-hydra
開発版は自己責任で使用してください。新機能と新しいバグが含まれています。動作しない可能性があります!
別の方法(より簡単)として、Docker コンテナとしてプルすることもできます:```
docker pull vanhauser/hydra
設定、コンパイル、そしてHydraをインストールするには、以下のように入力してください:``` ./configure make make install
If you want the SSH module, you have to set up libssh (not libssh2!) on your
system, get it from https://www.libssh.org, for ssh v1 support you also need
to add the "-DWITH_SSH1=On" option in the cmake command line.
IMPORTANT: If you compile on macOS, you must do this - do not install libssh via Homebrew.
If you use Ubuntu/Debian, this will install the supplementary libraries needed
for a few optional modules (note that some might not be available on your distribution):
SSHモジュールを使用したい場合は、システムにlibssh(libssh2ではありません!)をセットアップする必要があります。https://www.libssh.orgから入手し、ssh v1サポートが必要な場合は、cmakeコマンドラインに「-DWITH_SSH1=On」オプションを追加する必要もあります。
重要:macOSでコンパイルする場合は、これを必ず行ってください。Homebrew経由でlibsshをインストールしないでください。
Ubuntu/Debianを使用している場合、これにより一部のオプショナルモジュールに必要な補足ライブラリがインストールされます(一部のモジュールはお使いのディストリビューションでは利用できない場合があることに注意してください):```
apt-get install libssl-dev libssh-dev libidn11-dev libpcre3-dev \
libgtk-3-dev libmysqlclient-dev libpq-dev libsvn-dev \
firebird-dev libmemcached-dev libgpg-error-dev \
libgcrypt11-dev libgcrypt20-dev freetds-dev
これにより、Oracle、SAP R/3、NCP、Appleファイルプロトコルを除くすべてのオプションモジュールと機能が有効になります。これらはベンダーのWebサイトからダウンロードしてインストールする必要があります。
その他のLinux派生OSおよびBSDベースのシステムでは、システムソフトウェアインストーラを使用し、上記のコマンドのように同様の名前のライブラリを探してください。それ以外の場合は、すべてのソースライブラリをダウンロードして手動でコンパイルする必要があります。
hydra とだけ入力すると、利用可能な主要オプションの短い要約が表示されます。
./hydra -h と入力すると、すべてのコマンドラインオプションが表示されます。
ログイン/パスワードファイルは含まれていませんので、ご自身で生成してください。 ただし、デフォルトのパスワードリストは用意されています。「dpl4hydra.sh」を使用してリストを生成してください。
Linuxユーザー向けにはGTK GUIも利用可能です。./xhydra を試してください。
コマンドラインでの使用法は以下の通りです: 1つのターゲットまたはネットワークを攻撃する場合は、新しい「://」スタイルを使用できます: hydra [いくつかのコマンドラインオプション] PROTOCOL://TARGET:PORT/MODULE-OPTIONS 従来のモードもこれらの用途で使用できます。また、テキストファイルからターゲットを指定したい場合は、必ず以下のモードを使用する必要があります:``` hydra [some command line options] [-s PORT] TARGET PROTOCOL [MODULE-OPTIONS]
コマンドラインオプションを使用して、試行するログイン、パスワード、SSLを使用するかどうか、攻撃に使用する並列タスク数などを指定します。
PROTOCOL は攻撃に使用するプロトコルです。例: ftp、SMTP、http-get など多数あります。
TARGET は攻撃対象です。
MODULE-OPTIONS は各PROTOCOLモジュールに固有のオプション値です。
最初 - ターゲットを選択
攻撃対象を指定する方法は3つあります:
1. コマンドラインで単一のターゲット: IPまたはDNSアドレスを入力
2. コマンドラインでネットワーク範囲: "192.168.0.0/24" のようなCIDR表記
3. テキストファイル内のホストリスト: 1行に1エントリ(以下参照)
第二 - プロトコルを選択
telnetは正しいログイン試行か偽のログイン試行かの検出に信頼性がないため、避けるようにしてください。
ポートスキャナを使用して、ターゲットで有効なプロトコルを確認してください。
第三 - モジュールにオプションパラメータがあるか確認
hydra -U PROTOCOL
例: hydra -U smtp
第四 - 宛先ポート
これはオプションです。ポートが指定されない場合、そのPROTOCOLのデフォルトの共通ポートが使用されます。
SSLを使用する場合("-S"オプション)、デフォルトでSSLの共通ポートが使用されます。
"://" 表記を使用する場合、IPv6アドレスまたはCIDR表記("192.168.0.0/24")を攻撃対象として指定するには、"[" "]" のブラケットを使用する必要があります。
hydra [some command line options] ftp://[192.168.0.0/24]/
hydra [some command line options] -6 smtps://[2001:db8::1]/NTLM
Hydraが行うすべての動作はIPv4のみであることに注意してください。
IPv6アドレスを攻撃する場合は、"-6" コマンドラインオプションを追加する必要があります。
その場合、すべての攻撃はIPv6のみになります。
テキストファイルを介してターゲットを指定する場合、:// 表記は使用できません。古いスタイルを使用して、プロトコル(およびモジュールオプション)のみを指定します。
hydra [some command line options] -M targets.txt ftp
また、ファイル内のターゲットエントリの後に ":<port>" を追加することで、各ターゲットエントリのポートを指定できます。例:```
foo.bar.com
target.com:21
unusual.port.com:2121
default.used.here.com
127.0.0.1
127.0.0.1:2121
注意:IPv6 ターゲットをアタッチする場合、-6 オプションを指定する必要があり、
ファイル内の IPv6 アドレスは 必ず括弧で囲む必要があります(!) 次のように:```
foo.bar.com
target.com:21
[fe80::1%eth0]
[2001::1]
[2002::2]:https://raw.githubusercontent.com/vanhauser-thc/thc-hydra/master/8080
[2a01:24a:133:0:00:123:ff:1a]
ログインとパスワード
--------------------
ログインとパスワードによる攻撃には、多くのオプションがあります。
-l でログイン、-p でパスワードを指定すると、Hydra にこれが試行する唯一のログインおよび/またはパスワードであることを伝えます。
-L でログインファイル、-P でパスワードファイルを指定すると、エントリを含むテキストファイルを提供します。
例:```
hydra -l admin -p password ftp://localhost/
hydra -L default_logins.txt -p test ftp://localhost/
hydra -l admin -P common_passwords.txt ftp://localhost/
hydra -L logins.txt -P passwords.txt ftp://localhost/
さらに、「-e」オプションを使用して、ログインに基づいたパスワードを試すこともできます。「-e」オプションには、次の3つのパラメーターがあります。``` s - try the login as password n - try an empty password r - reverse the login and try it as a password
例えば、"try login as password" や "empty password" を試したい場合は、コマンドラインで "-e sn" を指定します。
しかし、-p/-P 以外にもパスワードを試すためのモードが2つあります:
ログインとパスワードのペアがコロンで区切られたテキストファイルを使用することもできます。例:```
admin:password
test:test
foo:bar
これは、Hydraに付属するdpl4hydra.shデフォルトアカウントファイルジェネレータによっても生成される、一般的なデフォルトアカウントスタイルのリストです。 このようなテキストファイルは-Cオプションで使用します - このモードでは-l/-L/-p/-Pオプションは使用できません(ただし-e nsrは使用できます)。 例:``` hydra -C default_accounts.txt ftp://localhost/
そして最後に、-xオプションを使用したブルートフォースモードがあります(-p/-P/-Cとは併用できません):```
-x minimum_length:maximum_length:charset
文字セットの定義は、小文字には a、大文字には A、数字には 1 を使用し、それ以外の文字については、提供されたものがそのまま実際の表現として使用されます。例:```
-x 1:3:a generate passwords from length 1 to 3 with all lowercase letters
-x 2:5:/ generate passwords from length 2 to 5 containing only slashes
-x 5:8:A1 generate passwords from length 5 to 8 with uppercase and numbers
-x '3:3:aA1&~#\ "'<{([-|_^@)]=}>$%*?./§,;:!`' -v generates length 3 passwords with all 95 characters, and verbose.
例:```
hydra -l ftp -x 3:3:a ftp://localhost/
第3コマンドラインパラメータ (TARGET SERVICE OPTIONAL) または -m コマンドラインオプションにより、モジュールに1つのオプションを渡すことができます。 多くのモジュールがこれを使用します。一部のモジュールでは必須です!
モジュールの特別オプションを表示するには、次のように入力します:
hydra -U
例:
./hydra -U http-post-form
特別オプションは、-m パラメータ、第3コマンドラインオプション、または service://target/option 形式で渡すことができます。