0# 概述
在日常的渗透过程中,不管是前期的外部打点还是后渗透,代理总是绕不开的话题。在前期的外部打点过程中,扫描和渗透测试会不断受到WAF的拦截,需要不停的更换IP进行扫描和渗透测试;而在后期的后渗透过程中,通过Frp和Nps等等工具从入口点出网之后,也需要对接代理进入目标内网进行内网渗透。
本文内容是我个人自己摸索出来的,也有可能别的师傅也有类似的方法哈哈。
1# Proxifier介绍
本文我们需要用到一个工具:Proxifier
,有不少师傅应该听过它的大名。Proxifier
是一款代理客户端软件,可以让不支持代理服务器工作的程序变的可行。支持各种操作系统和各代理协议,它的运行模式可以指定端口,指定程序的特点。
Proxifier
的主要用途是在系统级别通过代理服务器强制 Web 请求,从而使来自不支持代理的应用程序的请求通过代理访问其预期网站。
工具下载地址: https://pan.baidu.com/s/1pu_5Wcq1MG5GcN9H4C8-Nw?pwd=sz5v
提取码:sz5v
注:请各位师傅下载我这里的这个,新版本的汉化版有很多Bug,试过的师傅都知道
2# 操作过程
安装完成后,就可以开始上手配置代理了
总共需要两步:1、配置代理服务器 2、配置代理规则
简单理解:第一步是配置 Proxifier
连上你的代理服务器,第二步是指定对应程序强制走你之前配置好的代理服务器
2.1 配置代理服务器
打开安装好的 Proxifier
,点击菜单栏“配置文件”中的“代理服务器”
在弹出的窗口中点击“添加”
找到代理的服务端的IP和端口(本地代理服务就是 127.0.0.1
)并填写和选择对应代理协议,如下图所示:
有的师傅到这一步有点蒙圈,我来说一下这里填写的内容在哪找吧:
注:使用本地代理端口,请先测试本地客户端的代理能否可用
同样类似的,你用啥客户端,就在具体客户端那边找就行了
接下来进行测试,点击下方“检查”按钮
代理测试可用,直接点击“确定”保存即可,然后在列表中能找到你添加的代理服务器
2.2 配置代理规则
点击菜单栏“配置文件”中的“代理规则”
打开“代理规则”列表,点击“添加”按钮
以下,以我将本地所有java运行的工具都走代理作为示例
应用程序处点击“浏览”可以设置指定程序,目标端口处可以设置指定端口(一般不设置)
设置完成后点击“确定”即可保存,接下来java进程的程序都可以走代理了
如图所示,直接让Jar工具的流量走代理打出去了
3# Proxifier玩转代理
既然了解了 Proxifier
的基本配置,那不是应该骚起来吗~
3.0 配置说明
配置其他的之前,要新增一个代理规则,如下:
127.0.0.1; ::1
让它 Direct
(直接连接,即不走任何代理)即可
说明:
::1是IPv6中的环回地址,将其视为127.0.0.1的IPv6版本
有些进程在本地通讯中会用到这个玩意,必须先让它直连,如果它走代理的话对应的进程会出问题的
由此,这条规则在代理列表里面要处于最高(优先进行),如下:
通过右边的按钮,将这条规则调整到第一行(优先执行)
3.1 通过Proxifier进行内网渗透
这个在我之前的文章 2022安恒杯决赛思路 里面提到过,我这里再写一下吧
这里以Frp为例:
下载Frp: fatedier/frp
很简单,frpc是客户端,frps是服务端
配置frpc.ini
:
# frpc.ini
[common]
server_addr = 自己公网服务器地址
server_port = 7000
[frp]
type = tcp
remote_port = 6000
plugin = socks5 //这一句必须要加,不然代理连不上
客户端通过WebShell上传,frps上传到自己的公网服务器上,配置frps.ini
:
# frps.ini
[common]
bind_port = 7000
接下来要在自己的公网服务器上开6000和7000这两个端口,并执行命令进行监听:
./frps -c ./frps.ini
再在上线的那台机器上执行命令:
/var/www/html/frp/frpc -c ./frpc.ini
这样就可以成功将内网流量通过公网服务器的6000端口代理出来了,接下来使用 Proxifier
配合Frp对相关进程进行全局代理即可:
然后直接用工具对内网目标攻击即可(没错,就是你想的那样,工具里面直接填内网IP地址就能打)
3.2 通过Proxifier将VM虚拟机代理
很多时候,作为攻击队,我们都需要在纯净的武器库虚拟机中完成自己的渗透(因为蜜罐会尝试获取浏览器Cookie和本地文件,用自己的实体机很快就能被溯源),如何直接让所有的虚拟机都走上代理呢?
注:本文这个方法,无视任何类型的系统类型和对应配置,只要配置VM网卡出网即可被代理
如下配置:
应用程序填写如下:
vmware.exe; vmnetcfg.exe; vmnat.exe; vmrun.exe; vmware-vmx.exe; mkssandbox.exe; vmware-hostd.exe; vmnat.exe; vmnetdhcp.exe
配置完成后,我们来虚拟机里面看看:
让我们来查看一下虚拟机公网IP地址:
让我们继续来看看Linux的表现:
再让我们来查看一下虚拟机公网IP地址:
这样整个虚拟机的代理都走上代理,无需在虚拟机中有任何其他配置,就问你骚不骚?
VM虚拟机17以上版本-特别补充
之前有挺多师傅反馈VMware 17以上版本无法将流量代理出来,苦于本地没装VMware 17,一直没空尝试,今天终于和 nack0c
师傅研究出了解决方法:
在“配置文件”的“高级”处,选择“服务与其他用户”,然后勾选上两个选项:
勾选上就可以解决VMware 17以上的版本无法代理的问题啦~祝师傅们玩的开心哈哈~
如果还是代理不上,请尝试本文的 3.4 补充
里面按操作导入配置文件
3.3 通过Proxifier进行小程序抓包
很多时候,作为攻击队,我们还需要关注目标的小程序和公众号作为突破口,如何对小程序抓包呢?没想到吧哈哈,通过 Proxifier
还能对PC的微信小程序进行抓包~
如下配置:
应用程序填写如下:
WeChatApp.exe;WechatBrowser.exe;WeChatAppEx.exe
这里的代理服务器我使用的是 HTTPS://127.0.0.1:8080
这个要看你抓包软件中的配置了,如下:
特别注意:Burp是通过java启动的,那上面配置的java相关的规则要选择 Direct
(直接连接,即不走任何代理),否则两者会冲突!!!
接下来让我们打开微信,试试看吧~
随便找个小程序,然后看Burp中 Proxy
的 HTTP History
有无反应:
注:这里Burp中 Proxy
的 Intercept
要选择将流量放行
3.4 补充
写完这篇文章后,有师傅反馈说按照我文章里面配置好了,但是还是没有代理成功,那可以尝试我这边导入配置文件的方法:
配置文件下载地址: https://pan.baidu.com/s/16FLCGFkMNjk4UFxPr-yu2A?pwd=inr8
提取码: inr8
下载完后请解压出 Default.ppx
文件
然后点击 Proxifier
左上角的“文件”-->“导入配置文件”,选择解压出的 Default.ppx
文件即可导入成功
注:导入成功后,记得要将“代理服务器”里面的地址和端口改成自己客户端的噢~
4# 总结
都看到这里了,也感谢各位师傅的捧场~
让我们一起玩转代理,希望本文能给各位师傅带来帮助,欢迎给我点个赞
这篇文章的相关姿势,也是我自己在日常的渗透测试过程中,逐渐摸索出来的,在直播的时候,有师傅希望我能写一篇相关的文章整理一下,便有了本文
当然,Proxifier
这款软件还有很多高阶玩法,也欢迎各位师傅与我交流,如果这篇文章反响不错,后续可以做一些拓展的内容出来哈哈~
曾哥,你写的这篇文章真是太有用了,满满的干货
感谢师傅的关注和支持~
小白的福音!无限感谢!先干为敬!
曾哥,虚拟机的网络连接方式选啥啊,我用的nat然后Proxifier没有流量
切换到Nat模式就可以了,不妨给Proxifier管理员权限运行试试看
我已经更新文章了,不妨试试 3.4 补充 里面导入配置文件的方法
期待曾哥出更多proxifier新姿势
哈哈,感谢师傅的支持~
曾哥,clash如果要设置的话该是全局还是规则模式?
不需要全局代理,因为流量都是走端口的(默认是7890端口),只需要测试端口是否可用就行了
clash+proxifier+vmwar按上面来不行没走流量
应该是配置有问题,可以在QQ或者微信加我好友,我可以远程帮你看看
曾哥电脑什么环境啊,win还是mac啊,我win电脑导入配置文件也抓不到微信小程序包。其他没有测试
曾哥能远控看帮我看看吗,被上线也心甘情愿
已经微信联系并远程解决
曾哥 我也是这样的咋搞呀
vm17不行
师傅可以再试试看,或者我远程你也可以
因为我朋友的环境是VM17,他搞定了,VM17应该是没问题的
确实不行试了17,vm走底层还得虚拟机里面开
VM17以上版本的代理问题现在已经解决,请看文章补充部分~
咸鱼之王
哈哈哈,当时很火,就上手玩了一下~
曾哥求助,按照这个配置导入我也没抓到小程序包,win操作系统
加我QQ或者微信好友
曾哥,请问我按照您的方法,配置vmware的规则,打开vmware日志显示vmware ipv6关闭,然后vmware就会卡死,这是什么原因啊
请认真查看本文3.0处的注释内容
学到了,谢谢曾哥
曾哥哥,mac上proxifier怎么代理虚拟机。windows我会,测试可以。mac不行。
Mac我没试过哈哈,太穷了买不起苹果
用clash , 开启tun模式,所有流量都会通过代理,可以解决上述所有问题
如果程序可以从命令行打开,直接 proxychains {open_app_command} 打开程序,流量也会走代理
真的很不错
曾哥,打扰一下你宝贵的时间。我想问一点其他代理的问题。问题有两个,但好像是由一个原因引起的,我不确定。
不好意思,为了准确描述,有点长
=================================================================================
1. 当连接代理后,用nmap进行扫描目标时,nmap扫描的结果显示好多端口开放。好像扫描的都是代理服务器的端口。我试了调整nmap参数,更换代理服务器厂商,都没有效果。nmap扫描结果如下:
test@nmap:~$ nmap baidu.com -Pn
Starting Nmap 7.80 ( https://nmap.org ) at 2024-08-07 08:10 HKT
Nmap scan report for baidu.com (198.18.0.5)
Host is up (0.0069s latency).
PORT STATE SERVICE
1/tcp open tcpmux
3/tcp open compressnet
4/tcp open unknown
6/tcp open unknown
7/tcp open echo
9/tcp open discard
13/tcp open daytime
17/tcp open qotd
19/tcp open chargen
20/tcp open ftp-data
21/tcp open ftp
22/tcp open ssh
23/tcp open telnet
24/tcp open priv-mail
25/tcp open smtp
26/tcp open rsftp
30/tcp open unknown
32/tcp open unknown
33/tcp open dsp
37/tcp open time
42/tcp open nameserver
43/tcp open whois
49/tcp open tacacs
53/tcp open domain
70/tcp open gopher
79/tcp open finger
.........省略,几乎所有端口---------
57797/tcp open unknown
58080/tcp open unknown
60020/tcp open unknown
60443/tcp open unknown
61532/tcp open unknown
61900/tcp open unknown
62078/tcp open iphone-sync
63331/tcp open unknown
64623/tcp open unknown
64680/tcp open unknown
65000/tcp open unknown
65129/tcp open unknown
65389/tcp open unknown
=================================================
2. 子域名dns暴力枚举
显示任意子域名,不管有效没效,都返回相同的ip(--wildcard Force continued operation when wildcard found)
报错:
test@dnsenum:~$ gobuster dns -w sub.txt -d baidu.com --quiet
Error: the DNS Server returned the same IP for every domain. IP address(es) returned: 198.18.29.10. To force processing of Wildcard DNS, specify the '--wildcard' switch
更改dns解析服务器也是相同的效果:
test@dnsenum:~$ gobuster dns -w sub.txt -d baidu.com --quiet -r 8.8.8.8
Error: the DNS Server returned the same IP for every domain. IP address(es) returned: 198.18.29.132. To force processing of Wildcard DNS, specify the '--wildcard' switch
---------------------------------------------------
--wildcard :
qed@fuzz:~$ gobuster dns -w sub.txt -d baidu.com --wildcard --quiet
Found: 000.baidu.com
Found: 00.baidu.com
Found: 0.baidu.com
Found: 0-0-0.baidu.com
Found: 0000.baidu.com
---省略,所有词典结果----
Found: 00000001.baidu.com
Found: 000000-hosting.baidu.com
Found: 000001.baidu.com
Found: 00000111.baidu.com
Found: 000005.baidu.com
======================================================
是由于dns相关的问题,还是代理服务器不支持某些网络协议,查了好多资料,也没得到满意的结果。
我以前花了还久时间没直接解决这两个问题,就在vps上进行这两个步骤,也算是一种替代方案。偶然看到了你这篇文章,这两个问题又重新浮现出来了。
最后有两点, 一是不用代理服务器结果就比较准确,但也仅限于没访问限制的网站/ip。记得以前用正规vpn时,比如expressvpn,nmap扫描所有ip/站点,枚举所有子域名结果都准确.
具体情况和这个差不多:https://www.freebuf.com/articles/terminal/199711.html
而且还有一种情况,如果走的是代理客户端出去,他是会先保持会话存活,等待代理服务器的返回,但Nmap比较急,他拿到存活的那个报文后(还没等代理服务器返回)直接就认定,简单来说就是这样
你可以在Proxifier里面发现日志:【[08.07 10:04:25] vmnat.exe (System) - 112.1x.xx.x13:80 关闭,0 字节已发送,0 字节 已接收,生存期 小于 1 秒】,正常的请求,不可能0字节接收,生存期小于一秒的,可以理解了吧
行,我研究下你发的链接。
我由于电脑配置较低,满足不了同时装windows+虚拟机,所以一直用的linux,由于Proxifier不支持linux。我一直用的其他客户端代理。
看来自己网络协议这块有点薄弱,总之我再全部研究下。
曾哥,想请教一下proxifier default选择什么连接呢
选择Direct(直连)就好了
请教曾哥 就是我今晚在这里瞎捣鼓终于捣鼓出了完美的效果(以前百度的查ip一直能精确的查到我真实ip而不是我的代理ip) 然后有几个问题想请教一下曾哥 1.我达到本文的效果是因为我clash代理选的是全局模式(global) 然后proxifier的代理规则里面的proxifier default选的是direct 可是我如果把proxifier default改成其他的不选直连 所有的网页 都打不开 这是为什么 还有就是为什么要那样选择才能打开 2.还发现就是我直接选择clash的全局模式 不打开proxifier 好像也能达到本文的效果 所以我想问一下为什么还要搭配着proxifier一起使用 这样是有什么别的优点吗 求师傅解答疑惑...
正常情况下,Clash是没办法代理VMware的虚拟机流量的。
简单来说,Clash是在应用层,而VMware是在驱动层(自己虚拟了一张网卡出来,和系统级流量是一样的),Clash没权限去给系统级的流量挂钩,所以需要Proxifier这个工具(驱动层)将VMware的流量挂上钩转到自己的代理去。
我不清楚你是通过Clash的全局是如何做到代理VMware的,而且Clash的全局模式应该是走Clash的流量不对国内外的流量进行分流,而不是系统代理,我觉得你应该想说的是系统代理和Tun模式这两个功能吧。
clash 开启tun模式可以代理虚拟机(我用过VirtualBox试过,但VMware应该也可以)
我这边不行哈哈,我帮朋友远程的时候试了也不行
啊啊今天早上看了一下tun模式 原来是这个意思 之前一直理解错了 能加曾哥的qq细说一下吗 我这边确实是能做到用clash代理vmware 自我感觉很怪 说不出来的感觉
全局模式和规则模式主要区别为,规则模式会把国内网站选择直连(不经过代理),而全局是所有流量都经过代理。
曾哥,你好,我在虚拟机ubuntu上传的frpc和frpc.ini,然后在我的服务器上上传的frps和frps.ini配置好后运行命令报错2024/08/11 20:40:44 [W] [service.go:132] login to server failed: dial tcp 124.220.81.253:7000: i/o timeout
dial tcp 124.220.81.253:7000: i/o timeout,可能是啥情况,防火墙放行6000,7000端口了。
已经找我私聊解决了~
曾哥,可以帮我个忙吗?
什么忙?
感谢分享,VMWare bridge模式是不走Profixier的, 改成NAT就好了。
对的哈哈,桥接是直接走VM虚拟的网卡,所以Proxifier钩到到流量;而NAT是通过系统进程vmnet.exe进行通信,所以能通过Proxifier钩到流量
曾哥,vm虚拟机流量能被代理,但访问网站除了国内的网站我访问youtube google pornhub都是
SSL_ERROR_BAD_CERT_DOMAIN
PR_END_OF_FILE_ERROR
这俩个错误码,要怎么搞,win虚拟机和kali虚拟机都是这样子
proxifier用的是你发给的配置
已经私聊远程解决