• 使用frp实现内网穿透


    0x01 描述

    内网通常指的是内部局域网,我们想远程互联网发起请求时一般是无法直接从本地访问至目标内网的,这时候就需要我们内网穿透技术来实现对目标内网的访问啦!

    0x02 什么是正向代理

    正向代理指的就是我们平常使用的代理服务器。假设我们是A服务器,代理服务器是B,目标服务器为C,A服务器无法直接访问C服务器,B服务器可以访问C服务器,A服务器将访问C服务器的请求发送给B服务器,B服务器访问之后将它的访问结果传输至A服务器,这就是整个正向代理的过程
    举个栗子:我们国内无法直接访问Google,但是我们有一台我们可以访问到并且也可以访问Google的中间服务器,这时候我们将请求Google的流量发送到这台中间服务器上,Google对请求做处理之后将流量返回给中间服务器,中间服务器再将结果返回给我们。

    0x03 什么是反向代理

    相对于客户端来说反向代理隐藏了请求服务器的真实地址。假设存在客户端A,代理服务器是B,项目真正运行的服务器C,这时候我们将C上面运行的业务通过反向代理的方式代理到了B服务器上,A访问B服务器时流量会自动转发至C服务器,对于A服务器来说不需要知道C服务器的地址,直接访问B服务器即可。

    0x04 通过frp实现内网穿透(反向代理)

    Git项目地址

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

    1.服务器端
    服务器端放置在我们VPS上,相关端口需要具备访问权限
    1.1 配置服务器frps.ini

    [common]
    bind_port = 7000
    dashboard_port = 7500
    token = 12345678
    dashboard_user = admin
    dashboard_pwd = admin
    

    • [common] 必须具备
    • bind_port 表示⽤于客户端和服务端连接的端⼝。
    • dashboard_port 是服务端仪表板的端⼝,在配置完成服务启动后可以通过浏览器访问x.x.x.x:7500 (其中x.x.x.x为VPS的IP)查看frp服务运⾏信息。
    • token 是⽤于客户端和服务端连接的⼝令,客户端需具备相同token才可以进行连接,具体token内容用户自定义即可。
    • dashboard_user 和dashboard_pwd 表示打开仪表板⻚⾯登录的⽤户名和密码,⾃⾏设置即可。
      1.2 启动代理服务器
    ./frps -c frps.ini
    


    出现以上内容为启动成功,因为配置了dashboard_port,我们可以访问frps中dashboard_port指定的端口查看frp运行状态(如果不需dashboard可以将frps.ini中的相关参数删除)

    2.客户端
    客户端放置在目标上
    2.1 配置客户端frpc.ini

    [common]
    server_addr = x.x.x.x
    server_port = 7000
    token = 12345678
    [rdp]
    type = tcp
    local_ip = 127.0.0.1 
    local_port = 3389
    remote_port = 7001 
    
    • [common] 必须具备,标识了连接frps端的所需要配置
    • server_addr为frps服务器地址
    • server_port为frps.ini文件中bind_port端口,需要确保frpc可访问frps.ini中bind_port端口
    • token为frps.ini中token,可以为任意字符串,但是需要保持一致,主要是为了保证设置frps和frpc是同一用户,防止别人非法使用
    • [rdp] 名字随意,可以同时配置多个端口进行转发
    • type 协议类型,支持tcp、udp、http、https和stcp协议
    • local_ip 相对于客户端来说的IP地址,这里的127.0.0.1就相当于客户端本机
    • local_port local_ip的端口
    • remote_port 被转发到frps中的地址,就是我们实际要访问的地址
      2.2 启动代理服务器
    frpc.exe -c frpc.ini
    

    出现successs表示frp建立成功,如果失败了就检查一下配置文件是配置出现问题(如果先配置在上传,并且上传过程中存在中文路径可能会在传输过程中产生格式错乱问题),其次检查一下frpc端是否可以ping通frps端,frps端bind_port端口是否对外开放

    3 使用
    可以看到我们将本地的3389端口通过frp对接到了代理服务器的7001端口,我们可以直接使用windows自带的远程连接工具对frps的7001端口进行连接

    输入账号密码连接成功

    0x05 总结

    内网穿透是后渗透必备的一部分,如何正确熟练的进行内网穿透是后渗透工作开展的基础,如果发现文章内容存在问题,请及时联系,共同学习进步。

  • 相关阅读:
    LeetCode 链表题总结
    分布式系统 MIT 6.824 Lab 1: MapReduce 准备
    Consul 入门(二)
    Consul 入门
    IDEA批量修改变量快捷键
    Spring源码解析-JdbcTemplate
    SpringMVC源码解析-HTTP请求处理和分发
    SpringMVC源码解析-DispatcherServlet启动流程和初始化
    发现一个网站可以看英文版的harry potter小说,好东西分享一下哈
    TypeSrcript如何引入第三方库 如果加d.ts以及async await如何使用 demo,只有代码,文字后续补充
  • 原文地址:https://www.cnblogs.com/KHZ521/p/15925091.html
Copyright © 2020-2023  润新知