HackTheBox--Backdoor
本文最后更新于:2 年前
迟到了好久的wp,趁寒假补个票~顺便靠这个靶场混点htb分数(doge)
信息收集
操起nmap就是一把梭,扫出来三个开放端口:22,80,1337
打开网页,发现是一个WordPress页面,这时想到了用wpscan插件扫:
1 |
|
扫描时间很长,而且也没扫出什么有用的信息。
getshell
看到wpscan扫出的结果,想到去插件目录看看,没想到是个Apache目录遍历:
上网查询ebook插件相关的exp,还真就找到了:https://www.exploit-db.com/exploits/39575
没想到是任意文件下载,先按照poc把WordPress的配置文件下载下来,找到了数据库用户名和密码:
尝试用这个用户名和密码登录WordPress后台,失败。看来只能下载其它重要文件,例如/etc/passwd
,在里面发现了用户名user
。我也尝试过下载ssh公钥,结果以失败告终。
这时,我想起来虽然上传不了pspy,但是可以查看进程日志。下载/proc/sched_debug
查看进程,我看到其中有一个很特别的gdbserver进程:
再下载对应的进程文件/proc/29222/cmdline
,查看对应端口号,发现正好是前面扫出来的1337端口。上网搜索gdbserver的exp:https://www.exploit-db.com/exploits/50539
运行脚本,按照提示操作:
这里不知道哪一步出了问题,迟迟收不到弹回来的shell。。。没办法,只能试试msf了。换成msf后,成功getshell:
user的flag就在/home/user
目录下。
权限提升
突然想到前段时间爆出的Linux提权通杀漏洞–CVE-2021-4034,用python3自带的http服务上传并执行后会报出如下错误:
sudo -l
也没有用。好吧,看来是没法偷懒了。。。老规矩,传个pspy看进程,果然发现了root权限执行的操作:
又是个枯燥无味的计划任务提权,htb老套路了。查找到以下关于screen
命令的资料:
使用“-x”选项,我们可以附加到已经附加到其他地方的会话。现在在这种情况下,会话已经以 root 身份运行,因此我们可以附加到该会话以获取 root 访问权限。
我们必须使用 export TERM=xterm 将终端模拟器设置为 Linux。您可以通过运行 echo $TERM 检查您的 TERM 设置。现在只需运行如图所示的屏幕命令。
这里要注意,一定要在python交互终端里面执行:
1 |
|
提权成功:
总结
这个靶场还是比较贴近实际的,不过对于安服仔水平的我来说,实在算不上简单。好在历经了一波三折,最终还是拿下了!