0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【HackTheBox】HackTheBox Academy: Using the Metasploit Frameworkモジュール (Metapreterセクション)

Last updated at Posted at 2024-11-16

Using the Metasploit FrameworkモジュールのMetapreterセクションの記録

HackTheBox AcademyのUsing the Metasploit FrameworkモジュールのMetapreterセクションについて記事を残します。
(Tier0モジュールに限りソリューションの公開が許可されています。)
このセクションには、以下の2つの問題が含まれます。

スクリーンショット 2024-11-16 19.07.33.png
スクリーンショット 2024-11-16 19.07.43.png

ターゲットの調査

まず、ターゲットIPに対してnmapでサービス情報を収集します。

スクリーンショット 2024-11-16 18.25.19.png

以下の3つのポートが怪しそうです。

  • 445/tcp: Microsoft-DS(SMB共有)
  • 3389/tcp: Microsoft Terminal Services(RDP)
  • 5000/tcp: HTTPサービス(Microsoft IIS 10.0)

SMB共有、RDPサーバーに対する攻撃を試みましたが脆弱性情報を見つけられませんでした。そこで、httpサーバーを中心に調べてみます。

webアプリケーションの調査

ブラウザで5000番ポートにアクセスし、FortiLoggerというWebアプリケーションが稼働していることがわかりました。

スクリーンショット 2024-11-16 18.39.37.png

FortiLoggerの脆弱性情報を調べてみると、バージョン4.4.2.2にファイルの無制限アップロードに関する脆弱性が存在するようです。

スクリーンショット 2024-11-16 18.37.10.png

引用元

ログイン画面に戻り、適当にadmin:adminで入力すると通ったので、バージョン情報を収集します。

スクリーンショット 2024-11-16 18.20.55.png

Fortiloggerのバージョンが4.4.2.2であり、先ほどの脆弱性を持つバージョンだったので、metasploitでモジュールを探します。

Metasploitでの攻撃準備

msfconsoleを立ち上げ、fortilogger関連のexploitを探します。

スクリーンショット 2024-11-16 18.20.34.png

exploit/windows/http/fortilogger_arbitrary_fileupload
が使用できそうです。

optionsコマンドで、設定項目を見てみます。

スクリーンショット 2024-11-16 18.28.40.png

必要な項目を設定してexploitを実行します。
(余談ですが、LHOSTにはアドレスだけでなくNI名でも設定できるみたいです。)

setg RHOSTS <TargetのIP>
set RPORT 5000
set LHOST tun0

攻撃が成功し、セッションが確立されました。

スクリーンショット 2024-11-16 18.20.05.png

権限の確認

getuidコマンドでシェルのユーザー名を確認します。
(1問目の回答)

スクリーンショット 2024-11-16 18.20.14.png

NT AUTHORITY\SYSTEMというユーザー名らしくないユーザー名に戸惑いましたが、WindowsOSの最高権限アカウントの名前のようです。
(参考記事:「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典:Windows NT系

1問目の回答はこれで正解でした。
スクリーンショット 2024-11-16 19.08.35.png

NTLMパスワードハッシュの取得

そもそもNTLMパスワードハッシュについて全く知りませんでした。
Windowsのパスワードはハッシュ化して保存されており、そのハッシュ化に用いるアルゴリズムがNTLMのようです。
(参考記事:WindowsのLM、NTLMハッシュについて)

また、一部の認証ではハッシュ値のままで認証を通すpass-the-hashができるそうです。

これらのハッシュ値の取得はかなり大変そうなのですが、Mimikatsモジュール(別名kiwi)を用いることで簡単に取得できます。
(参考記事:パスワードってどこにあるの?その1)

kiwiをロードした後、システム権限のある状態でlsa_dump_samを実行します。
これによって、Security Account Managerデータベースにアクセスし、NTLMハッシュ値を含む、LSAプロセスで用いる認証情報を取得できます。

スクリーンショット 2024-11-16 18.19.36.png

スクリーンショット 2024-11-16 18.19.26.png

htb-studentユーザーのHash NTLMを取得して、2問目も完了です。

スクリーンショット 2024-11-16 19.08.43.png

まとめ

Using Metasploit FrameworkのMetapreterセクションでは、以下の内容を学びました:

  • 脆弱性の特定とMetasploitによるエクスプロイト
  • NT AUTHORITY\SYSTEMでのシェル取得
  • Mimikatzを用いたNTLMパスワードハッシュの取得

参考文献

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?