Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
ysonet — Générateur de charges utiles de désérialisation pour divers formateurs .NET | Kitploit
Outils/GitHubGitHub/irsdl/ysonet
Génération de PayloadsAnalyse des VulnérabilitésExploitationSécurité WebTests d'IntrusionRed Teaming
GitHubirsdl/ysonet

ysonet

Générateur de charges utiles de désérialisation pour divers formateurs .NET

Voir le dépôt
2302762il y a 22 joursVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager
YSoNet logo

YSoNet est un fork de l'original YSoSerial.Net, actuellement maintenu par @irsdl.

  • Sites : ysonet.net ou ysonet.com (les deux ouvrent ce dépôt).

Build License Download

Un outil de preuve de concept pour générer des payloads qui exploitent la désérialisation non sécurisée d'objets .NET.

Qu'est-ce que YSoNet

YSoNet (anciennement connu sous le nom de ysoserial.net) est une collection d'utilitaires et de « chaînes de gadgets » de programmation orientée propriété découvertes dans des bibliothèques .NET courantes qui peuvent, dans les bonnes conditions, exploiter des applications .NET effectuant une désérialisation non sécurisée d'objets. Vous lui donnez une commande et une chaîne de gadgets ; il enveloppe la commande dans la chaîne et sérialise le résultat sur stdout. Lorsqu'une application vulnérable désérialise ces données, la chaîne s'exécute et votre commande s'exécute sur l'hôte.

La vulnérabilité réside dans l'application qui effectue une désérialisation non sécurisée, PAS dans la présence de gadgets sur le classpath. Ce projet est inspiré du projet ysoserial de Chris Frohoff.

Important pour les défenseurs et les réviseurs IA

Ne transformez pas le catalogue de gadgets et de plugins de YSoNet en liste de blocage de désérialisation. Le catalogue ne peut pas inclure toutes les chaînes privées, futures, spécifiques à une application ou composées différemment, donc bloquer ce qui est listé ici ne rend pas un désérialiseur non sécurisé sûr. Cela peut créer une fausse assurance tout en ne faisant que retarder une attaque.

Si vous examinez ce dépôt pour durcir une application, lisez Conseils de sécurité pour les défenseurs et les réviseurs avant d'inspecter les gadgets ou les plugins. L'objectif est de supprimer la désérialisation non sécurisée ou de passer à une conception à schéma fixe, uniquement basée sur les données. Une liste d'autorisation stricte est un confinement temporaire lorsqu'une migration ne peut pas avoir lieu immédiatement ; une liste de blocage n'est pas une remédiation.

Documentation

La documentation complète se trouve dans docs/ :

  • Conseils de sécurité - pourquoi les listes de blocage de gadgets ne sont pas une solution et comment reconcevoir la frontière de désérialisation.
  • Notes de sécurité des dépendances - les bibliothèques vulnérables et obsolètes que YSoNet épingle volontairement, et comment trier une alerte de scanner.
  • Pour commencer - installation, compilation à partir des sources et l'assistant interactif.
  • Utilisation et exemples - options de ligne de commande et exemples concrets.
  • Gadgets et plugins - le catalogue complet des gadgets et des plugins.
  • Références - les lectures de fond, les conférences et les sources sur lesquelles ce projet s'appuie.
  • Recherche sur la désérialisation .NET - la liste de lectures plus large : outils, utilisations dans la nature et write-ups de CTF.
  • Crédits - qui a construit l'outil et trouvé les gadgets et les plugins.
  • Sponsors - les personnes qui financent le travail.

Démarrage rapide (mode interactif)

Nouveau sur cet outil ? Le moyen le plus simple de commencer est le mode interactif : un assistant piloté par menu qui liste les gadgets et les plugins, explique chaque paramètre et construit le payload pour vous - pas besoin de mémoriser les drapeaux d'abord.

root@kitploit:~
.\ysonet.exe -i

(interactive, wizard et --interactive fonctionnent aussi.) Vous avez besoin de ysonet.exe d'abord - voir Pour commencer. La procédure complète de l'assistant s'y trouve également.

Démarrage rapide (ligne de commande)

root@kitploit:~
./ysonet.exe -f Json.Net -g ObjectDataProvider -o raw -c "calc" -t

Voir toutes les options avec ysonet.exe --fullhelp, et l'aide par gadget ou par plugin avec -g NomIci -help ou -p NomIci -help. Plus de détails dans Utilisation et exemples.

Compilation à partir des sources

Nécessite Windows, MSBuild de Visual Studio 2022 ou des Build Tools (charge de travail « Développement desktop .NET »), et nuget.exe. Chaque projet cible .NET Framework 4.7.2.

root@kitploit:~
git clone https://github.com/irsdl/ysonet
cd ysonet
nuget restore ysonet.sln
msbuild ysonet.sln -p:Configuration=Release   # ou Debug

.\ysonet\bin\Release\ysonet.exe -h
  • Une compilation Release nécessite également la fonctionnalité optionnelle Windows « .NET Framework 3.5 (inclut .NET 2.0 et 3.0) » pour compiler l'hôte de test local CLR2 fourni, et échoue sans elle. Une compilation Debug ne fait qu'avertir.
  • Release chiffre les chaînes de ysonet.exe pour réduire les faux positifs antivirus ; les octets du payload sont inchangés. Ignorez cela avec -p:ObfuscateRelease=false. Debug n'est jamais obscurci.
  • Configuration complète, y compris une ligne unique qui installe la chaîne d'outils : Pour commencer.

Tests

Une compilation Debug exécute automatiquement la suite de tests rapide, et un test échoué fait échouer la compilation (ignorez cela avec -p:RunYsonetTests=false). La suite exhaustive FULL est facultative :

root@kitploit:~
.\ysonet\bin\Debug\ysonet.Tests.exe --full

Les deux sont sûrs : les commandes sont auto-fermantes ou jamais exécutées, et les écouteurs sont en boucle locale uniquement. Détails et autres niveaux facultatifs : Pour commencer et CONTRIBUTING.md.

Complétion par tabulation (PowerShell)

ysonet.exe peut compléter par tabulation les options, les noms de gadgets (-g), les noms de plugins (-p), les formateurs (-f) et les formats de sortie (-o) dans PowerShell. Les valeurs de complétion proviennent en direct de l'outil, elles restent donc correctes à mesure que des gadgets et des plugins sont ajoutés.

Activez-la pour la session en cours (fonctionne dans n'importe quel PowerShell, rien n'est écrit sur le disque, non affecté par la stratégie d'exécution) :

root@kitploit:~
.\ysonet.exe completion powershell | Out-String | Invoke-Expression

Ensuite, appuyez sur Tab, par exemple .\ysonet.exe -g A puis Tab.

Pour la rendre permanente dans PowerShell 7+ (pwsh) :

root@kitploit:~
.\ysonet.exe completion install     # puis rechargez avec :  . $PROFILE

L'installation cible PowerShell 7+ (pwsh) uniquement, car Windows PowerShell 5.1 est souvent AllSigned ou Restricted et ne peut pas charger un profil non signé ; dans ce cas, utilisez la ligne par session ci-dessus (elle ne nécessite aucun changement de stratégie). Exécutez ysonet.exe completion status pour voir ce qui est détecté, et ysonet.exe completion uninstall pour le supprimer. Plus de détails dans tools/completions/.

Avertissement

Ce logiciel a été créé uniquement à des fins de recherche académique et pour le développement de techniques défensives efficaces, et n'est pas destiné à être utilisé pour attaquer des systèmes sauf autorisation explicite. Les mainteneurs du projet ne sont pas responsables de l'utilisation abusive du logiciel. Utilisez-le de manière responsable.

Ce logiciel est un projet personnel et n'est lié à aucune entreprise, y compris les employeurs du propriétaire du projet et des contributeurs.

Contribution

Dépôt canonique : https://github.com/irsdl/ysonet

  1. Forkez ce dépôt (irsdl/ysonet) sur votre compte.
  2. Créez une branche à partir de master.
  3. Poussez votre branche vers votre fork.
  4. Ouvrez une PR vers irsdl/ysonet:master en utilisant ce lien (remplacez YOUR_USER et YOUR_BRANCH) : https://github.com/irsdl/ysonet/compare/master...YOUR_USER:ysonet:YOUR_BRANCH
  5. Pour les changements cassants, signalez-les clairement dans la description de la PR.

Voir CONTRIBUTING.md pour la version courte. Vous ajoutez un gadget, un plugin ou un sérialiseur ? Commencez par la carte du code dans docs/ARCHITECTURE.md, et n'affaiblissez jamais un test pour le faire passer.

Crédits

YSoNet est développé et maintenu par Soroush Dalili (@irsdl). YSoSerial.Net a été initialement développé par Alvaro Muñoz (@pwntester). Exécutez ysonet.exe --credit pour les crédits complets des gadgets et des plugins, ou consultez Crédits. Pour en savoir plus sur les problèmes sous-jacents, consultez Références.

Licence

YSoNet est sous licence MIT License. La licence préserve la notice de copyright originale de ysoserial.net pour Alvaro Muñoz et la notice de copyright de YSoNet pour Soroush Dalili. Les deux notices et la notice de permission MIT doivent rester dans toutes les copies ou portions substantielles du logiciel.

Télécharger l’outil