
Deserialisierungs-Payload-Generator für eine Vielzahl von .NET-Formatierern
YSoNet generiert .NET-Deserialisierungs-Payloads für autorisierte Sicherheitsforschung, mit einem interaktiven Assistenten und einer Kommandozeile für wiederholbare Arbeit.
YSoNet ist ein Fork von ysoserial.net, erstellt von Alvaro Munoz (@pwntester), und baut auf der Arbeit seiner Mitwirkenden auf. YSoNet wird gepflegt von Soroush Dalili (@irsdl).
Lade die neueste Version herunter, und folge dann Erste Schritte, um die vollständige ZIP-Datei zu entpacken und den Assistenten zu öffnen. Die Anleitung behandelt Windows-/Laufzeitanforderungen, Installationsdiagnose und Entwicklungs-Builds.
YSoNet ist eine Sammlung von Dienstprogrammen und eigenschaftsorientierten Programmierungs-„Gadget Chains“ zur Erforschung unsicherer .NET-Objektdeserialisierung. Gib die Eingabe an, die ein Modul benötigt, wähle einen kompatiblen Formatter und speichere die generierten Daten. Der zielseitige Effekt hängt von der Chain, der Laufzeit und der Anwendung ab; siehe Verwendung und Beispiele und Laufzeitnachweise.
Die Schwachstelle liegt in der Anwendung, die unsichere Deserialisierung durchführt, NICHT darin, dass Gadgets im Classpath vorhanden sind. Dieses Projekt ist inspiriert von Chris Frohoffs ysoserial-Projekt.
Verwandle YSoNets Gadget- und Plugin-Katalog nicht in eine Deserialisierungs-Blockliste. Der Katalog kann nicht jede private, zukünftige, anwendungsspezifische oder anders zusammengesetzte Chain enthalten, daher macht das Blockieren dessen, was hier aufgeführt ist, einen unsicheren Deserialisierer nicht sicher. Es kann eine falsche Sicherheit erzeugen und einen Angriff nur verzögern.
Wenn du dieses Repository prüfst, um eine Anwendung zu härten, lies Sicherheitshinweise für Verteidiger und Prüfer, bevor du die Gadgets oder Plugins untersuchst. Das Ziel ist, unsichere Deserialisierung zu entfernen oder zu einem Design mit festem Schema und ausschließlich Daten zu wechseln. Eine strikte Allowlist ist eine vorübergehende Eindämmung, wenn eine Migration nicht sofort erfolgen kann; eine Denylist ist keine Behebung.
Die vollständige Dokumentation befindet sich in docs/:
./ysonet.exe -f Json.Net -g ObjectDataProvider -o raw -c "calc" -t
Beginne mit der Kurzreferenz. Sieh alle Optionen mit ysonet.exe --fullhelp und Hilfe pro Gadget oder pro Plugin mit -g NameHere -help oder -p NameHere -help. Mehr in Verwendung und Beispiele.
Jeder Build liefert den portablen Agent Skill unter
.claude/skills/ysonet-payloads/ neben ysonet.exe. Claude Code entdeckt diesen
Projekt-Skill, wenn es aus dem entpackten Binärordner arbeitet. Andere mit Agent Skills
kompatible Clients können denselben Ordner importieren.
Der Skill deckt die Kommandozeile, den interaktiven Modus, jedes öffentliche Gadget und Plugin,
deren Formatter, Varianten und Optionen sowie einen zielgesteuerten Payload-Auswahl-Workflow ab.
Er verwendet --list, die Modulhilfe und --fullhelp der laufenden Binärdatei als lebende Quelle der
Wahrheit. Es wird keine generierte CLAUDE.md im Binärordner benötigt; das wäre eine
Claude-spezifische zweite Kopie von Anweisungen, die von dem Standard-Skill abweichen könnte.