最初に
2人が作っているWebサイトの脆弱性をついていくRoomです
Task1
Deploy the machine and connect to our network
マシンを起動するだけです!
Find the services exposed by the machine
気になるのは以下ですね
- 22番:SSH
- 80番:HTTP
- 445番:SMB
- 8080番:HTTP-proxy
SSHとSMBはユーザー名・パスワードがわからないので置いておいて、HTTPで接続してみます。
メンテナンス中と記載されたWebページがでてきました。
8080番ポートを指定するとTomcatのページがでてきましたが、特に情報はなさそうですね、、
What is the name of the hidden directory on the web server(enter name without /)?
gobusterをした結果、development
というディレクトリがあるみたい
dev.txt
2018-04-23: I've been messing with that struts stuff, and it's pretty cool! I think it might be neat
to host that on this server too. Haven't made any real web apps yet, but I have tried that example
you get to show off how it works (and it's the REST version of the example!). Oh, and right now I'm
using version 2.5.12, because other versions were giving me trouble. -K
2018-04-22: SMB has been configured. -K
2018-04-21: I got Apache set up. Will put in our content later. -J
j.txt
For J:
I've been auditing the contents of /etc/shadow to make sure we don't have any weak credentials,
and I was able to crack your hash really easily. You know our password policy, so please follow
it? Change that password ASAP.
-K
JやKで始まるユーザー名があるのかな。。。
User brute-forcing to find the username & password
回答する必要はないのですが、ブルートフォースをするみたいですね。
What is the username?
ここでユーザー名・パスワードの両方わからない状態でSSHをブルートフォースをしてみたけど、時間がかかりすぎ、、、
わからくなったので、以下のWriteupを見ていると、enum4linux
をつかうとあった?!
enum4linuxは何なのか調べてみた
enum4linuxツールは、Sambaを介して情報を抽出できるツールです。
引用元:https://whitemarkn.com/learning-ethical-hacker/enum4linux/
そういえば、445番ポート開いていた。。。
以下を実行するとユーザー名が手に入りました!
enum4linux -a 10.10.125.14
What is the password?
ここはhydraを使います!
ユーザー名わかっているとはやいですね~~~
(回答欄が7文字だったので、rockyou.txtから7文字のものだけを通出しています(;^ω^))
これでパスワードが見つかります!!
What service do you use to access the server(answer in abbreviation in all caps)?
Find the services exposed by the machineで開いていたポートの中から選びます!
What is the name of the other user you found(all lower case)?
What is the username?のところで二つのユーザー名があったので、それが答えです!
What is the final password you obtain?
janでログインした後にフォルダーを探っているとkayのフォルダーも見つけた
その中にpass.bak
という明らかに怪しいファイルがあったが、アクセス権限がないため見れない。。。
おそらくこれが最後の回答になると思ったので、何とかしてkayのアカウントでsshしたい!
ということで、kayのフォルダーで.sshのフォルダーを見てみると
秘密鍵があった!
これをscpでローカルに落としてきたが、パスワードかかっている(キャプチャ取ったのが最後だったので、横にあるファイルは見逃してください。。。)
というわけで、JohnTheRipperでパスワードクラッキングしていきます
ただ、そのままでは秘密鍵をJohnTheRipperでは処理できないので、ssh2john.py
で変換します
そして、rockyou.txtをパスワードリストとして実行すると秘密鍵のパスワードがとれました!
秘密鍵を使ってSSHしようとしても、エラーがでる。。。
調べてみると、秘密鍵id_rsa
のアクセス権限が緩すぎることが原因みたいだったので、アクセス権限を所有者にのみしたら、うまくいった!!
あとはpass.bakをひらけば答えがでます
さいごに
以下3つの学びがありました!
- SMBのポート(445番)が開いているサーバーにはenum4linuxでユーザー情報がとれる
- SSHはパスワードの他に秘密鍵でもアクセスできる(見落としていた。。)
- 秘密鍵はアクセス権限が緩すぎると使えなくなる