靶场搭建
靶场下载地址:https://download.vulnhub.com/pyexp/pyexpvm.zip
下载下来是zip压缩文件,解压后是.ovf虚拟机压缩文件直接用Vmvare导出就行
打开后把网络模式设置为NAT模式(桥接模式也可以,和kali攻击机保持一致就可以)
启动虚拟机,可以看到ip
靶场搭建完毕
渗透测试
扫描靶机端口服务开放情况
开放了1337端口存在ssh服务
开放了3306端口,存在mysql服务
先看ssh,搜索openssh7.9是否存在漏洞,没有发现存在漏洞
搜索mysql此版本是否存在漏洞,发现不能存在可以拿到权限的漏洞
所以我们只能进行账号密码爆破
使用hydra工具成功爆破了mysql的密码
成功登录mysql
尝试直接执行系统命令,发现命令只能再kali本机上执行
尝试使用其他方式执行命令,发现也不行
查看一下数据库
进入数据库,查看表格
查看表格内容
发现一个creds字段和一个keyy字段
内容似乎都是base64编码,尝试解码,发现并不是base64编码
尝试使用cyberchef的magic模块也无法解出是什么编码
所以先放这这两个密文去看看其它途径
尝试用mysql读取文件,发现成功读取
找到可以用于登录的用户
尝试读取lucy用户的ssh密钥文件,读取失败
root用户ssh爆破没有爆破出来,尝试爆破lucy用户也没有爆破成功
回到数据库数据中的密文,creds字段和keyy字段,猜测这个keyy是密钥,creds是加密后的密文,但是不知道是什么加密方式
表名fernet可能代表着什么,经过搜索,发现这是一种加密算法
所以我们利用python这个库来解出密文
解出来为lucy:wJ9`"Lemdv9[FEw-
猜测冒号后面的为lucy用户登录的密码
尝试登录ssh,登录成功
获得第一个flag
提权
数据库提权
因为知道数据库root的密码所以想要尝试数据库提权,发现不可行
sudo提权
发现可以以root用户权限运行用python2执行/opt/exp.py文件
先去查看一下这个文件
发现当前用户有读的权限
发现是将输入内容交给exec函数执行,exec函数在python2中是用来执行python代码的,所以我们尝试输入一段提权代码
提权成功
获得到第二个flag