Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
CVE-2018-6574 — Exploit pour l'exécution de commandes à distance dans la commande go get de Golang. | Kitploit
Outils/GitHubGitHub/devang-solanki/cve-2018-6574
Analyse des VulnérabilitésExploitationExploitation d'Applications WebSécurité de la Chaîne LogistiqueDéveloppement de Charges UtilesExploitation de Binaires
GitHubdevang-solanki/cve-2018-6574

CVE-2018-6574

Exploit pour l'exécution de commandes à distance dans la commande go get de Golang.

Voir le dépôt
11il y a 4 ansPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

CVE-2018-6574

Exploit pour l'exécution de commandes à distance dans la commande go get de Golang.

Introduction

Lorsque vous utilisez go get pour récupérer un paquet, Go est conçu pour compiler et installer le paquet sans exécuter aucun code provenant de celui-ci. L'idée est que vous puissiez récupérer, compiler et même installer des paquets Go en toute sécurité sans avoir à leur faire confiance. En théorie, cela semble être un exploit simple pour la chaîne d'outils Go, mais en réalité, c'est un véritable défi. go get fait beaucoup de choses en coulisses, notamment invoquer des outils tiers comme git et clang d'une manière fortement influencée par les configurations des paquets. Garantir que ces invocations sont sûres est une bataille difficile que Go n'a pas encore véritablement remportée.

Lorsque cgo est activé, l'étape de compilation pendant « go get » invoque le compilateur C de l'hôte, gcc ou clang, en ajoutant les options de compilateur spécifiées dans les fichiers sources Go. Gcc et clang prennent en charge un mécanisme de plugin dans lequel un plugin de bibliothèque partagée est chargé dans le compilateur, comme l'indiquent les options du compilateur. Cela signifie qu'un dépôt de paquet Go peut contenir un fichier exploit.so ainsi qu'un fichier source Go qui indique (par exemple) // #cgo CFLAGS: -fplugin=exploit.so, ce qui entraîne le chargement du plugin d'attaque dans le compilateur C de l'hôte pendant la compilation. Les plugins gcc et clang ont un accès totalement illimité au système hôte.

Les versions de Go antérieures à 1.8.7, Go 1.9.x antérieures à 1.9.4, et les pré-versions de Go 1.10 antérieures à Go 1.10rc2 permettent l'exécution de commandes à distance via go get pendant la compilation du code source, en exploitant la fonctionnalité de plugin de gcc ou clang, car les arguments -fplugin= et -plugin= n'étaient pas bloqués.

Construction de l'exploit

Pour l'exploit, nous aurons besoin d'héberger notre paquet malveillant. Nous avons besoin d'un site web avec TLS et une chaîne de certificats valide. Un moyen simple de le faire est d'utiliser github

Ensuite, vous aurez besoin d'un plugin/.so malveillant. Le code dans exploit.c devrait vous aider.

Remarque : Modifiez ce code dans exploit.c avec votre commande

root@kitploit:~
void exploit() {
    system("<Your CMD>");
}

Remarque : Compilez ce fichier selon l'architecture de la machine/du PC de la victime

Vous pouvez compiler exploit.so en utilisant la commande suivante :

root@kitploit:~
gcc -shared -o exploit.so -fPIC exploit.c

Une fois que vous avez hébergé votre charge utile complète sur Github, vous devriez pouvoir transmettre le lien du paquet à la victime.

Télécharger l’outil