HTB_linux_Help

简介
help官方评分为4.2, 第一步常规思路扫目录发现helpdeskz, 查找CVE后通过文件上传漏洞+文件名爆破获取webshell获取user.txt, 但是获取root.txt时遇到了问题, suid发现了几个从未遇到的程序, 暂时未利用成功; 文件、配置、服务暂未发现问题.

靶机状态: 已完成

文章目录

  • helpdeskz
  • Kernel

端口扫描之后发现开放22、80、3000三个端口, 80和3000分别是apache和nodejs, 均有利用价值.
masscan_nmap

helpdeskz

访问80端口发现是一个helpdeskz的开源程序, 查exploit-db后发现在2016和2017年分别发现任意文件上传、sql注入和文件下载漏洞, 根据任意文件上传poc中的提示上传文件后提示文件不被允许. 此时已经想放弃了, 然后在官网论坛中得到一个提示: 不要用exploit-db中公开的poc脚本, 仔细阅读源码。 于是下载对应版本的helpdeskz程序, 开始查看提交tickets处的代码, 发现虽然提示文件不被允许但是文件已经被上传到服务器中, 可通过exploit-db中提供的poc脚本爆破文件名. 然后得到webshell
web_shell

然后获得user.txt, 拿到用户flag.
user.txt

提权

这个靶机中上传的webshell会被定期清理掉, 因此很难维持访问.
提权思路:

  • 文件(硬编码、suid)
  • 计划任务
  • 配置(sudoers)
  • 服务(mysql、redis等)
  • 进程

提权的时候可以说是绞尽脑汁, 获取webshell后先查suid文件, 发现几个可疑的suid文件
suid_file

然后线索断掉了, 始终未找到提权的方法.

Kernel

仔细看一下上面的提权步骤就可以发现, 本渣忘记做内核提权的检查了.
方法 进入靶机, 通过uname -a查看内核信息, 然后把这对信息丢到google上搜索, 直接看到CVE-2017-16995, 在靶机上编译exp即可实现提权.
tips exp原意是产生一个root shell的, 但是运行之后发现并没有shell产生, 于是修改exp将运行bash的命令改为读取root.txt的命令, 成功拿到flag
root_flag

owefsad wechat
进击的DevSecOps,持续分享SAST/IAST/RASP的技术原理及甲方落地实践。如果你对 SAST、IAST、RASP方向感兴趣,可以扫描下方二维码关注公众号,获得更及时的内容推送。
0%