另外frpc在连接认证Frps的时候,会进行三次握手,会把Frp的版本信息发给frps进行认证,如果是用的一个没有改过的Frp那么这时候只要建立连接,很容易就会被安全设备捕获到。如下可以看到该工具版本Version、Arch、User、Privilege_key等字段 这时候追踪 TCP 流可以看到我这个 Frp 版本为0.38 很多安全设备也会基于 Frp 的相...
也就是说这个PrivilegeKey是由auth.token与当前时间戳计算得到,在无配置token的访问中, 这里的token为空。也就是只需要时间戳即可构造。 具体实现方法为 md5(token + timestamp) 而未授权时实际上为md5(timestamp)。 是不是有点像是nps未授权访问?nps是默认把auth_key注释了,导致获取时为空字符串。 返回的信息...
"timestamp": <int64>, "privilege_key": <string>, "run_id": <string>, "pool_count": <int>, "metas": map<string>string, "client_address": <string> } } NewProxy 创建代理的相关信息 { "content": { "user": { "user": <string>, "metas": map<string>string "run_id": <string>...
ip.dst_host == ip 可以看到frp版本信息0.49.0(最新版本),Privilege_key等信息 可以看到账户密码校验整体交互都是属于明文,能很清晰的看到账户密码,很多安全设备都会以此为特征,来进行流量识别
为了查看,我把主要内容复制到下面了。可以看见,frpc会向frps传递frpc的版本以及系统架构时间戳和key等信息。 代码语言:javascript 复制 {"version":"0.37.0","hostname":"","os":"windows","arch":"amd64","user":"","privilege_key":"3900738c9c817bab438548f48a6d2823","timestamp":1629082109,"run_...
先从数据包中分析有用的字段 version,hostname,os,arch,user,privilege_key,runid,metas,接下来会从代码萌新层面讨论如何去掉特征。 4.2 代码分析 git拉取源代码分析,git clonehttps://github.com/fatedier/frp 首先定位到pkg/msg/msg.go type Login struct { ...
先从数据包中分析有用的字段 version,hostname,os,arch,user,privilege_key,runid,metas,接下来会从代码萌新层面讨论如何去掉特征。 4.2 代码分析 git拉取源代码分析,git clonehttps://github.com/fatedier/frp 首先定位到pkg/msg/msg.go type Login struct { ...
"privilege_key": <string> } } NewUserConn New user connection received from proxy (supporttcp,stcp,httpsandtcpmux) . { "content": { "user": { "user": <string>, "metas": map<string>string "run_id": <string> }, "proxy_name": <string>, ...
服务器密钥 [token] 老版本为[privilege_token] 底层通讯协议 [protocol] 一般为kcp或者tcp 用户名 [user] 这个随意填一个就行了 日志配置随意 基本配置示例 配置文件信息 [common] server_addr = frp3.chuantou.org server_port = 7000 token = www.chuantou.org ...
服务器密钥[token]老版本为[privilege_token] 底层通讯协议[protocol]一般为kcp或者tcp 用户名[user]这个随意填一个就行了 日志配置随意 基本配置示例 配置文件信息 [common]server_addr=frp3.chuantou.org server_port=7000token=www.chuantou.org protocol=kcp ...