Hackthebox - Union

Union

10.10.11.128

847b459c468fe1a96976e082649b84a3.png

nmap

25d792d4f6d5c32f1ed5a3008d32ae88.png

ssh 授权

将 flag 输入 challenge.php 后,跳转到了 firewall.php。

03d43ac88cb13ef2e0a7daf64b6c8252.png

授予了访问 SSH 服务的权限。

0d9671b6185c3ddb817d76ce58a5faf1.png

sql注入

a18f61692f464eb3aa75bfa71c2a5a09.png

首页的表单存在 sql 注入漏洞,由于进行了一些措施禁用了 sqlmap,需要手动进行注入。

984ab77aaf8c199951848a02a75ff845.png

ec64782022856e5b5f8763a3b8a0927e.png

定位可构造布尔注入的点,写个脚本跑一下。

config.php

之前在 gobuster 中扫到了 config.php,load_file 有权限调用,试着读一下 /var/www/html/config.php。
注到这里才想起来,明明它直接给了 union select 的回显啊!那就不需要盲注入了呀。。这下多忙活了。。
不过这里读文件还是比较方便的,等盲注就太慢了。。

76284ea22544eaf63050407c0207dca2.png

获得了新的用户名和密码,登录一下 ssh 试试。

175c28867387688419caa3c1c37fff50.png

成功登录。

flag

UHC{F1rst_5tep_2_Qualify}

flag表

one

players表

player

列名

表名

flag,players

库名

november

一些密码

uhc:uhc-11qual-global-pw

linpeas.sh 运行结果

可疑的日志文件内容

c8bdfaa359964687742a5808a39457a3.png

某个日志文件中似乎包含了 htb 用户的密码哈希,存在 hashcat 破解机会。
subiquity
$6$jup17
日志中的哈希似乎是不完整的,这条线索断了。

pspy 运行结果

定时任务执行了清理 php session 的脚本,权限为 root。

fe4238bb51464d66c3ad955801010cd1.png

0584d0005dab15204f87a17139ad4bc5.png

而且 session 目录似乎是可写的,一会可以看看。

用户列表

869b34e7dd0aac3458328ed6f245f7a8.png

一些 CVE

7514c8aefcfd0b09049453a0eb910f2f.png

不是很想尝试,之前很多 easy 的机器就是这两个 b CVE 一把梭错过了很多练习提权的机会。

可写目录

c86f7587e6f4f969fb9f9d98aa7df622.png

htb 用户目录文件名提示

09403fccce3c231c280d60cfc30c50bb.png

“sudo_as_admin_successful”
该用户存在具有使用 sudo 提权的可能。

可能性存疑,/var/www/html/firewall.php 中也存在着 htb 使用 sudo 操作 iptables 的代码。

firewall.php 命令注入

e7e5dcd9f4af6259a07df3231431f4a6.png

这里拼接 ip 存在命令注入,可以以 htb 权限执行命令,反弹 shell。

457b0da1dbaf23988f4fc1a2de5cedb4.png

sudo 提权 www-data

75a69533f404e7f030085a269e6e4f35.png

反弹 shell 后试着运行了一下 sudo -l,没想到 www-data 用户拥有着无需密码 sudo 执行任意命令的权限,惊呆了。
那么就拿到了 root.txt,这台机器就这么结束了。

后记

这台机器从 sql 注入入手,通过对 sqlmap 的限制逼迫解题者手动注入。
我由于惯性思维没能把握住可控的结果回显,优先采用了盲注的手法,其本质还是一把梭的体现。
在登录了 ssh 后先是从 linpeas.sh 和 pspy 入手,碰到了两个疑似可以提权的点,但都以失败告终。
还是忽略掉了源码中的命令执行,没能注意到其中的参数拼接存在命令注入漏洞,这一点很遗憾。
总的来说这台机器挺有意思,不难的 sql 注入,但入口点还是需要知道哪些用户名可以触发特殊的回显,才能进行下一步注入。
提权部分也很简单,只需要弹了 shell 后看下 sudo 即可。