红队隧道应用篇之Burpsuite设置上游代理访问内网(五)
为何要设置上层代理
Burp Suite设置上游代理的主要原因是为了拦截和修改来自浏览器的请求。当您在使用Burp Suite进行Web应用程序安全测试时,您可能希望模拟攻击者发送恶意请求,以测试应用程序是否能够防御这些攻击。使用上游代理可以帮助您在浏览器和目标服务器之间插入Burp Suite,从而使您能够拦截和修改请求。使用上游代理时,所有的请求和响应都会经过代理服务器,因此代理服务器可以拦截和修改这些请求和响应
环境拓扑图
下图是实验搭建拓扑, Burpsuite设置的上游代理是kali的socks代理, 通过上游代理, Burpsuite可以通过Web服务器访问到内网主机
实验步骤
1.与出网的内网主机连接
在kali将msf生成的木马发送至Web服务器(此处就不演示步骤了), 随后开启监听, 接收到一个目标的meterpreter会话
2.对内网网段开启路由转发
在meterpreter会话命令行输入如下命令:
-
run get_local_subnets
: 获取目标主机所在的所有网段 -
run autoroute -s 192.168.52.0/24
: 对指定网段设置路由转发, 设置完后msf正常访问指定的内网网段并进行漏洞利用 -
run autoroute -p:
查看所有设定了路由转发的网段
该路由转发只对msf工具内部生效,如果需要对外部程序也生效可以使用msf创建一个socks代理
3.配置socks4代理
msf输入如下命令行开启socks4代理服务:
msf5 exploit(multi/handler) > use auxiliary/server/socks4a
msf5 auxiliary(server/socks4a) > run
设置火狐浏览器的网络代理为socks4代理, 并填写对应的kali的ip地址和1080端口
网络代理设置完毕后可直接访问内网主机80端口的web服务, 但由于火狐的浏览器代理已经设置成了socks4, 这样就无法配置burpsuite的代理进行抓包, 为了解决这一问题, 我们可以在burpsuite设置上层代理
4.本机系统代理设置成socks4
由于burpsuite的上层代理不支持socks4只支持socks5, 只能先将本机的系统代理设置成socks4, 然后再将burpsuite的上层代理设置成本机的系统代理
这里使用Sockscap工具设置本机的系统代理为socks4, 随后点击测试查看是否设置成功
打开局域网设置, 查看本机系统代理的端口(默认为25378)
5.burpsuite设置上层代理
在burpsuite的用户选项处添加上层代理:
- 目标host:
*
表示任意目标地址 - 代理主机和代理端口: 填写本机的系统代理
在火狐浏览器网络代理处设置burpsuite的代理服务:127.0.0.1:8080
注意: 此处有个坑, 火狐浏览器渗透版自带的插件Foxy Proxy Standard配置的
127.0.0.1:8080
代理服务无法配合burpsuite上层代理使用, 我也不知道为什么
随后浏览器能直接访问到内网主机对应端口的web服务, 并且在burpsuite也能抓到数据包
流量传输流程图
下图是设置上游代理后的数据传输流程图, 首先我们攻击者的流量会经过Burpsuite代理(127.0.0.1:8080), Burpsuite将此流量发送至上游代理, 也就是本机的系统代理
本机的系统代理设置为kali的socks4代理服务器, 最后流量会发送给kali
由于kali开启了路由转发功能, 可以通过web服务器访问目标内网的所有主机, 因此攻击者的流量最终会流向目标内网主机