MSFでパスワードアタック

Kalilinux

online password attackシリーズも5ツール目になりました。

今回はMetasploit Frameworkでのsshログイン時のパスワード攻撃の話です。

Metasploit Frameworkは多数のモジュールを使って様々な機能を発揮します。

で、今回は該当のモジュールを使ってsshサーバーのパスワード破りを行います。

例によって、左のラズパイ5から右のラズパイ4Bへ攻撃を仕掛けます。

raspberry pi 45 4B

他人の管理下のサーバーを攻撃することは犯罪行為となります。くれぐれも自分の管理下サーバーで行いましょう。

攻撃編

ツールの起動

kali ー 08-Exploitation Tools ー metasploit framework を選択します

MSF

msfコンソールが立ち上がります。(バージョンは6.4.5)

MSF console

モジュールの検索

具体的にどのモジュールを選べばいいのかを、まずは検索します。

  • app:    入力値(client/server)
  • auther:   モジュールの作者名
  • type:   モジュールのタイプ 入力値 [ auxiliary(侵入の準備)/ exploit(侵入)/ payload(侵入後の接続の確立)/ post(接続後のハッキング操作)/ encoder(暗号化)/ nop(何もしない)]
  • name:   モジュールの名前
  • platform:  OSやアプリケーションの種類
  • bid:    脆弱性データベースのID
  • cve:    脆弱性データベースのID
  • edb:    脆弱性データベースのID
  • osvdb:   脆弱性データベースのID

今回は、名前に ” ssh ” が含まれるモジュールを検索してみます。

こんな感じで全部で96項目ヒットしました。

MSF search

31番に ” ssh_login ” がありますので、このモジュールを採用します。

MSF search2

モジュールの搭載

モジュールの搭載は ” use ” を使います。

今回は31番目のモジュールを搭載するので、

プロンプトが ” msf6 auxiliary(scanner/ssh/ssh_login) ” となっており、 ” ssh_login ” がモジュールとして搭載されているのが分かります。

MSF use

オプションの設定

搭載したモジュール毎に異なる様々なオプションを設定しなければなりません。

設定事項の確認

まずは、どんなオプションを設定しなければならないかを見てみます。

MSF show option

” Required ” 欄が ” yes ” の項目が必須項目です。

” yes ” の左側が空欄になっている場合は少なくとも空欄を埋めなければなりません。

設定

今回は下記を順次設定していきます。設定は ” set ” コマンドです。

設定事項構文今回設定する値
パスワードファイルset PASS_FILE/home/kali/rockyou100.txt
ターゲットホスト名
又はIPアドレス
set RHOST192.168.11.21
パスワードを見つけたら停止set STOP_ON_SUCCESStrue
ユーザ名set USERNAMEkali

パスワードファイルの ” rockyou100.txt ” は、100番目に当たりパスワードを挿入した辞書ファイルです。

MSF set
MSF set2

当たりを見つけたらストップ(STOP_ON_SUCCESS)を、 ” true (有効) ” にしておきます。

MSF set3

設定確認

もう一度 ” show options ” コマンドで設定の結果を確認します。

MSF set option

こんな感じ、必須設定項目は埋まっています。

” BRUTEFORCE_SPEED ” (攻撃速度)は ” 0〜5 ” で設定出来、5が最速です。デフォルトは5となっています。

” THREADS ” (同時接続数)は、デフォルトでは1となっています。

攻撃実行

” run ” コマンドで攻撃実行されます。

実行結果:3行目に正しいパスワードが表示されています。攻撃成功です。

MSF run

実行には6分36秒かかりました。

守備側

それでは接続される側のサーバー側のログを見てみます。

” -S ” の後に攻撃開始日時、 ” -U ” の後に攻撃終了日時を入力します。

1人1回ずつ攻撃して、失敗したら次の人(別のポート番号)に代わってまた攻撃。を繰り返しています。

jounalctl

100人目の40521氏(ポート番号40521)が当たりパスワードを引き当てています。

jounalctl2

まとめ

各ツールデフォルト設定での、100試行目でパスワードが解読されるまでの速さの比較表です。

ツール解読時間最大接続数経過表示
Patator44秒10される
Ncrack63秒10から漸増されない
Hydra78秒16されない
Medusa6分26秒1される
MSF6分36秒1されない

同時接続数の多いツールは速く、そうでないツールは遅いですが、この数は設定による調整が可能な場合も多いです。

また単に多ければ良いという訳ではなく、最適な数はサーバー側の最大受付数の設定に影響されると考られます。

コメント

タイトルとURLをコピーしました