打开靶机切换为nat模式
高级设置,查看MAC地址:00:0C:29:82:3D:D2
rap-scan -l 查看主机
得到IP为192.168.102.138
打开网页
在搜索框测试XSS和SQL注入
存在SQL注入,尝试获取信息,发现有两个数据库名
进入users继续爆破,得到一列账号密码
发现第三个人是管理员账户
进行登陆,显示如下图
好像没办法登陆
进入另一个数据库看看,发现也有一个Users表
得到数据
密码进行爆破,这个平台需要购买,不嘻嘻
这个平台是免费的,嘻嘻
登陆成功
进行目录扫描,没有发现什么有用信息
端口扫描,发现开着两个端口,22和80
尝试远程连接,连接失败
然后就不会了,以下内容参考百度
根据如下内容不存在猜测,该网站存在文件包含漏洞
?file=../../../../../../../../etc/passwd 试一下,发现真的爆出了信息
回看ssh远程连接,他说22端口的流量被过滤了,可能存在knockd服务
(knockd服务:即敲门端口服务,该服务通过动态的添加iptables规则来隐藏系统开启的服务,使用自定义的一系列序列号来“敲门”,使系统开启需要访问的服务端口,才能对外访问,不使用时,再使用自定义序列号来“关门”,将端口关闭,不对外监听。进一步提升了服务和系统的安全性,它的默认配置文件是:/etc/knockd.conf)
所以去访问该配置文件
去对这三个端口依次进行敲门
然后去重新扫描22端口,发现端口打开了
进行连接,发现admin权限被拒绝
想到之前的那个 UserDetails表
将其账号密码分别存在一个txt文档中,用kali自带的hydra命令进行爆破
扫出了账户密码,进行登陆
账号:joeyt 密码:Passw0rd
账号:chandlerb 密码:UrAG0D!
账号:janitor 密码:Ilovepeepee
登陆后发现
在janitor账号多了一个目录
查看一下,发现多了一个存放密码的文件
查看文件内容,发现里面存在密码
将其复制到原先的passwd.txt文档中,再次hydra扫描
发现多了一个账号:fredf;密码:B4-Tru3-001(刚刚那个系统管理员)
尝试登陆,发现还是没有任何有用目录
sudo -l 试试看,发现其可以进行系统命令有root权限
进入test目录
查看目录下内容,发现没有什么有用信息
回到上上级目录,发现一个.py文件
查看文件内容,发现是一个写入文件的脚本,生成一个密码用root权限执行脚本写入/etc/passwd文件,所以需要构造一个root用户,在/etc/passwd文件中存储,只要使用这个用户登录后,就可以获取到root权限
回到kali,使用openssl工具创建一个本地的加密用户,命令如下:
openssl passwd -1 -salt admin admin
回到靶机,跳转到/opt/devstuff/dist/test目录下使用echo命令在/tmp目录下创建一个文件,文件名test1,输入命令
echo 'admin:$1$admin$1kgWpnZpUx.vTroWPXPIB0:0:0::/root:/bin/bash' >> /tmp/test1
使用sudo命令执行test文件将/tmp/test1的内容写入到/etc/passwd文件中,命令如下
sudo ./test /tmp/test1 /etc/passwd
使用命令su admin
切换到我们添加的admin用户,成功获得权限
拿到flag