Easy_Cloudantivirus
Easy_Cloudantivirus
1 信息收集
- 由于将 Kali 与 VulnHub 使用 Virtual Box 仅主机网卡进行了桥接,所以使用 Kali 去扫描靶机。
- 首先查看 Kali IP 地址:
1 | ┌──(root㉿kali)-[~] |
- 扫描当前网段,发现靶机 IP 地址:
1 | ┌──(root㉿kali)-[~] |
- 继续使用 Nmap 扫描端口、开放服务等信息:
1 | ┌──(root㉿kali)-[~] |
- 扫描出 8080 端口的 Web 服务,通常情况下不考虑 SSH 爆破,访问一下 Web 服务:
只有一个输入框,需要使用邀请码登录。没啥多余的东西,这时一般是存在两种方法:
暴力破解
SQL 注入
2 SQL 注入
- 在输入框进行测试,当使用双引号时,页面出现报错:

- 并且在页面上出现了 SQL 查询语句:
1 | if len(c.execute('select * from code where password="' + password + '"').fetchall()) > 0: |
- 发现闭合符号为双引号,尝试闭合:
1 | " or 1 = 1 --+ |

- 闭合成功,按钮变为 Scan,扫个 hello 试试:

3 命令执行
- 猜测后端代码逻辑为,尝试是否存在命令执行:
1 | scan hello |
- 发现执行成功,显示出文件:

4 Shell 反弹
- 由于对端是 Linux 系统,查看一下是否存在 NC:
1 | hello | which nc |

- 发现存在有 NC,使用 NC 进行 Shell 反弹:
1 | # Kali 上使用 NC 开启监听 |

5 文件传输
- 在当前目录下发现了一个 SQL 文件,使用 NC 将其下载到 Kali 上:
1 | # 在 Kali 上再开一个 NC 监听用于传输文件 |

- 经过判断,发现是一个 sqlite 文件,将其导入到 sqlite 中查看:
1 | ┌──(root㉿kali)-[~] |
- 建档尝试了一下,发现是开头登录的邀请码,好像没啥用,那就先放一放。
- 查看一下当前靶机的所有用户:

- 发现两个用户,但是好像也没用。
6 SSH 爆破
- 根据上面数据库文件找到的密码和此处找到的用户,使用 hydra 进行爆破:
- 创建用户、密码字典:
1 | # user.txt |
- 输入如下命令进行 SSH 爆破:
1 | hydra -L user.txt -P pass.txt ssh://192.168.56.107 |

- 爆破失败..
7 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 上开启两个监听端口 |

- 提权成功!打靶结束。
8 注意事项
- 在使用 SQL 注入时,也可以使用 BurpSuite 进行爆破,但是很容易扫崩,需要控制一下速率。










