evalbox靶渗透测试
2023-12-25 10:16:10 Author: www.freebuf.com(查看原文) 阅读量:7 收藏

freeBuf

主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

环境配置

攻击机(kali)IP:192.168.56.101

靶机(搭建在virtualbox)IP:192.168.56.112

靶机难度:中

靶机地址:https://www.vulnhub.com/entry/evilbox-one,736/

主机发现

使用fping对指定网段进行扫描,这里发现112为新增加的IP,判定为靶机IP。

1703469564_6588e1fc452e1e1c20b33.png!small?1703469564815

端口探测

主要探测靶机存活端口,端口服务,nmap自带漏洞库扫描

1703469584_6588e2104fd560e259bad.png!small?1703469584934

1703469596_6588e21c4919bc8febe64.png!small?1703469597492

1703469613_6588e22d518801b1da691.png!small?1703469614213

这里发现了robots.txt文文件和一个secret地址。

web渗透

目录探测

查看浏览器界面,

1703469633_6588e2417eab09ae3e7c7.png!small?1703469634550

发现就是一个apache的界面,静态界面,不存在攻击面,对目标进行目录爆破

1703469654_6588e256264f1f2d99e96.png!small?1703469654817

依然是发现了secret目录和robots.txt文件,先查看robots.txt文件,看看是否有敏感路径

1703469681_6588e271f3847100c5b8e.png!small?1703469682340

页面只有这一个信息,讲过尝试并不是一个目录的名字,打开secret目录,发现是一个空白的界面,没有攻击面,这里尝试对secret目录下进行路径爆破,针对php文件进行扫描

1703469698_6588e2829d9b3152574af.png!small?1703469699311

发现evil.php,但是使用浏览器打开并没有内容,这里暂时没有攻击思路。

参数爆破及文件包含漏洞的发现

首先区分一下文件包含漏洞和文件读取漏洞,文件包含漏洞会将文件中的所有内容都当作php文件解析,但是文件读取漏洞只是将文件读取出来,并不进行解析,但是文件包含漏洞可以使用为协议实现一系列操作,包括文件操作

目前php界面没有任何显示,但是php界面与服务器之间进行信息传递一定会使用到参数,所以猜测界面可能存在隐藏参数,这里进行参数爆破

1703469785_6588e2d91e6ab48b96178.png!small?1703469786894

这里发现了command参数,其中命令中的-fs 0 表示过滤返回界面中为零的界面的地址,在确定文件包含中的参数以后,就尝试对文件进行读取,首先读取/etc/passwd文件,成功读取

1703469804_6588e2ec6434f102e6876.png!small?1703469805490

读取以后就看到一个用户mowree,这个用户显然不是linux系统功能账号,而是一个个人账号,并且具有bash环境,考虑对这个用户进行ssh登陆,对密码进行爆破显然不现实,这里先查看用户支持的ssh认证方式

1703469831_6588e3075749ac05e70bd.png!small?1703469832454

这里看到用户支持公钥认证,于是尝试从mowree用户目录中找到公钥私钥文件,(SSH公钥私钥认证机制是一种基于非对称加密的身份验证方式,通过生成一对公钥和私钥,将公钥安装到服务器上,私钥保存在本地,当连接服务器时,服务器会发送一个随机数给客户端,客户端使用私钥对随机数进行加密,然后将加密后的数据发送给服务器,服务器使用预先安装的公钥对加密数据进行解密,如果解密成功,则认为客户端是合法的,允许连接服务器。),用户对服务器上传公钥以后,会在将公钥追加在.ssh文件下authorized_keys文件中,并且将私钥也存放在.ssh目录中,尝试对这个公钥文件进行读取

1703469854_6588e31ee8cc2514c2098.png!small?1703469855429

同时看到公私钥的生成算法为rsa,rsa算法生成的私钥的默认名称为id_rsa,对私钥文件进行读取

1703469876_6588e334c26d365ef3849.png!small?1703469877603

成功读取私钥文件,进行ssh登陆

1703469902_6588e34e019a352b4bdac.png!small?1703469902729

但是这里提示输入密码,经搜索得知,它要求输入RSA密钥的密码短语,以便验证用户的身份。RSA密钥是一种加密方法,用于在网络上传输数据时保护数据的安全性。当您使用SSH连接到远程服务器时,您需要提供RSA密钥的密码短语,以便服务器可以验证您的身份并授予您访问权限。

这里直接使用john对密码短语进行爆破,首先应该将私钥文件转换为john可以直接利用的格式,这里使用usr/share/john/sshjohn.py进行转换。(ssh2john.py是一个用于将SSH私钥文件转换为John the Ripper密码破解工具可识别的格式的Python脚本。它的作用是将SSH私钥文件中的信息提取出来,并将其转换为John the Ripper密码破解工具可识别的格式,以便进行密码破解。)使用rocketyou字典完成解密,ssh登陆成功

1703469929_6588e36945d651bc37557.png!small?1703469930854

成功获取反弹shell。

1703469947_6588e37b5a1e95a602506.png!small?1703469948419

得到第一个flag。

提权

没有自动任务,内核漏洞不可以使用,suid权限配置没有问题,sgid权限也没有配置问题,尝试查看可写权限的文件,如果可写权限文件属主时root用户,就可能完成提权

1703469971_6588e3930a75adce61248.png!small?1703469971855

发现我们对passwd文件有可写权限,尝试生成一个密码,放到passwd文件里面。

1703469990_6588e3a676d789b1a0e57.png!small?1703469991300

使用su命令完成提权

1703470023_6588e3c79c1fd66489caa.png!small?1703470024355


文章来源: https://www.freebuf.com/articles/network/387589.html
如有侵权请联系:admin#unsafe.sh