1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

TryHackMe Writeup:Mr Robot CTF

Posted at

はじめに

今回取り組んだのはMr Robot CTFです!
仮面?のような顔をした紳士が特徴的ですね~

image.png

Task 1

OpenVPNでTryHackMeの環境にアクセスする手順が書かれています。
やはり紳士ですね笑

Task 2 Hack the machine

ここからが本題です!

What is key 1?

まずはnmapから!
image.png

image.png

SSHとHTTP,HTTPSができるみたいですね

さっそくHTTP接続すると、何やら怪しいWebサイトが。。。
ちなみにHTTPSで接続しても同じWebサイトです

12:43 <ミスター・ロボット> こんにちは、友よ。あなたがここに来たのなら、何か理由があって来たのでしょう。まだ説明できないかもしれませんが、あなたの中には、この世界に疲れ果てている部分があります... あなたが働く場所、会う人、憂鬱な銀行口座の残高をどう空にするか決める世界。これを読むために使っているインターネット接続でさえ、あなたの存在を徐々に削り取り、犠牲にしています。言いたいことがあるでしょう。もうすぐ私はあなたに声を与えます。今日、あなたの教育が始まります。

コマンドがうてるようですが、いろいろ見て回っても、めぼしいものはなかったので、dirbをしてみます

image.png

image.png

けっこういろいろあるのですが、ヒントにRobotsとあったので、アクセスしてみます

image.png

1つ目のKeyがありました!!

What is key 2?

Robotsにfsocity.dicの記載もあったので、アクセスしてみるとファイルをダウンロードできました
みてみると、858160個のワードリストのようです
image.png

ヒントには以下のような文章があります、、

この単語リストには何か怪しいところがあります...なぜこんなに長いのでしょうか?

内容をみていくと、同じワードリストが続いているみたいです
image.png

重複を削除して、新しいテキストファイルとして保存します

image.png

それでも1万行ありますね、、、
明らかに総当たり攻撃のワードリストです。。。

dirbをしたときに/loginがあったので、適当に入力してみると、ユーザー名が違うとエラーがでました
ということは、ユーザー名があっていれば、別の表示になるんですね~
image.png

URLのパラメータには変化がなかったので、Burp Suiteで詳細な情報をみていきます

image.png

他の方のWriteupも見つつ(カンニング)、以下のコマンドでブルートフォースしてきます
https://qiita.com/kk0128/items/fb2dd097b4f9d37caea0

hydra -L /home/kali/Documents/THM/Medium/MrRobotCTF/wordlist.txt -p test 10.10.123.213 http-post-form "/wp-login.php:log=^USER^&pwd=^PASS^&wp-submit=Log+In&redirect_to=http%3A%2F%2F10.10.123.213%2Fwp-admin%2F&testcookie=1:Invalid username" -t 30

image.png

参考にしたWriteupに記載されていた内容にならってパラメータの補足をします

  • -L /home/kali/Documents/THM/Medium/MrRobotCTF/wordlist.txt
    • ユーザー名をwordlist.txtから総当たりで選んでいきます
  • -p test
    • パスワードはtestを利用します
  • 10.10.123.213
    • 攻撃対象のIPアドレスです
  • http-post-form
    • POSTリクエストをしていきます
    • 構文は、[リクエストパス]:[POSTパラメータ]:[失敗時のメッセージ]
      • リクエストパス: /wp-login.php
    • POSTパラメータ:log=^USER^&pwd=^PASS^&wp-submit=Log+In&redirect_to=http%3A%2F%2F10.10.123.213%2Fwp-admin%2F&testcookie=1
    • 失敗時のメッセージ:Invalid username

パスワードは適当にtestを入れているだけなので間違っていますが、ユーザー名があっていれば失敗時のメッセージが異なるため合っていると判定されます!

HydraでみつかったElliotを入れてみたところ、Invalid Usernameという表記はなくなっていますね
image.png

同様にして、パスワードを探していきます!

hydra -l elliot -P  /home/kali/Documents/THM/Medium/MrRobotCTF/wordlist.txt  10.10.207.128 http-post-form "/wp-login.php:log=^USER^&pwd=^PASS^&wp-submit=Log+In&redirect_to=http%3A%2F%2F10.10.207.128%2Fwp-admin%2F&testcookie=1:ERROR" -t 30

image.png

補足

Writeupに/licenseにログイン情報があると記載があったので、みてみると、ソースコードにBASE64でエンコードされていると思われる文字列が、、、、
image.png

さっそくデコードしてみると、あからさまなログイン情報がwww
image.png

AppearanceのEditorでPHPファイルを直接編集できるみたい!
image.png

404.phpをまるごと以下のPHPのリバースシェルに置き換え(ipアドレスはOpenVPNで払い出されているものを利用。まじで注意、、、)
/usr/share/webshells/php/php-reverse-shell.php

なぜ404.php?と思うかもしれませんが、リバースシェルは実行しないと意味がないです。404なら存在しないURLをたたけば、実行されるので、使い勝手がいいんです!

daemonで入ることができました!
image.png

key-2-of-3.txtは権限がなくてみれない、、、
image.png

その代わりpassword.raw-md5がみれたので、ハッシュ化されたパスワードをClackStationでクラックします
image.png

クラックしたパスワードがこちら(これはこれで入力しづらそう、、、)
abcdefghijklmnopqrstuvwxyz

root権限になろうと思ったのですが、terminalからしかsuできないみたい。。。
どういうことだ、、、
image.png

Writeupを見ていると、疑似端末をリバースシェルに割り当てる必要があるのだとか、、、
疑似端末とは

仮想コンソール、端末装置、シリアルポートハードウェアなどを使用しないテキスト端末のインターフェイスを提供する。これらのハードウェアの代わりに、擬似端末セッションの役割をソフトウェア(プロセス)が代用する。

引用元:https://ja.wikipedia.org/wiki/%E6%93%AC%E4%BC%BC%E7%AB%AF%E6%9C%AB

個人的な理解としては以下になりました(あっているか分かりません、、、)
terminalからしか実行できない
=端末からしか実行できない
=リバースシェルのリモートからでは実行できない

そこで、ptyで疑似端末をリバースシェル上で構築して、その疑似端末でシェルを起動させます

python -c 'import pty; pty.spawn("/bin/sh")'

robotアカウントでログインできました!
image.png

key-2-of-3.txtも無事に確認できました!
image.png

What is key 3?

おそらく最後はRoot権限だろうということで、robotアカウントがRoot権限で実行できるコマンドを探しましたが、一つもなかったです
image.png

そこで、所有者の権限で実行できるSUIDのビットがたっているファイルを探します

image.png

ヒントにnmapとあったので、nmap

GTFOBinsという権限昇格するためのコマンドを集めたサイトがあることもここで学びました(恐ろしいサイトだ)
https://gtfobins.github.io/

そこのNmapを参考にしたら、Root権限がとれました!
https://gtfobins.github.io/gtfobins/nmap/

image.png

key-3-of-3.txtの中身を確認すれば、Flagがあります!

image.png

最後に

今回学んだことは以下4つです!!

  • HydraでHTTP POSTを利用したブルートフォース攻撃の方法
  • 直接PHPを編集できるということはリバースシェルを埋め込むチャンス
  • 疑似端末の理解
  • GTFOBinsという危ないサイトがある

参考にしたWriteup

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?