こさろぐ

岡山のエンジニア雑記

TryHackMe Basic Pentesting writeup

Basic Pentestingのwriteupです。

tryhackme.com

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に権限昇格・・・できました!