Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
CVE-2018-6574 — Exploit für Remote-Befehlsausführung im Golang-Befehl go get. | Kitploit
Tools/GitHubGitHub/devang-solanki/cve-2018-6574
SchwachstellenanalyseExploitationWebanwendungs-ExploitationLieferkettensicherheitPayload-EntwicklungBinary-Exploitation
GitHubdevang-solanki/cve-2018-6574

CVE-2018-6574

Exploit für Remote-Befehlsausführung im Golang-Befehl go get.

Repository anzeigen
11vor 4 JahrenNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

CVE-2018-6574

Exploit für die Remote-Ausführung von Befehlen im Golang-Befehl go get.

Einleitung

Wenn Sie ein Paket mit go get abrufen, ist Go so konzipiert, dass es das Paket erstellt und installiert, ohne dabei Code daraus auszuführen. Die Idee ist, dass Sie Go-Pakete sicher abrufen, erstellen und sogar installieren können, ohne ihnen überhaupt vertrauen zu müssen. Theoretisch scheint dies eine einfache Leistung für die Go-Toolchain zu sein, aber in der Praxis ist es eine echte Herausforderung. go get macht viel unter der Haube, einschließlich des Aufrufs von Drittanbieter-Tools wie git und clang, und zwar auf eine Weise, die stark von den Paketkonfigurationen beeinflusst wird. Zu gewährleisten, dass diese Aufrufe sicher sind, ist ein schwerer Kampf, den Go noch nicht ganz gewonnen hat.

Wenn cgo aktiviert ist, ruft der Build-Schritt während „go get“ den Host-C-Compiler, gcc oder clang, auf und fügt Compiler-Flags hinzu, die in den Go-Quelldateien angegeben sind. Sowohl gcc als auch clang unterstützen einen Plugin-Mechanismus, bei dem ein Shared-Library-Plugin auf Anweisung der Compiler-Flags in den Compiler geladen wird. Das bedeutet, dass ein Go-Paket-Repository eine exploit.so-Datei zusammen mit einer Go-Quelldatei enthalten kann, die (zum Beispiel) // #cgo CFLAGS: -fplugin=exploit.so enthält, wodurch das Angriffs-Plugin während des Builds in den Host-C-Compiler geladen wird. Gcc- und clang-Plugins haben uneingeschränkten Zugriff auf das Host-System.

Go vor 1.8.7, Go 1.9.x vor 1.9.4 und Go 1.10-Vorabversionen vor Go 1.10rc2 erlauben die Remote-Ausführung von Befehlen über go get während des Quellcode-Builds, indem die gcc- oder clang-Plugin-Funktion genutzt wird, da die Argumente -fplugin= und -plugin= nicht blockiert wurden. Go vor 1.8.7, Go 1.9.x vor 1.9.4 und Go 1.10-Vorabversionen vor.

Erstellen des Exploits

Für den Exploit müssen wir unser bösartiges Paket hosten. Wir benötigen eine Website mit TLS und einer gültigen Zertifikatskette. Eine einfache Möglichkeit ist die Nutzung von github

Dann benötigen Sie eine bösartige Plugin/.so-Datei. Der Code in exploit.c sollte Ihnen dabei helfen.

Hinweis: Ändern Sie den folgenden Code in exploit.c in Ihren Befehl um

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

Hinweis: Kompilieren Sie diese Datei gemäß der Maschinen-/PC-Architektur Ihres Opfers.

Sie können exploit.sp mit dem folgenden Befehl erstellen:

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

Sobald Sie Ihre vollständige Payload auf Github gehostet haben, sollten Sie den Paketlink an das Opfer weitergeben können.

Tool herunterladen