My Web Server を解いたので振り返りとか(writeup を含む)
どうも皆さんこんにちは。
すこし前にも似た様な記事をあげたと思いますが、今回も脆弱なマシンを攻略したのでその振り返りを行います。
今回は My Web Server というマシンを解きました。
まだ解いていないという方は以下の URL からダウンロードできるので興味があれば是非解いてみてください。
※注意
前回も書きましたが、この記事には実際の攻撃手法などが含まれています。これらのツールや攻撃を許可の無い機器に対して行うことは違法となるので決して行わないでください。
目次
シェルを取るぞ編
とりあえず対象のマシンの IP アドレスを確認します。
どうやら 10.0.2.19 のようです。(10.0.2.18 は自分のマシンのアドレスです)
次はポートスキャンを行ってどのようなサービスが動いているのかを調べます。
今回のマシンは結構色々なものが動いていますね。
しかも ウェブサーバが多めですね。まさしく My Web Server。
とりあえずそれぞれのウェブサーバにアクセスしてみました。
色々なサイトがありますね。
とりあえず各サーバに関してディレクトリを列挙して面白い情報が無いかを調べました。
すると 2222 番ポートのサイトに面白そうなページを見つけました。
面白そうですね。でもこれはシェルを取ることには役立ちませんでした。
もしかしたら別の方法では使うのかも知れませんが、今回は使用しませんでしたね......
他にも色々と探してみましたが、面白そうな情報は特に見つかりませんでした。
そこで、ポートスキャンの際に見つけたサービスに関して何か脆弱性が無いかを調べました。
するととても興味深い脆弱性を見つけました。
nostromo に任意コード実行の脆弱性があったのです!!(バージョンも 1.9.6 で合致しています)
これはとても有用ですね。
ちなみにこの脆弱性は CVE-2019-16278 というものです。
では早速リバースシェルを使ってシェルを取得しましょう!!
exploit が落ちていたので今回はこれを使いました。
適当なポートを Listen の状態にした後にリバースシェルを実行するコマンドを実行すると......
シェルの取得に成功しました!!!
嬉しいですね。次は権限昇格のパートです。
権限昇格するぞ編
来ましたね。権限昇格パート。
とりあえず色々調べるツールを wget を用いて対象のマシンに渡し、実行しました。
するとかなり面白いファイルを見つけました。
/etc/sudoers.d 内のファイルです。
/etc/sudoers.d 以下のファイルに sudo を許可する設定を書くことが出来ます。
今回はその中に tomcat が java コマンドをパスワード無しに管理者権限で実行出来るという内容の設定を見つけました。
つまり!! tomcat でアクセスし、 java コマンドを使うことで管理者権限で色々出来るようになると言うことです。
現在は daemon というアカウントなので直近の目標は tomcat というユーザになる事を目標とします。
ここで考えたのは、どうにかしてログインし任意のコマンドを実行出来るようなファイル(リバースシェルなど)を送り込んで tomcat のアカウントでコマンドを実行出来るようにするといった手法です。
そこで、どうにかして tomcat の管理画面にアクセス出来ないかと考えながら色々と調べていると、面白いファイルを見つけました。
ユーザ名とパスワードが載っていますね。
これを使えば tomcat の Web アプリケーションマネージャにログインすることが出来ます。
さらにネット上で tomcat を用いたリバースシェルに関して調べていたところ、面白いサイトを見つけました。
このサイトでは msfconsole(metasploit でいいのかな?)を用いてリバースシェルを実行する手順が紹介されていました。
普段は msfconsole を使わないのですが、せっかくなので今回はこちらのサイトを参考にしてリバースシェルを実行しました。
結構楽ですね。
これで tomcat のアカウントでコマンドを実行出来るようになりました。
次は以下のサイトを参考にして msfvenom を用いて java のリバースシェルのファイルを作成しました。
control – Java -jar payload
そして作成したファイルを攻撃対象のマシンに送り込み、 tomcat のユーザで実行すると......
権限昇格が完了しました!!!
これにて今回のマシンの攻略は完了ですね。
振り返り
今回は結構いい感じに攻略できましたね。
しかも学びが多かったです。
/etc/sudoers.d 以下のファイルから重要な情報を手に入れるのはかなり探すのに時間がかかりました。
でも、よく考えたら管理者権限に関するファイルなので確認して然るべきですよね。
あと、 tomcat の設定ファイルも探すのに手こずりましたね。
そもそもウェブサーバの運用をしたことがないのでどこに設定ファイルがあるのかとか知らないのですよね......
そのためそれらを調べるという手間が発生してしまいます。
まぁ、すべてのサービスに関して精通することなんて不可能なのできちんと Google とかネットで調べる能力が必要ですね。
さらに、今回は msfvenom とか msfconsole を使ってみましたね。
正直いまいち使い方を把握できていないです......
誰かよい資料とか知らないでしょうか?
使いこなせたらきっと便利です。
まぁ、msfconsole は OSCP において使用回数に制限がかかっていた気はしますが、だからといって使えなくてよい訳でもないと思うのです。
とりあえずこんな感じでしょうか?
では、今回の記事はこれくらいで終わりにしたいと思います。
最後までお付き合いいただきありがとうございました。