渗透必备:使用Proxifier玩转代理

渗透必备:使用Proxifier玩转代理

AabyssZG
2023-07-02 / 51 评论 / 14,464 阅读 / 正在检测是否收录...
温馨提示:
本文最后更新于2023年12月01日,已超过341天没有更新,若内容或图片失效,请留言反馈。

0# 概述

在日常的渗透过程中,不管是前期的外部打点还是后渗透,代理总是绕不开的话题。在前期的外部打点过程中,扫描和渗透测试会不断受到WAF的拦截,需要不停的更换IP进行扫描和渗透测试;而在后期的后渗透过程中,通过Frp和Nps等等工具从入口点出网之后,也需要对接代理进入目标内网进行内网渗透。

本文内容是我个人自己摸索出来的,也有可能别的师傅也有类似的方法哈哈。

VM代理-title.jpg

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 ,点击菜单栏“配置文件”中的“代理服务器”

玩转代理-1.png

在弹出的窗口中点击“添加”

玩转代理-2.png

找到代理的服务端的IP和端口(本地代理服务就是 127.0.0.1)并填写和选择对应代理协议,如下图所示:

玩转代理-3.png

有的师傅到这一步有点蒙圈,我来说一下这里填写的内容在哪找吧:

玩转代理-4.png

玩转代理-5.png

注:使用本地代理端口,请先测试本地客户端的代理能否可用
同样类似的,你用啥客户端,就在具体客户端那边找就行了
接下来进行测试,点击下方“检查”按钮

玩转代理-6.png

代理测试可用,直接点击“确定”保存即可,然后在列表中能找到你添加的代理服务器

玩转代理-7.png

2.2 配置代理规则

点击菜单栏“配置文件”中的“代理规则”

玩转代理-8.png

打开“代理规则”列表,点击“添加”按钮

玩转代理-9.png

以下,以我将本地所有java运行的工具都走代理作为示例
应用程序处点击“浏览”可以设置指定程序,目标端口处可以设置指定端口(一般不设置)

玩转代理-10.png

设置完成后点击“确定”即可保存,接下来java进程的程序都可以走代理了

玩转代理-11.png

如图所示,直接让Jar工具的流量走代理打出去了

3# Proxifier玩转代理

既然了解了 Proxifier 的基本配置,那不是应该骚起来吗~

3.0 配置说明

配置其他的之前,要新增一个代理规则,如下:

玩转代理-12.png

127.0.0.1; ::1

让它 Direct (直接连接,即不走任何代理)即可

说明:
::1是IPv6中的环回地址,将其视为127.0.0.1的IPv6版本
有些进程在本地通讯中会用到这个玩意,必须先让它直连,如果它走代理的话对应的进程会出问题的

由此,这条规则在代理列表里面要处于最高(优先进行),如下:

玩转代理-18.png

通过右边的按钮,将这条规则调整到第一行(优先执行)

3.1 通过Proxifier进行内网渗透

这个在我之前的文章 2022安恒杯决赛思路 里面提到过,我这里再写一下吧
这里以Frp为例:
下载Frp: fatedier/frp

frp介绍.png

很简单,frpc是客户端,frps是服务端
frpc上传.png

配置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对相关进程进行全局代理即可:

proxifier使用-1.png

然后直接用工具对内网目标攻击即可(没错,就是你想的那样,工具里面直接填内网IP地址就能打)

3.2 通过Proxifier将VM虚拟机代理

很多时候,作为攻击队,我们都需要在纯净的武器库虚拟机中完成自己的渗透(因为蜜罐会尝试获取浏览器Cookie和本地文件,用自己的实体机很快就能被溯源),如何直接让所有的虚拟机都走上代理呢?

注:本文这个方法,无视任何类型的系统类型和对应配置,只要配置VM网卡出网即可被代理

如下配置:

玩转代理-13.png

应用程序填写如下:

vmware.exe; vmnetcfg.exe; vmnat.exe; vmrun.exe; vmware-vmx.exe; mkssandbox.exe; vmware-hostd.exe; vmnat.exe; vmnetdhcp.exe

配置完成后,我们来虚拟机里面看看:

玩转代理-14.png

让我们来查看一下虚拟机公网IP地址:

玩转代理-15.png

让我们继续来看看Linux的表现:

玩转代理-16.png

再让我们来查看一下虚拟机公网IP地址:

玩转代理-17.png

这样整个虚拟机的代理都走上代理,无需在虚拟机中有任何其他配置,就问你骚不骚?

VM虚拟机17以上版本-特别补充

之前有挺多师傅反馈VMware 17以上版本无法将流量代理出来,苦于本地没装VMware 17,一直没空尝试,今天终于和 nack0c 师傅研究出了解决方法:

玩转代理-23.png

在“配置文件”的“高级”处,选择“服务与其他用户”,然后勾选上两个选项:

玩转代理-24.png

勾选上就可以解决VMware 17以上的版本无法代理的问题啦~祝师傅们玩的开心哈哈~
如果还是代理不上,请尝试本文的 3.4 补充 里面按操作导入配置文件

3.3 通过Proxifier进行小程序抓包

很多时候,作为攻击队,我们还需要关注目标的小程序和公众号作为突破口,如何对小程序抓包呢?没想到吧哈哈,通过 Proxifier 还能对PC的微信小程序进行抓包~

如下配置:

玩转代理-19.png

应用程序填写如下:

WeChatApp.exe;WechatBrowser.exe;WeChatAppEx.exe

这里的代理服务器我使用的是 HTTPS://127.0.0.1:8080 这个要看你抓包软件中的配置了,如下:

玩转代理-20.png

特别注意:Burp是通过java启动的,那上面配置的java相关的规则要选择 Direct (直接连接,即不走任何代理),否则两者会冲突!!!

接下来让我们打开微信,试试看吧~
随便找个小程序,然后看Burp中 ProxyHTTP History 有无反应:

玩转代理-21.png

注:这里Burp中 ProxyIntercept 要选择将流量放行

3.4 补充

写完这篇文章后,有师傅反馈说按照我文章里面配置好了,但是还是没有代理成功,那可以尝试我这边导入配置文件的方法:

配置文件下载地址: https://pan.baidu.com/s/16FLCGFkMNjk4UFxPr-yu2A?pwd=inr8
提取码: inr8

下载完后请解压出 Default.ppx 文件
然后点击 Proxifier 左上角的“文件”-->“导入配置文件”,选择解压出的 Default.ppx 文件即可导入成功

玩转代理-22.png

注:导入成功后,记得要将“代理服务器”里面的地址和端口改成自己客户端的噢~

4# 总结

都看到这里了,也感谢各位师傅的捧场~
让我们一起玩转代理,希望本文能给各位师傅带来帮助,欢迎给我点个赞
这篇文章的相关姿势,也是我自己在日常的渗透测试过程中,逐渐摸索出来的,在直播的时候,有师傅希望我能写一篇相关的文章整理一下,便有了本文

当然,Proxifier 这款软件还有很多高阶玩法,也欢迎各位师傅与我交流,如果这篇文章反响不错,后续可以做一些拓展的内容出来哈哈~

145

评论 (51)

取消
  1. 头像
    yyy
    Windows 10 · Google Chrome

    曾哥,你写的这篇文章真是太有用了,满满的干货表情表情表情表情

    回复
    1. 头像
      AabyssZG 作者
      Windows 10 · Google Chrome
      @ yyy

      感谢师傅的关注和支持~

      回复
      1. 头像
        Sai
        Windows 10 · Google Chrome
        @ AabyssZG

        小白的福音!无限感谢!先干为敬!

        回复
  2. 头像
    ts
    Windows 10 · Google Chrome

    曾哥,虚拟机的网络连接方式选啥啊,我用的nat然后Proxifier没有流量

    回复
    1. 头像
      AabyssZG 作者
      Windows 10 · Google Chrome
      @ ts

      切换到Nat模式就可以了,不妨给Proxifier管理员权限运行试试看

      回复
    2. 头像
      AabyssZG 作者
      Windows 10 · Google Chrome
      @ ts

      我已经更新文章了,不妨试试 3.4 补充 里面导入配置文件的方法表情

      回复
  3. 头像
    Nihaoya
    iPhone · Safari

    期待曾哥出更多proxifier新姿势

    回复
    1. 头像
      AabyssZG 作者
      Windows 10 · Google Chrome
      @ Nihaoya

      哈哈,感谢师傅的支持~

      回复
  4. 头像
    shuyu
    Windows 10 · Google Chrome

    曾哥,clash如果要设置的话该是全局还是规则模式?

    回复
    1. 头像
      AabyssZG 作者
      Windows 10 · Google Chrome
      @ shuyu

      不需要全局代理,因为流量都是走端口的(默认是7890端口),只需要测试端口是否可用就行了

      回复
  5. 头像
    biubiubiu
    Windows 10 · Google Chrome

    clash+proxifier+vmwar按上面来不行没走流量表情

    回复
    1. 头像
      AabyssZG 作者
      Windows 10 · Google Chrome
      @ biubiubiu

      应该是配置有问题,可以在QQ或者微信加我好友,我可以远程帮你看看

      回复
  6. 头像
    mengjiu
    Windows 10 · Google Chrome

    曾哥电脑什么环境啊,win还是mac啊,我win电脑导入配置文件也抓不到微信小程序包。其他没有测试表情

    回复
    1. 头像
      mengjiu
      Windows 10 · Google Chrome
      @ mengjiu

      曾哥能远控看帮我看看吗,被上线也心甘情愿表情

      回复
      1. 头像
        AabyssZG 作者
        Windows 10 · Google Chrome
        @ mengjiu

        已经微信联系并远程解决

        回复
        1. 头像
          Windows 10 · Google Chrome
          @ AabyssZG

          曾哥 我也是这样的咋搞呀

          回复
  7. 头像
    1111
    Windows 10 · Google Chrome

    vm17不行

    回复
    1. 头像
      AabyssZG 作者
      Windows 10 · Google Chrome
      @ 1111

      师傅可以再试试看,或者我远程你也可以
      因为我朋友的环境是VM17,他搞定了,VM17应该是没问题的

      回复
      1. 头像
        yinsel
        Windows 10 · Google Chrome
        @ AabyssZG

        确实不行试了17,vm走底层还得虚拟机里面开

        回复
        1. 头像
          AabyssZG 作者
          Windows 10 · Google Chrome
          @ yinsel

          VM17以上版本的代理问题现在已经解决,请看文章补充部分~

          回复
  8. 头像
    ruanzy
    Windows 10 · Google Chrome

    咸鱼之王表情

    回复
    1. 头像
      AabyssZG 作者
      Windows 10 · Google Chrome
      @ ruanzy

      哈哈哈,当时很火,就上手玩了一下~

      回复
  9. 头像
    Windows 10 · Google Chrome

    曾哥求助,按照这个配置导入我也没抓到小程序包,win操作系统表情

    回复
    1. 头像
      AabyssZG 作者
      Windows 10 · Google Chrome
      @

      加我QQ或者微信好友

      回复
  10. 头像
    无尘
    Windows 10 · Google Chrome

    曾哥,请问我按照您的方法,配置vmware的规则,打开vmware日志显示vmware ipv6关闭,然后vmware就会卡死,这是什么原因啊

    回复
    1. 头像
      AabyssZG 作者
      Windows 10 · Google Chrome
      @ 无尘

      请认真查看本文3.0处的注释内容

      回复
  11. 头像
    Xmayi
    Windows 10 · Google Chrome

    学到了,谢谢曾哥表情

    回复
  12. 头像
    小迷弟
    MacOS · Google Chrome

    曾哥哥,mac上proxifier怎么代理虚拟机。windows我会,测试可以。mac不行。

    回复
    1. 头像
      AabyssZG 作者
      Windows 10 · Google Chrome
      @ 小迷弟

      Mac我没试过哈哈,太穷了买不起苹果

      回复
    2. 头像
      思考机器
      Linux · Google Chrome
      @ 小迷弟

      用clash , 开启tun模式,所有流量都会通过代理,可以解决上述所有问题

      回复
    3. 头像
      思考机器
      Linux · Google Chrome
      @ 小迷弟

      如果程序可以从命令行打开,直接 proxychains {open_app_command} 打开程序,流量也会走代理

      回复
  13. 头像
    Luck2
    Windows 10 · Google Chrome

    真的很不错

    回复
  14. 头像
    思考机器
    Linux · Google Chrome

    曾哥,打扰一下你宝贵的时间。我想问一点其他代理的问题。问题有两个,但好像是由一个原因引起的,我不确定。
    不好意思,为了准确描述,有点长
    =================================================================================
    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/站点,枚举所有子域名结果都准确.

    回复
    1. 头像
      AabyssZG 作者
      Windows 10 · Google Chrome
      @ 思考机器

      具体情况和这个差不多: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字节接收,生存期小于一秒的,可以理解了吧

      回复
      1. 头像
        思考机器
        Linux · Google Chrome
        @ AabyssZG

        行,我研究下你发的链接。
        我由于电脑配置较低,满足不了同时装windows+虚拟机,所以一直用的linux,由于Proxifier不支持linux。我一直用的其他客户端代理。
        看来自己网络协议这块有点薄弱,总之我再全部研究下。

        回复
  15. 头像
    evax
    Windows 10 · Google Chrome

    曾哥,想请教一下proxifier default选择什么连接呢

    回复
    1. 头像
      AabyssZG 作者
      Windows 10 · Google Chrome
      @ evax

      选择Direct(直连)就好了

      回复
  16. 头像
    223333
    Windows 10 · Google Chrome

    请教曾哥 就是我今晚在这里瞎捣鼓终于捣鼓出了完美的效果(以前百度的查ip一直能精确的查到我真实ip而不是我的代理ip) 然后有几个问题想请教一下曾哥 1.我达到本文的效果是因为我clash代理选的是全局模式(global) 然后proxifier的代理规则里面的proxifier default选的是direct 可是我如果把proxifier default改成其他的不选直连 所有的网页 都打不开 这是为什么 还有就是为什么要那样选择才能打开 2.还发现就是我直接选择clash的全局模式 不打开proxifier 好像也能达到本文的效果 所以我想问一下为什么还要搭配着proxifier一起使用 这样是有什么别的优点吗 求师傅解答疑惑...

    回复
    1. 头像
      AabyssZG 作者
      Windows 10 · Google Chrome
      @ 223333

      正常情况下,Clash是没办法代理VMware的虚拟机流量的。
      简单来说,Clash是在应用层,而VMware是在驱动层(自己虚拟了一张网卡出来,和系统级流量是一样的),Clash没权限去给系统级的流量挂钩,所以需要Proxifier这个工具(驱动层)将VMware的流量挂上钩转到自己的代理去。
      我不清楚你是通过Clash的全局是如何做到代理VMware的,而且Clash的全局模式应该是走Clash的流量不对国内外的流量进行分流,而不是系统代理,我觉得你应该想说的是系统代理和Tun模式这两个功能吧。

      回复
      1. 头像
        思考机器
        Linux · Google Chrome
        @ AabyssZG

        clash 开启tun模式可以代理虚拟机(我用过VirtualBox试过,但VMware应该也可以)

        回复
        1. 头像
          AabyssZG 作者
          Windows 10 · Google Chrome
          @ 思考机器

          我这边不行哈哈,我帮朋友远程的时候试了也不行

          回复
      2. 头像
        223333
        Windows 10 · Google Chrome
        @ AabyssZG

        啊啊今天早上看了一下tun模式 原来是这个意思 之前一直理解错了 能加曾哥的qq细说一下吗 我这边确实是能做到用clash代理vmware 自我感觉很怪 说不出来的感觉

        回复
    2. 头像
      思考机器
      Linux · Google Chrome
      @ 223333

      全局模式和规则模式主要区别为,规则模式会把国内网站选择直连(不经过代理),而全局是所有流量都经过代理。

      回复
  17. 头像
    666
    Windows 10 · Google Chrome

    曾哥,你好,我在虚拟机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端口了。

    回复
    1. 头像
      AabyssZG 作者
      Windows 10 · Google Chrome
      @ 666

      已经找我私聊解决了~

      回复
      1. 头像
        Android · Google Chrome
        @ AabyssZG

        曾哥,可以帮我个忙吗?

        回复
        1. 头像
          AabyssZG 作者
          Windows 10 · Google Chrome
          @

          什么忙?

          回复
  18. 头像
    Liam
    Linux · Google Chrome

    感谢分享,VMWare bridge模式是不走Profixier的, 改成NAT就好了。

    回复
    1. 头像
      AabyssZG 作者
      Windows 10 · Google Chrome
      @ Liam

      对的哈哈,桥接是直接走VM虚拟的网卡,所以Proxifier钩到到流量;而NAT是通过系统进程vmnet.exe进行通信,所以能通过Proxifier钩到流量

      回复
  19. 头像
    qwq
    Windows 10 · Google Chrome

    曾哥,vm虚拟机流量能被代理,但访问网站除了国内的网站我访问youtube google pornhub都是
    SSL_ERROR_BAD_CERT_DOMAIN
    PR_END_OF_FILE_ERROR
    这俩个错误码,要怎么搞,win虚拟机和kali虚拟机都是这样子
    proxifier用的是你发给的配置

    回复
    1. 头像
      AabyssZG 作者
      Windows 10 · Google Chrome
      @ qwq

      已经私聊远程解决

      回复