
Questa repo esiste come un arsenale rapido e sporco di metodi e script per aggirare la validazione dei certificati SSL/TLS .NET in PowerShell e proseguire con l'hack!
#Invoke-SelfSignedWebRequest
Per il lavoro di InfoSec, l'uso di HTTPS è un meccanismo incredibilmente utile per il C2 e le manovre all'interno dello spazio di rete del target. Inoltre, PowerShell è uno strumento di produttività straordinario che può aiutare un operatore a ottenere risultati dinamici. Una naturale conclusione successiva è combinare il canale C2 (HTTPS) con il generatore di effetti (PowerShell). Basta creare rapidamente un certificato self-signed e la vita è a posto, giusto? Purtroppo, a quanto pare Microsoft (e di conseguenza PowerShell) non gradisce affatto le connessioni SSL protette da certificati che non possono essere validati. Fanno di tutto per PREVENIRE queste connessioni lanciando messaggi di ERRORE di livello assurdo. Questo repo esiste come un arsenale rapido e sporco di metodi e script per sovvertire queste funzionalità incentrate sulla sicurezza e proseguire con l'hack!
La mia intenzione è quella di aggiungere nuovi metodi man mano che mi vengono in mente. Pull request benvenute!
##Metodi:
Invoke-SelfSignedWebRequest - Carica il certificato SSL dell'URI target nell'archivio certificati locale e avvolge Invoke-WebRequest. Rimuove il certificato al termine dell'invocazione WebRequest non sicura. Alias: wget-ss
Disable-CertificateValidation - Disabilita la validazione dei certificati SSL tramite l'endpoint System.Net.ServicePointManager configurando manualmente ServerCertificateValidationCallback per restituire $true. Consente a (New-Object System.Net.WebClient).DownloadFile() di connettersi a domini SSL self-signed.
Disable-NetSSLValidation - Configura le impostazioni interne di .NET per disabilitare la validazione dei certificati SSL tramite useUnsafeHeaderParsing
Autore: Matthew Toussain (@0sm0s1z) Licenza: BSD 3-Clause