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