FRP二开分析

admin 2022年10月26日13:49:11评论271 views字数 799阅读2分39秒阅读模式

结构

我们都知道frp分为服务端frps和客户端frpc,一般情况下在目标机运行frpc

今天主要分析一下frpc

先看一下frp的源码结构

FRP二开分析


先从frpc主文件开始

FRP二开分析


客户端的一些功能

FRP二开分析


我们常用的socks5代理,是以插件形式存在

FRP二开分析


静态文件免杀

这个其实挺简单的,把文件重新编译一下,就跟原来的不一样了。常见杀软可能是匹配hash值进行查杀。

Linux或者MaC运行如下命令,即可编译所有版本。

./package.sh

动态免杀

目前还没发现动态查杀情况。不过,他们可能会把文件放到沙箱分析。由于运行后,会有日志产生,很容易识别是FRP,所以把frpc的打印的日志去掉。

直接去这三个地方,把打印去掉就行。

FRP二开分析


隐藏配置文件

流量层特征去除

去除流量特征之前,先来分析一下使用过程中有那些特征。这里拿常用的socks5协议来分析。

先正常建立一个连接,然后抓取流量。

可以看到,有很明显的明文。

FRP二开分析


通过代码跟踪,找到这些明文信息在如下位置进行网络发送。在发送之前,进行加密。然后在接收的时候再进行解密即可。还有其他类似数据类型,也是通过明文进行发送。可以考虑直接在msg类中进行统一加解密。

FRP二开分析


建立的socks5代理,使用过程中,也是全程明文。很明显,这样直接被安全设备识别。

FRP二开分析


当然,应用自带的参数有加密和压缩参数,下面看一下使用了这两个功能后,代理的流量是什么样。

具体的通信数据被加密了,不过,还是有部分信息通过明文进行传输。红色部分是服务端向客户端发送的消息,也就是说需要从服务端找到这些明文信息,然后对其加密。

FRP二开分析


最终,在serverproxyproxy.go中找到。客户端和服务端是通过msg进行通讯,所以直接在写入之前对其进行加密即可。(后续找个会go的大佬来写)

FRP二开分析


通过代码跟踪,应用加密是通过aes加密,密钥为token,默认为空。所以使用加密的时候,最好设置一下token

FRP二开分析


FRP二开分析


原文始发于微信公众号(云智信安云窟实验室):FRP二开分析

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年10月26日13:49:11
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   FRP二开分析http://cn-sec.com/archives/1369447.html

发表评论

匿名网友 填写信息