Hackthebox - Zipping

Zipping

logo

nmap

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# Nmap 7.93 scan initiated Sat Sep  9 17:58:19 2023 as: nmap -e tun0 -sC -sV -oA nmap/default -v 10.10.11.229
Nmap scan report for 10.10.11.229
Host is up (0.76s latency).
Not shown: 998 closed tcp ports (reset)
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 9.0p1 Ubuntu 1ubuntu7.3 (Ubuntu Linux; protocol 2.0)
| ssh-hostkey:
| 256 9d6eec022d0f6a3860c6aaac1ee0c284 (ECDSA)
|_ 256 eb9511c7a6faad74aba2c5f6a4021841 (ED25519)
80/tcp open http Apache httpd 2.4.54 ((Ubuntu))
|_http-title: Zipping | Watch store
|_http-server-header: Apache/2.4.54 (Ubuntu)
| http-methods:
|_ Supported Methods: GET HEAD POST OPTIONS
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel

Read data files from: /usr/bin/../share/nmap
Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
# Nmap done at Sat Sep 9 17:59:10 2023 -- 1 IP address (1 host up) scanned in 50.79 seconds

后端语言

6c7277ceafbf488fbdd34e3eca7860ed.png

upload.php

文件上传

d38ab46a750a6ba3de64e14aff98abe9.png

upload.php 会对上传的 zip 进行解压,将其中的 pdf 存下来,不对文件名做处理。

2943b6aa21bf77eaa9446adec9932adf.png

与 pdf 一并包含的 php 文件并未通过检测

f19865175432b1a410461085176449be.png

可以通过软链接进行任意文件读取,读取 /var/www/html/upload.php 获取源码

a6a2fe45479e257534fae81265fc4518.png

通过读取 /etc/passwd 可知用户帐号为 rektsu,读 /home/rektsu/user.txt 得到 user flag

fuzz

通过 null byte 绕过 7z 解压文件后缀上传 webshell 的方法属于非预期,已经被修复了。
软链接还是可以用的,接下来看看会有哪些有用的文件。

0d655d20c7e05ec6a151b03047f8a25f.png

apache 的配置,FollowSymLinks 被单独配置,这么说利用软链接是预期解?.?

shop

卡在读文件这里了,去看了眼讨论贴。https://forum.hackthebox.com/t/official-zipping-discussion/295961/136
有人提到在上传之前还有其他的地方有洞,去看了下果然还有别的页面,看看源码

9691440d23c3220ca2ccd7167690e9e5.png

b1b79d2e0d766677f31715069d7f25b3.png

functions.php 里有 mysql 的用户凭据,但没有 mysql 的端口 :sad:,可能会在后面的提权用到。

af0b2694c339e762fcf013c8b7331dac.png

本地测试 phar 可以过 file_exists 并且结尾后缀不限,尝试上传 pdf 后 phar 包含。

4f1f5259918f8481eb8d765d0bf75380.png

成功 RCE。

ee0115d8abe7f6ffcad2b8c931176058.png

linpeas

sudo

f5d1a3ff1cc874f2ed4998da84332680.png

gtfobins 没搜到,可能需要逆向。

88ebcae18b07bc4fa2767b156df43566.png

acdebb7dbc4e2f94e42ffdecfb326c33.png

f0807dd905eb2d058cb4cef1512c2bf0.png

stock

f8f307a6eb4fb1db825005013dc5013c.png

3c4e46b799d6b888dd55674c8577a3a0.png

想办法搞到这个 dlopen 的路径,strace 启动!

1b849a6efc1bc067036234459129d2f3.png

/home/rektsu/.config/libcounter.so

b7036a9579637d81f692ac6f5bc7af2f.png

2ce76228c8a9c0637aff3b987b1d3767.png