Netmon 日本語でウォークスルー Hack The Box Machine:

HTB htb-easy

Hack The BoxのNetmonのウォークスルー・ライトアップ(walkthrough/writeup)です。難易度はeasyとなっています。
※本記事はサイバー犯罪を助長するものではありません。悪用は厳禁です。

HTB Netmon ウォークスルー・ライトアップ

サマリー

local shell取得まで

ターゲットポート:TCP 21(ftp),80 (http),139,445(samba)
脆弱性:ターゲットのhttpサービスでは、「PRTG Network Monitor」が動作していた。これにはCommand Injection(コマンドインジェクション)の脆弱性が内在しており、この脆弱性を利用してlocal-shellを取得した。
※ターゲットではftpでanonymousログインが可能であった。そこから「PRTG Network Monitor」の管理パネルのログイン情報を取得した。
local権限を取得したユーザ:「nt authority\system」(Administrator権限)

privilege Escalation取得まで

脆弱性:「nt authority\system」はAdministrator権限を所有していた。そのため、privilege Escalationの必要は無かった。
root権限を取得したユーザ:なし

Information Gathering

ポートスキャン

それでははじめます。まずはターゲット上で動作しているTCPポートをnmapで探します。nmapについてはこちらを参照ください。

nmapの結果、上画像の通り、TCPポート番号ftp(21),80(http),139,445(samba)が開いていることが分かりました。
nmapの結果、httpサービスでは「PRTG」というアプリケーションが動いているようです。
また、ftpサービスでは、「anonymousログイン」が可能なようです。

ftpが興味深いので、まずはターゲットのftpサービスについて、深く調査していくことにしました。

ターゲットのftpサービス調査

まずは、ターゲットのftpに「anonymousログイン」(ユーザ名:anonymous,パスワード:anonymous)を実施しました。
その結果、「C:/Users/Public」フォルダに「user.txt」を見つけました。

さらにftpのディレクトリを調査していきました。その結果、初期nmapのhttpサービスで見かけた「PRTG」という文言を見つけました。
そのサービスはどうやら「PRTG Network Monitor」のようです。

もう少しこのディレクトリを調査していきました。その結果、「PRTG」のコンフィグのバックアップを見つけました。
これをダウンロードし、調査を進めていきました。

バックアップファイルの調査を進めていった結果、クレデンシャル情報を見つけました。(ユーザ名「prtgadmin」、パスワード「PrTg@dmin2018」)

ターゲットのhttpサービス調査

続いて、httpの調査をしていきました。firefoxを使ってアクセスした所、以下の通り、PRTGのログインページにつながりました。

しかし、先ほど見つけたクレデンシャル情報を使用した所、ログインに失敗しました。
見つけたクレデンシャル情報(ユーザ名「prtgadmin」、パスワード「PrTg@dmin2018」)が、バックアップファイルに入っていたことを思い出し、
パスワードを「PrTg@dmin2019」にした所、ログインに成功しました。

Local shellの取得

「PRTG Network Monitor」の脆弱性調査

「PRTG Network Monitor」の脆弱性を調査した所、PRTG < 18.2.39 Command Injection Vulnerability(コマンドインジェクション)が見つかりました。
ログイン後、「Setup」→「Account Settings」→「Notifications」→「Add New Notification」を選択しました。

「Execute Program」にて、「Program File」→「Demo exe notification – outfile.ps1」を選択し、Parameterとして以下を入力します。

test.txt;net user pentestop P3nT3st! /add;net localgroup administrators pentestop /add

また、「username」には「prtgadmin」を、パスワードには「PrTg@dmin2018」を入力し、右側の「Save」を押します。

すると、以下の通り、新しい「Notification」(今回は、test1Notification)が作成されるので、右側のベルマークから実行します。

以下の通り、「pentestop」ユーザがターゲット上に作成されました。

「psexec」ツールを利用し、以下の通り、「nt authority\system」(Administrator権限)のshellを取得しました。

flagを探す

user.txtは「C:/Users/Public」直下にありました。root.txtは「C:/Users/Administrator」にありました。

以上で、Netmonのウォークスルーは終了です。