ただのメモです

Writeupなら他のブログ見たほうがいいと思います.

TryHackMe Pickle Rick Writeup

THMのPickle Rickに挑戦しました。解法はほかの方を見たほうがいいと思います。

 

0.どこまで試行したか

 まずNmapを用いて開かれているポートを検索。するとssh(port:22)とHTTP(port:80)が開いている状態であった。まずはサイトのほうにアクセスしてみる。

 サイト自体は入力欄もない普通のサイト。まずはソースコードを使用して何か情報がないか見てみると下部にusernameが書かれていた。ここで先ほどのsshが頭に浮かび、先ほどのuserで接続してみる。しかしpublickeyエラーが出て接続することができない。

 この辺りで20分が経過しBoxの寿命もあるのでここで断念。フラグを得ることはできなかった。

 

1.First Flag

HTB Academyで学習したことをすっかり忘れていたが、ターゲットがWebアプリケーションやサイトである場合、まずgobuster/dirbuster/niktoを用いて他のページがないかチェックするのを優先すべきだった。

 教訓:ターゲットはサイト? → gobuster/dirbuster/nikto !

 

 dirbuster/niktoの結果を見ると、assets/login.php/robots.txtにアクセスできるようだ。まずrobots.txtを見ると何かよくわからない文字列がある。おそらくこれがパスワードだろう。login.phpソースコードのuserと先ほどのパスワードを入力すると無事ログインできた。

 ログインすると検索欄があるページに飛ばされた。見た感じどうやらコマンドを入力するらしい。まずlsを入力するとflagっぽいtxtファイルがある。試しにcatで見ようとすると変なgifが出てきてはじかれる。そこでURLにそのtxt名を入力すると無事表示された。もしくはlessを使うと同様にみられる。

 

余談:lessはディレクトリの指定が必要

 

2.Second Flag

 コマンドを入力できるならリバースシェルができるはず。writeupによってコマンドは違うが、payloadsAllTheThigsやpentestmonkeyやGTFObinsからいくつか拾ってきて入力すると無事に接続できた。筆者はperlスクリプトを用いた。

  教訓:リバースシェルはいろいろ試してみるべき

 

 侵入後/homeをlsしてみるとubuntuとrickのフォルダがある。rickフォルダのなかにフラグが用意されているので、これをcatで見ると2つ目のフラグ入手.

 教訓:システムを見る場合、まず他のuserを見てみる 

 余談:ファイルに空白がある場合、「¥」を使うと空白を表現できる

    もしくは' 'を使ってみる

 

3.Final Flag

 最後のフラグはrootフォルダの中にある。これまた忘れていたが侵入後sudo -l をして今の権限で何を入力できるかを調べるべきだった。sudo -l するとNO PASSWD つまりrootでなくても全コマンド権限を持っている。

 あとはお好きな方法でrootに昇格できる。

 (sudo su , sudo bash -i ,sudo ls /root → sudo less /root/<target>)

 教訓:侵入したらまず特権昇格できないかを考える

 

4.結論

・ターゲットIPが何者か調べる

・何らかのwebアプリかサイトの可能性あり dirb/nikto/gobusterでファジング

・結果からページにアクセスしてみる

・何らかの方法でリバースシェルできないか試みる

 (ターゲットでperl/pythonが使えないか調べる等)

・接続出来たら権限を見てみる 昇格できないか試みる

・他ユーザーのディレクトリやrootディレクトリを見てみる