最初に
タイトルの日本語訳は「単純な(?)CTF」
最初はEasyという意味なのかな?と思っていました(;^ω^)
Task 1
How many services are running under port 1000?
HTTPサーバーはApache 2.4.18を使っているみたい。
What is running on the higher port?
nmapの結果から、ポート2222番でSSHを受け付けているみたいです
オプションをつけないと何のサービスで使っているのか分からないです。。。
What's the CVE you're using against the application?
dirbでhttp:10.10.217.140//simpleがあることがわかったので、アクセスしてみる
さっそく脆弱性があるかを確認したところ、ありました!
https://www.exploit-db.com/exploits/46635
To what kind of vulnerability is the application vulnerable?
上記の脆弱性はSQL Injectionを利用したものですが、4文字って、、、
とりあえず最初の4文字をいれたら、ビンゴでした(笑)
What's the password?
msfconsoleでsearchsploitしたところ、ペイロードがありました
もう一回すると別の結果が得られました。
脆弱性攻撃はよく応答が安定しないものがありますね、、、
ユーザー名はおそらくmitchだと思うので、hydraでブルートフォースをしてみると、パスワードが手に入った!
Where can you login with the details obtained?
dirbで見つけたsimple/adminにログインページがあったので、入力してみましたが、うまくいかなかったです。
この何のIP/PWではないみたいです
それならば、SSHのIDとPWだろうか、、、と思って、アクセスしてみるとSSHできました(なんでWebページを攻撃してSSHのID/PWが手に入るのかはなぞです。。。)
What's the user flag?
接続した際のフォルダーにuser.txtがありました!
Is there any other user in the home directory? What's its name?
最初にいたディレクトリから一つ上のディレクトリにあがって、lsしてみると他のユーザの名前も見つかりましたね('ω')
What can you leverage to spawn a privileged shell?
root権限が必要のようなので、現在のユーザーで何ができるのか確認
Vimが使えるのか。。。
(root.txtをsudo vimで開いたら終わりやな(-_-;))
What's the root flag?
というわけで、ロートディレクトリに移動して、/root
があることを確認して、root flagをゲットしました!
最後に
今回学んだことは以下3つです!
- Nmapのオプションは大事(これはガチ。いつか備忘録にまとめてみたい)
- パスワード奪取する方法はいろいろあるから、試してみることが大切
- サービスを見つけたら、とりあえずWebで脆弱性の有無を確認する