• 使用frp进行内网穿透(内网隧道搭建)


    题记

            最近打算着实研究研究内网渗透,端口转发这块折磨我好久了,看了好多理论觉得云里雾里的,所以打算亲自操作看看,毕竟实践是检验真理的唯一标准。

    Frp简介

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

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

    准备工作

    1、VPS一台(具有公网ip的服务器):kali

    2、目标服务器:Windows

    3、简单的linux基础

    服务端设置

    SSH连接到VPS之后运行如下命令查看处理器架构,根据架构下载不同版本的frp

    arch

    查看结果,如果是"X86_64"即可选择"amd64",运行如下命令,根据架构不同,选择相应版本并进行下载

    wget https://github.com/fatedier/frp/releases/download/v0.22.0/frp_0.22.0_linux_amd64.tar.g然后解压tar -zxvf frp_0.22.0_linux_amd64.tar.gz

    文件夹改个名,方便使用

    cp -r frp_0.22.0_linux_amd64 frp

    把解压出来的文件夹复制到你想要的目录下,为了方便我直接放在用户目录下了,进入该目录

    cd frp

    查看一下文件

    ls -a

    我们只需要关注如下几个文件

    frps

    frps.ini

    frpc

    frpc.ini

    前两个文件(s结尾代表server)分别是服务端程序和服务端配置文件,后两个文件(c结尾代表client)分别是客户端程序和客户端配置文件。因为我们正在配置服务端,可以删除客户端的两个文件。

    rm frpc

    rm frpc.ini

    然后修改frps.ini文件

    vim frps.ini

    [common]
    
    bind_addr = 0.0.0.0 #绑定的ip,为本机
    
    bind_port = 7000 #绑定的端口
    
    dashboard_addr = 0.0.0.0 #管理地址
    
    dashboard_port = 27500 #管理端口
    
    dashboard_user = root #管理的用户名
    
    dashboard_pwd = 123456 #管理用户的密码
    
    token = 1q2w3e #客户端服务端连接的密码
    
    heartbeat_timeout = 90 #心跳超时时间
    
    max_pool_count = 5 #最大同时连接数

    编辑完成后保存

    之后我们就可以运行frps的服务端了

    ./frps -c frps.ini

    如果看到屏幕输出这样一段内容,即表示运行正常,如果出现错误提示,请检查上面的步骤。

     

    此时访问 x.x.x.x:27500 并使用自己设置的用户名密码登录,即可看到仪表板界面

    客户端设置

    把文件通过cs上传上去

    frpc.ini配置

    [common]
    
    server_addr = 103.234.72.5
    
    server_port = 7000 #服务器绑定的端口
    
    token = 1q2w3e
    
    pool_count = 5
    
    protocol = tcp #协议类型
    
    health_check_type = tcp
    
    health_check_interval_s = 100
    
    [test]
    
    remote_port = 10000 #代理的端口
    
    plugin = socks5 #使用的协议
    
    use_encryption = true #是否加密
    
    use_compression = true

    客户端启动

    在cs的输入beacon命令启动客户端

    cd C:frp_0.34.3_windows_amd64

    shell frpc.exe -c frpc.ini

    启动后服务器端操作界面会回显一个连接。

    我们本机设置代理:socks5 103.234.72.5 10000

    这里我们用火狐的代理插件

    我代理的目标ip地址为192.168.0.132,是一个虚拟机靶场,我真实机器ip为192.168.0.129,在真实机器挂代理后访问页面127.0.0.1可以访问到靶场,可见成功走132的流量。

    Frp代理拓扑图(便于理解)

           我用visio画的,看起来有些简陋,但是理是那个理。端口映射也就这么回事。

    参考文献

    1、使用frp进行内网穿透:https://sspai.com/post/52523/

    2、[安世加] - 2020-04-26 内网渗透 - 内网穿透工具FRP的使用

  • 相关阅读:
    F#学习开篇(一)
    F#学习(二)
    认识“闭包”
    Silverlight显示控件换行的几种方式
    关于P问题、NP问题、NPC问题
    LINQ&EF任我行(二)LinQ to Object
    WPF中资源的引用方法
    Linq to EF 与Linq to Object 使用心得
    C#中如何用拼音模糊匹配汉字的首字母
    WPF获取应用程序路径方法,获取程序运行路径方法
  • 原文地址:https://www.cnblogs.com/sunny11/p/14264293.html
Copyright © 2020-2023  润新知