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

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

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

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

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

Категории

Все категории
Loading categories
ysonet — Генератор полезных нагрузок для десериализации для различных .NET-форматтеров | Kitploit
Инструменты/GitHubGitHub/irsdl/ysonet
Генерация полезной нагрузкиАнализ уязвимостейЭксплуатацияВеб-безопасностьТестирование на ПроникновениеRed Teaming
GitHubirsdl/ysonet

ysonet

Генератор полезных нагрузок для десериализации для различных .NET-форматтеров

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

Популярное

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

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

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

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

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

YSoNet — это форк оригинального YSoSerial.Net, в настоящее время поддерживаемый @irsdl.

  • Сайты: ysonet.net или ysonet.com (оба открывают этот репозиторий).

Build License Download

Инструмент класса proof-of-concept для генерации полезных нагрузок, эксплуатирующих небезопасную десериализацию объектов .NET.

Что такое YSoNet

YSoNet (ранее известный как ysoserial.net) — это набор утилит и «цепочек гаджетов» (gadget chains) объектно-ориентированного программирования, обнаруженных в распространённых библиотеках .NET, которые при определённых условиях могут эксплуатировать .NET-приложения, выполняющие небезопасную десериализацию объектов. Вы передаёте ему команду и цепочку гаджетов; он оборачивает команду в цепочку и сериализует результат в stdout. Когда уязвимое приложение десериализует эти данные, цепочка выполняется, и ваша команда исполняется на хосте.

Уязвимость заключается в приложении, выполняющем небезопасную десериализацию, а НЕ в наличии гаджетов в classpath. Этот проект вдохновлён проектом ysoserial Криса Фрохоффа.

Важно для защитников и ИИ-ревьюеров

Не превращайте каталог гаджетов и плагинов YSoNet в блок-лист десериализации. Каталог не может включать все частные, будущие, специфичные для приложений или иначе составленные цепочки, поэтому блокировка перечисленного здесь не делает небезопасный десериализатор безопасным. Это может создать ложную уверенность, лишь откладывая атаку.

Если вы просматриваете этот репозиторий для укрепления приложения, прочитайте Руководство по безопасности для защитников и ревьюеров перед изучением гаджетов или плагинов. Цель — устранить небезопасную десериализацию или перейти на дизайн с фиксированной схемой и только данными. Строгий список разрешённого — это временное сдерживание, когда миграция невозможна немедленно; список запрещённого — это не исправление.

Документация

Полная документация находится в docs/:

  • Руководство по безопасности — почему блок-листы гаджетов не являются исправлением и как перепроектировать границу десериализации.
  • Заметки о безопасности зависимостей — уязвимые и устаревшие библиотеки, которые YSoNet намеренно фиксирует, и как триажировать оповещения сканера.
  • Начало работы — установка, сборка из исходников и интерактивный мастер.
  • Использование и примеры — параметры командной строки и рабочие примеры.
  • Гаджеты и плагины — полный каталог гаджетов и плагинов.
  • Ссылки — справочные материалы, доклады и источники, на которые опирается этот проект.
  • Исследования десериализации .NET — расширенный список для чтения: инструменты, примеры использования в реальном мире и разборы CTF.
  • Благодарности — кто создал инструмент и нашёл гаджеты и плагины.
  • Спонсоры — люди, финансирующие работу.

Быстрый старт (интерактивный режим)

Новичок в этом инструменте? Самый простой способ начать — интерактивный режим: мастер на основе меню, который перечисляет гаджеты и плагины, объясняет каждый параметр и собирает полезную нагрузку за вас — не нужно сначала запоминать флаги.

root@kitploit:~
.\ysonet.exe -i

(interactive, wizard и --interactive тоже работают.) Сначала вам понадобится ysonet.exe — см. Начало работы. Полное прохождение мастера также там.

Быстрый старт (командная строка)

root@kitploit:~
./ysonet.exe -f Json.Net -g ObjectDataProvider -o raw -c "calc" -t

Все параметры смотрите в ysonet.exe --fullhelp, а справку по конкретному гаджету или плагину — с помощью -g NameHere -help или -p NameHere -help. Подробнее в Использование и примеры.

Сборка из исходников

Требуются Windows, MSBuild из Visual Studio 2022 или Build Tools (рабочая нагрузка «.NET desktop development») и nuget.exe. Каждый проект нацелен на .NET Framework 4.7.2.

root@kitploit:~
git clone https://github.com/irsdl/ysonet
cd ysonet
nuget restore ysonet.sln
msbuild ysonet.sln -p:Configuration=Release   # или Debug

.\ysonet\bin\Release\ysonet.exe -h
  • Для Release-сборки также требуется дополнительная функция Windows «.NET Framework 3.5 (включая .NET 2.0 и 3.0)» для компиляции поставляемого локального тестового хоста CLR2, и без неё сборка завершится ошибкой. Debug-сборка только предупреждает.
  • Release-сборка шифрует строки в ysonet.exe, чтобы снизить ложные срабатывания антивирусов; байты полезной нагрузки не меняются. Можно пропустить с помощью -p:ObfuscateRelease=false. Debug никогда не обфусцируется.
  • Полная настройка, включая однострочную команду установки инструментария: Начало работы.

Тестирование

Debug-сборка автоматически запускает быстрый набор тестов, и неудачный тест приводит к сбою сборки (можно пропустить с помощью -p:RunYsonetTests=false). Исчерпывающий полный набор FULL включается по желанию:

root@kitploit:~
.\ysonet\bin\Debug\ysonet.Tests.exe --full

Оба безопасны: команды самозакрывающиеся или никогда не выполняются, а прослушиватели работают только на loopback. Подробности и другие опциональные уровни: Начало работы и CONTRIBUTING.md.

Автодополнение по Tab (PowerShell)

ysonet.exe поддерживает автодополнение по Tab для параметров, имён гаджетов (-g), имён плагинов (-p), форматтеров (-f) и форматов вывода (-o) в PowerShell. Значения дополнения поступают в реальном времени из инструмента, поэтому они остаются корректными по мере добавления гаджетов и плагинов.

Включите для текущего сеанса (работает в любом PowerShell, ничего не записывается на диск, не зависит от политики выполнения):

root@kitploit:~
.\ysonet.exe completion powershell | Out-String | Invoke-Expression

Затем нажмите Tab, например .\ysonet.exe -g A, а затем Tab.

Чтобы сделать постоянным в PowerShell 7+ (pwsh):

root@kitploit:~
.\ysonet.exe completion install     # затем перезагрузите:  . $PROFILE

Установка работает только для PowerShell 7+ (pwsh), потому что Windows PowerShell 5.1 часто настроен на AllSigned или Restricted и не может загрузить неподписанный профиль; в этом случае используйте строку для текущего сеанса выше (она не требует изменения политики). Выполните ysonet.exe completion status, чтобы увидеть, что обнаружено, и ysonet.exe completion uninstall, чтобы удалить. Подробнее в tools/completions/.

Отказ от ответственности

Это программное обеспечение создано исключительно для целей академических исследований и разработки эффективных защитных методов и не предназначено для атаки на системы, кроме случаев явного разрешения. Сопровождающие проекта не несут ответственности за неправомерное использование программного обеспечения. Используйте ответственно.

Это программное обеспечение — личный проект и не связано с какими-либо компаниями, включая работодателей владельца проекта и участников.

Участие в разработке

Канонический репозиторий: https://github.com/irsdl/ysonet

  1. Сделайте форк этого репозитория (irsdl/ysonet) в свой аккаунт.
  2. Создайте ветку от master.
  3. Запушьте свою ветку в свой форк.
  4. Откройте PR в irsdl/ysonet:master, используя эту ссылку (замените YOUR_USER и YOUR_BRANCH): https://github.com/irsdl/ysonet/compare/master...YOUR_USER:ysonet:YOUR_BRANCH
  5. Для критических изменений явно укажите их в описании PR.

Краткую версию см. в CONTRIBUTING.md. Добавляете гаджет, плагин или сериализатор? Начните с карты кода в docs/ARCHITECTURE.md и никогда не ослабляйте тест, чтобы он прошёл.

Благодарности

YSoNet разрабатывается и поддерживается Сорушем Далили (@irsdl). YSoSerial.Net изначально разработан Альваро Муньосом (@pwntester). Выполните ysonet.exe --credit для полных благодарностей гаджетам и плагинам или см. Благодарности. Чтобы узнать больше о базовых проблемах, см. Ссылки.

Лицензия

YSoNet распространяется под лицензией MIT. Лицензия сохраняет оригинальное уведомление об авторских правах ysoserial.net для Альваро Муньоса и уведомление об авторских правах YSoNet для Соруша Далили. Оба уведомления и уведомление о разрешении MIT должны оставаться во всех копиях или существенных частях программного обеспечения.

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