ペネトレーションしのべくん

さようなら、すべてのセキュリティエンジニア

ユーザー名とパスワードの組を固定してSSH / FTPへ辞書攻撃する

はじめに

FTPSSHでの辞書攻撃を、ユーザー名とパスワードの組を固定してやりたい場合、Patetorの --groups オプションを使うといいです。

github.com

「ユーザー名とパスワードの組を固定する」とは、例えばパラメータp1、p2に対応するペイロードのリストl1、l2を用意し、以下のようにリクエストを送信することを指します。Burp Suiteのintruderでいうところのpitchforkですね。

  • 1回目…p1: l1の1行目 / p2: l2の1行目
  • 2回目…p2: l1の2行目 / p2: l2の2行目
  • 3回目…p2: l1の3行目 / p2: l2の3行目

Burp Suiteを例に挙げている通り、HTTP(S)を対象としたツールでは見かける動作モードなのですが、SSH / FTPでもやりたいなーと思ったらいつも使っているHydraではできなさそうだったので、探してみたところPatatorならできた、というのが経緯です。

Patator(および、同種のツールの多く)では、デフォルトだと以下のように全ての組み合わせを試す動作します。intruderではclusterbombと呼ばれているやつです。

  • 1回目…p1: l1の1行目 / p2: l2の1行目
  • 2回目…p2: l1の1行目 / p2: l2の2行目
  • 3回目…p2: l1の1行目 / p2: l2の3行目

やり方

--groups の引数として、組にしたいファイルの番号をコロン区切りで与えればOKです。

patator ftp_login host=192.0.2.1 user=FILE0 password=FILE1 0=usernames 1=passwords --groups 0:1