ペネトレーションしのべくん

さようなら、すべてのセキュリティエンジニア

【Hack The Box二十五番勝負 Advent Calendar 2020】3日目 vs Shocker(●)

f:id:befs_anne:20201203215638p:plain

これは、Hack The Box二十五番勝負 Advent Calendar 2020 3日目の記事です。

adventar.org

サマリ

  • 対戦相手:Shocker
  • 対戦日時:2020年12月2日 22:45 - 23:30
  • 結果:敗北
  • 主な敗因:
    • Shellshockが題材だろうということに気づいていながらも、 /cgi-bin/ 以下のスキャンを怠った
    • そもそも、Shellshockのことあんまりよく分かってなかった
  • 通算成績:3戦0勝3敗

対戦相手

今回の対戦相手は「Traceback」です。 www.hackthebox.eu

Walkthrough

※以下、解法に関するネタバレです。

自分でやったこと

情報収集

  • nmap
    • HTTPとSSHTCP:2222)が開いていることを確認した。
  • dirb
    • 以下が存在することを確認した。
      • index.html
      • /server-status/(403)
      • /cgi-bin/(403)
  • その他やったこと
  • ブラウザ
    • ソースのコメントを見て、ウェブシェルが動いているかもしれないと当たりをつけた。
    • nmapによるSSHブルートフォース
      • ポートが22から変えられているからか、 script=ssh-brute ではスクリプトが動かなかった。
        • ググって --script +ssh-brute とするとポートを無視して動くことを確認した。
        • 更に、デフォルトで10分間でブルートフォース(nmapによるスキャン自体)がストップしたため、 --script-args=unpwdb.timelimit=60m として1時間スキャンを継続するようにした(が、ログイン試行は成功しなかった)。
    • niktoによるHTTPサーバースキャン

残りの手順

Writeupは公式のものを参考にしています。

侵入

  • Dirbusterを使って /cgi-bin/user.sh を発見する。
    • /cgi-bin/ を見つけた後に、プログラミング言語の拡張子でその配下に更にスキャンをかける、ということらしい。
  • Metasploitの exploit/multi/http/apache_mod_cgi_bash_env_exec モジュールでリバースシェルを確立する。
  • shelly というユーザーとしてログインできるので、ホームディレクトリで user.txt を開く。own user。

権限昇格

  • sudo -l すると、 root権限でPerlが実行できることが分かる。
  • sudo /usr/bin/perl -e 'exec "/bin/sh"' を実行してrootになり、 /root へ行って root.txt を開く。own root。

KPT(Keep-Problem-Try)

Keep

  • nmapの新たな使い方を知ることができた(+でのスクリプトの指定、実行時間指定)。

Problem

  • ディレクトブルートフォースの詰めが甘かった。 /cgi-bin/ が403というだけで、除外してよいものと考えていた。
  • Shellshock、聞いたこととVHLで遭遇した(その時はsearchsploitで拾えた)ことがあるぐらいで、ちゃんと理解してないから /cgi-bin/ を切ってしまったというのもある気がする。

Try

  • 週末にもう1回チャレンジする。
  • ブルートフォース系は何種類かのツール / 辞書を使った方がいいか……?
    • 打開できないようならそうする。並行で別のことを試しながら。
  • Shellshockのことを調べる。