
Dieses Repository ist für den Workshop zum Testen von ASP.NET ViewState mit YSoNet (YSoSerial.NET).
Dieses Repository ist für den Workshop Testen von ASP.NET ViewState mit YSoNet (YSoSerial.NET).
Empfohlene Lektüre: Ausnutzung der Deserialisierung in ASP.NET über ViewState
Empfohlene Tools zum Lösen der Labs (sobald das Lab eingerichtet ist):
Workshop-Folien: EXPLOITING_KNOWN_MACHINE_WORKSHOP_v1.0_NahamCon2025_slides.pdf
Dies ist eine absichtlich unsichere Laborumgebung, die ausschließlich für Sicherheitstests und Schulungszwecke gedacht ist.
Dieses Lab soll Sicherheitsexperten dabei helfen, ihre Testfähigkeiten für ASP.NET-ViewState-Schwachstellen zu verbessern. Verwenden Sie es verantwortungsbewusst und nur in kontrollierten Umgebungen.
Führen Sie diese Schritte auf Ihrem isolierten Windows-Server aus, um die Laborumgebung vorzubereiten. Öffnen Sie ein PowerShell-Terminal mit erhöhten Rechten (Als Administrator ausführen) und führen Sie die folgenden Befehle aus:
# Clone the repository (or download and extract the ZIP)
git clone https://github.com/irsdl/viewstate-security-workshop.git
cd viewstate-security-workshop
.\tools\Install-IISAndDotNet.ps1
Dies installiert IIS mit ASP.NET-Unterstützung und allen erforderlichen .NET Framework-Versionen.
.\tools\Disable-DefenderProtection.ps1
Warum Defender deaktivieren? Für dieses Lab deaktivieren wir Windows Defender, damit die Befehlsausführung über ViewState-Exploits nicht blockiert wird. So können Sie eine erfolgreiche Ausnutzung ohne Störung durch den Endpunktschutz klar beobachten.
Wichtig: In einer realen Testumgebung oder Produktionsumgebung sollten Sie die Schutzfunktionen aktiviert lassen. Ziel dieses Workshops ist es, die Mechanik der Schwachstelle zu verstehen – sobald Sie die Techniken gelernt haben, üben Sie, diese Angriffe bei aktiviertem Defender zu erkennen und zu blockieren.
.\import-workshopiis.ps1
Dieses interaktive Skript richtet die verwundbare Workshop-Site in IIS ein. Es fragt nach Konfigurationsoptionen mit den folgenden Standardwerten:
| Einstellung | Standardwert |
|---|---|
| Config-Datei | .\workshop-iis-config.json |
| Site-Name | workshop |
| Stammpfad | C:\workshop\websites\wwwdata |
Das Skript wird:
content in den Stammpfad der Site kopierenNach der Einrichtung sollte Ihr IIS-Manager wie folgt aussehen:

Nur für neugierige Leser:
Bereitet einen Windows-Server für das Lab vor, indem IIS- und .NET-Framework-Komponenten installiert werden.
Speicherort: tools/Install-IISAndDotNet.ps1
Verwendung:
# Run as Administrator
.\tools\Install-IISAndDotNet.ps1
Was installiert wird:
Hinweis: Für die Installation von .NET Framework 3.5 auf isolierten Servern müssen Sie unter Umständen eine Windows-Server-ISO einbinden und die auskommentierte, quellenbasierte Installationsoption im Skript aktivieren.
Deaktiviert die Windows-Defender-Schutzfunktionen, damit Exploit-Tools in der Laborumgebung ausgeführt werden können.
Speicherort: tools/Disable-DefenderProtection.ps1
Verwendung:
# Run as Administrator
.\tools\Disable-DefenderProtection.ps1
Was deaktiviert wird:
Aktiviert die Windows-Defender-Schutzfunktionen nach der Nutzung des Labs wieder.
Speicherort: tools/Enable-DefenderProtection.ps1
Verwendung:
# Run as Administrator
.\tools\Enable-DefenderProtection.ps1
Was wieder aktiviert wird:
Interaktives Skript, das die Konfiguration der Workshop-IIS-Site importiert und die verwundbaren Webinhalte bereitstellt.
Speicherort: import-workshopiis.ps1
Verwendung:
# Run as Administrator
.\import-workshopiis.ps1
Was das Skript tut:
content in den angegebenen Stammpfad.NET v2.0-Pool für Altanwendungen)JSON-Konfigurationsdatei, die die von einem Referenz-Lab-Server exportierte IIS-Site-Struktur definiert.
Speicherort: workshop-iis-config.json
Enthält:
/mac/* - Anwendungen mit aktivierter MAC-Validierung/nomac/* - Anwendungen ohne MAC-Validierungv20, v40, v45) zum Testen verschiedener .NET-LaufzeitenDiese Software wurde ausschließlich für akademische Forschung und die Entwicklung effektiver Verteidigungstechniken erstellt und ist nicht dazu gedacht, Systeme anzugreifen, außer wenn dies ausdrücklich genehmigt wurde. Die Projektbetreuer sind nicht verantwortlich oder haftbar für den Missbrauch der Software. Verwenden Sie sie verantwortungsbewusst.
Diese Software ist ein persönliches Projekt und steht in keinem Zusammenhang mit Unternehmen, einschließlich der Arbeitgeber des Projektinhabers und der Mitwirkenden.
| HTTP-Port | 80 |