What is the user.txt flag?
nmapでポートスキャンするときに、-script vulnを追加すると隠しページが見つけられます
ここのArchiveからDownloadを選択するとTarファイルが手に入る
もう少しWebページを見ていく
/etc/もあることがわかったので、そこにいってみるとsquidのページがでてくる(squidはプロキシっぽいですが、よくわからない)
passwdを選ぶとなにやら、IDとパスワードが手に入る
Tarファイルを解凍して、いろいろ見ていくと
READMEファイルがあって、以下の記載がある
This is a Borg Backup repository.
See https://borgbackup.readthedocs.io/
つまり、このREADMEがあるフォルダはBorgというツールで圧縮されている
なので、Borgで解凍していく
以下でField(?)を出力する。パスワードはsquidでみつかったものを入れたらうまくいった!
borg list final_archive
これでSSHしたらうまくいった!
What is the root.txt flag?
while getopts c: flag
do
case "${flag}" in
c) command=${OPTARG};;
esac
done
# Print end status message.
echo
echo "Backup finished"
cmd=$($command)
echo $cmd
ここから以下のWriteupを参考に進めた
https://fieldraccoon.github.io/posts/Cyborg/
大きな流れは
chmod +s /bin/bash
を利用して、BashをRoot権限で使えるようにして、
bash -p
で実際に特権モード(Root権限)でBashを開いて頑張ってroot.txtを探します
最後に
結構いろいろなところに情報があったり、Borgの情報収集しないといけなかったりと楽しめました!
補足
chmod +s /bin/bash
chmod +s /bin/bash コマンドは、/bin/bash ファイルに「Setuidビット」を設定するためのコマンドです。このビットの設定には以下のような意味があります。
Setuidビットの役割
chmod +s コマンドでファイルに対して「Setuidビット」を設定すると、そのファイルが実行されたときに、そのファイルの所有者の権限で実行されるようになります。
具体的には、次のような動作をします。
通常の動作:
通常、ユーザーがプログラムを実行すると、そのプログラムは実行者のユーザー権限で動作します。
Setuidビットが設定された場合:
Setuidビットが設定されたプログラムを実行すると、そのプログラムは「ファイルの所有者」の権限で動作します。
chmod +s /bin/bash の影響
/bin/bash に Setuidビットを設定することで、次のような影響があります。
Bashシェルがroot権限で実行される:
/bin/bash は通常 root ユーザーが所有しているため、Setuidビットが設定されると、どのユーザーが Bash シェルを起動しても、そのシェルが root 権限で動作するようになります。
これにより、通常のユーザーがroot権限でシェルを使用できるようになり、システム全体に対する制御権限を取得することになります。