Easy_Cloudantivirus
- 写写打靶记录。
- 靶机地址:https://www.vulnhub.com/entry/boredhackerblog-cloud-av,453/
- Vulnhub 的靶机都有一个特点,通常导入到 VMware Workstation 时都会获取不到 IP 地址,虽然可以进紧急模式中修改,但是太麻烦了,还是将 Kali 和靶机桥接吧。
信息收集
- 由于将 Kali 与 VulnHub 使用 Virtual Box 仅主机网卡进行了桥接,所以使用 Kali 去扫描靶机。
- 首先查看 Kali IP 地址:
1 | ┌──(root㉿kali)-[~] |
- 扫描当前网段,发现靶机 IP 地址:
1 | ┌──(root㉿kali)-[~] |
- 继续使用 Nmap 扫描端口、开放服务等信息:
1 | ┌──(root㉿kali)-[~] |
- 扫描出 8080 端口的 Web 服务,通常情况下不考虑 SSH 爆破,访问一下 Web 服务:
只有一个输入框,需要使用邀请码登录。没啥多余的东西,这时一般是存在两种方法:
暴力破解
SQL 注入
SQL 注入
- 在输入框进行测试,当使用双引号时,页面出现报错:
- 并且在页面上出现了 SQL 查询语句:
1 | if len(c.execute('select * from code where password="' + password + '"').fetchall()) > 0: |
- 发现闭合符号为双引号,尝试闭合:
1 | " or 1 = 1 --+ |
- 闭合成功,按钮变为 Scan,扫个 hello 试试:
命令执行
- 猜测后端代码逻辑为,尝试是否存在命令执行:
1 | scan hello |
- 发现执行成功,显示出文件:
Shell 反弹
- 由于对端是 Linux 系统,查看一下是否存在 NC:
1 | hello | which nc |
- 发现存在有 NC,使用 NC 进行 Shell 反弹:
1 | Kali 上使用 NC 开启监听 |
文件传输
- 在当前目录下发现了一个 SQL 文件,使用 NC 将其下载到 Kali 上:
1 | 在 Kali 上再开一个 NC 监听用于传输文件 |
- 经过判断,发现是一个 sqlite 文件,将其导入到 sqlite 中查看:
1 | ┌──(root㉿kali)-[~] |
- 建档尝试了一下,发现是开头登录的邀请码,好像没啥用,那就先放一放。
- 查看一下当前靶机的所有用户:
- 发现两个用户,但是好像也没用。
SSH 爆破
- 根据上面数据库文件找到的密码和此处找到的用户,使用 hydra 进行爆破:
- 创建用户、密码字典:
1 | user.txt |
- 输入如下命令进行 SSH 爆破:
1 | hydra -L user.txt -P pass.txt ssh://192.168.56.107 |
- 爆破失败..
SUID 提权
- 再次去翻一翻文件,发现一个文件的权限不大对劲:
1 | cd .. | ls -al |
- 查看一下源码文件内容:
1 | cat update_cloudav.c |
- 其中有句:
This tool lets you update antivirus rules, Please supply command line arguments for freshclam
,翻译一下是说明可以在后面添加参数,尝试一下:
1 | 随便加一个参数 |
- 既然上述命令执行可以实现,再来一次 NC Shell 反弹:
1 | 在 Kali 上开启两个监听端口 |
- 提权成功!打靶结束。
注意事项
- 在使用 SQL 注入时,也可以使用 BurpSuite 进行爆破,但是很容易扫崩,需要控制一下速率。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Yongz丶!