TryHackMe Basic Pentesting writeup
Basic Pentestingのwriteupです。
Deploy the machine and connect to our network
Start Machineでターゲットを立ち上げて、VPNで接続(またはAttack Boxを立ち上げ)すれば終わりです。
Find the services exposed by the machine
nmap -sV ターゲットのIPアドレス でサービスを調べる。
What is the name of the hidden directory on the web server(enter name without /)?
gobusterでWebのディレクトリを調べる。 すると、developmentディレクトリが検出された。
What is the username? / What is the password?
developmentにアクセスしてみると、dev.txtとj.txtがあることが分かる。
開発用の一時ファイルがpublicに見える場所に置かれているアンチパターンですね。
j.txtを開いてみると
dev.txtを開いてみると
SMBが設定されているようなので、enum4linuxで情報を取ってみます。
enum4linux -a IPアドレス
ただ、なぜか下記のようなエラーが表示され、上手く動きません。
Cannot connect to server. Error was NT_STATUS_NOT_FOUND
ちょっと理由が分かりませんが、openVPNでの接続をやめてAttackBoxで上記コマンドを叩いてみると上手く動きました。
ユーザがkayとjanという点が分かりました。
janのユーザーIDとパスワードをブルートフォースで調べてみます。hydraでアタックをかけます。
janさんのパスワードを特定できました。
What service do you use to access the server(answer in abbreviation in all caps)?
これは簡単ですね。SSHです。
What is the name of the other user you found(all lower case)?
その後、janでSSHでログインし、調べてみるとkayのディレクトリがありますね。pass.bakとか怪しいファイルがあります。
What is the final password you obtain?
脆弱なポイントを調べるため、
linpeas.shを置いているローカルディレクトリでHTTPサーバーを立ち上げて
ターゲットマシンからlinpeas.shを取得します。
そしてlinpeas.shを実行してみる。 やっぱりkayディレクトリの下が怪しい。janから見えちゃっているし。id_rsaが取得できそうです。
id_rsaをローカルに取ってくる。
ssh2johnとjohnでkayのid_rsaのパスワードを特定できました。
後はそれを使ってログインしてみます。
SSHでログインし、pass.bakが見れるように。
中身をコピーして、rootに権限昇格・・・できました!