🕊️

[Level 30 ~ ] OverTheWire Bandit Writeup

2024/11/19に公開

はじめに

←←(Level20~29)

サイト

https://overthewire.org/wargames/bandit/

環境

  • macOS
  • Intelチップ

Tips

macOS 使いは,パスワードをコピーした度に,下記のコマンドをローカルで実行すると,良い感じにパスワードが保存できてタイヘンヨーイ

pbpaste >> password && echo "" >> password && cat -n password

ルール

git 系問題の前提

clone

ここから先,特別な断りがなければ,以下の git clone コマンドをローカルで実行するところから開始する.そして,repo が他と被らないように,<現在のレベル> を末尾につけたものをディレクトリ名にする.そして,そのディレクトリに移動したものとする.(i.e. これら以下のコマンドは断りなく実行しているものとする.)

$ git clone ssh://bandit<現在のレベル>-git@bandit.labs.overthewire.org:2220/home/bandit<現在のレベル>-git/repo repo_<現在のレベル>
$ cd repo_<現在のレベル>

alias

ここに書いてある良さそうな git plog にエイリアスを貼ってます.

~/.gitconfig
[alias]
    plog = log --pretty='format:%C(yellow)%h %C(green)%cd %C(reset)%s %C(red)%d %C(cyan)[%an]' --date=iso

git 系問題の前提

前回レベルのユーザー名 を指定し,(ssh -p 2220 bandit.labs.overthewire.org -l <前回レベルのユーザー名>) 前回レベルのパスワード を入力し,ログインしたものとします.(i.e. シェルはローカルではなく,ログイン後の bandit.labs.overthewire.org 上を想定しています.)

→Level30

  • どうやら,productionにはリークしてないらしい.
  • git branch -a で色々みる.
  • 怪しい branchdiff をみる.
$ ls
README.md
$ cat README.md
# Bandit Notes
Some notes for bandit30 of bandit.

## credentials

- username: bandit30
- password: <no passwords in production!>

$ git branch -a
  dev
* master
  remotes/origin/HEAD -> origin/master
  remotes/origin/dev
  remotes/origin/master
  remotes/origin/sploits-dev
$ git switch dev
Switched to branch 'dev'
Your branch is up to date with 'origin/dev'.
$ git plog
081ac38 2024-09-19 07:08:41 +0000 add data needed for development  (HEAD -> dev, origin/dev) [Morla Porla]
03aa12c 2024-09-19 07:08:41 +0000 add gif2ascii  [Ben Dover]
6ac7796 2024-09-19 07:08:41 +0000 fix username  (origin/master, origin/HEAD, master) [Ben Dover]
e65a928 2024-09-19 07:08:41 +0000 initial commit of README.md  [Ben Dover]
$ git diff @ @^
diff --git a/README.md b/README.md
index bc6ad3d..1af21d3 100644
--- a/README.md
+++ b/README.md
@@ -4,5 +4,5 @@ Some notes for bandit30 of bandit.
 ## credentials
 
 - username: bandit30
-- password: qp30ex3VLz5MDG1n91YowTv4Q8l7CDZL
+- password: <no passwords in production!>

→Level31

  • git tag をする.
  • git show で詳細を表示する.
$ git tag
secret
$ git show secret

→Level32

  • どうやら,May I come in? という中身を持った key.txt を作成して,remotepush すれば良いっぽい.
  • .gitignore*.txt が入っているので,中身を空にする.
  • key.txt を作成する.
  • git add する.
  • git commit する.
  • git push する(push 自体は失敗するが,パスワードは得られる).
$ cat /dev/null > .gitignore
$ echo 'May I come in?' > key.txt
$ git add -A
$ git commit -m "a"
[master c2ce047] a
 2 files changed, 1 insertion(+), 1 deletion(-)
 create mode 100644 key.txt
$ git push origin master
<省略>
Total 4 (delta 0), reused 0 (delta 0), pack-reused 0
remote: ### Attempting to validate files... ####
remote: 
remote: .oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.
remote: 
remote: Well done! Here is the password for the next level:
remote: <答え>
remote: 
remote: .oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.oOo.
remote: 
To ssh://bandit.labs.overthewire.org:2220/home/bandit31-git/repo
 ! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to 'ssh://bandit.labs.overthewire.org:2220/home/bandit31-git/repo'

→Level33

  • $0 は現在実行しているシェルのパスがあるらしい.
WELCOME TO THE UPPERCASE SHELL
>> $0
$ cat /etc/bandit_pass/bandit33

→Level34

bandit33@bandit:~$ ls
README.txt
bandit33@bandit:~$ cat README.txt 
Congratulations on solving the last level of this game!

At this moment, there are no more levels to play in this game. However, we are constantly working
on new levels and will most likely expand this game with more levels soon.
Keep an eye out for an announcement on our usual communication channels!
In the meantime, you could play some of our other wargames.

If you have an idea for an awesome new level, please let us know!
bandit33@bandit:~$ date
Tue Nov 19 02:01:09 PM UTC 2024
bandit33@bandit:~$ exit
logout
Connection to bandit.labs.overthewire.org closed.

おわりに

←←(Level20~29)

参考文献

https://qiita.com/forest1/items/82ac22596fbe65187a8b
https://mayadevbe.me/posts/overthewire/bandit/level31/
https://mayadevbe.me/posts/overthewire/bandit/level33/

筆者について

https://mattsun-kun-portfolio.vercel.app/

Discussion