红队|窃取frp代理服务器

admin 2023年5月5日08:32:04评论99 views字数 1657阅读5分31秒阅读模式

免责声明

本文仅用于技术讨论与学习,利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,文章作者不为此承担任何责任。

只供对已授权的目标使用测试,对未授权目标的测试作者不承担责任,均由使用本人自行承担。

红队|窃取frp代理服务器

文章正文

在最近的攻防演练中经常能看到这样的frpc配置文件。

[common]
server_addr = x.x.x.x
server_port = 7000

[xxx]
type = tcp
remote_port = 48944
plugin = socks5

连接服务器的信息中没有凭证信息,这不是妥妥的未授权吗。我寻思着一般安全意识比较好的攻击队怎么会用能未授权访问的东西,不太正常。我去翻阅了frp的官方文档

https://gofrp.org/docs/examples/ssh/

原来官方例子中的配置就是未授权的,看来是为了图方便。

红队|窃取frp代理服务器
image-20230430143951715

那既然是未授权,那肯定有办法检测未授权的frp server,从而加以利用(用其他红队的frp server做代理,是不是就溯源不到咱们头上的IP了呢?#坏笑.jpg)。

不想看分析的师傅们可以直接来弟弟的项目下载成品(开源),可批量检测未授权、弱口令。

https://github.com/SleepingBag945/frpCracker

红队|窃取frp代理服务器
image-20230501132021852

为了弄清楚frp的鉴权过程,下载了frp的源码进行阅读。

找到frpc,调试f7单步跟下去。在clint/service.go找到登录相关函数login()

红队|窃取frp代理服务器
image-20230430150658822

首先在这发送了进行连接

红队|窃取frp代理服务器
image-20230430160434521
红队|窃取frp代理服务器
image-20230430160508362
x00x01x00x01x00x00x00x00x01x00x00x00x00

然后回了个进行确认

红队|窃取frp代理服务器
image-20230430160824526
x00x01x00x02x00x00x00x00x01x00x00x00x00

通过返回包可以判断一个tcp端口是否开放着frp服务。

接着进入认证阶段。

红队|窃取frp代理服务器
image-20230430161107877

将loginMsg序列化成json发送出去

红队|窃取frp代理服务器
image-20230430161352811

其他的很清楚怎么来的,只有这个PrivilegeKey需要弄清楚

进入svr.authSetter.SetLogin(loginMsg)看

红队|窃取frp代理服务器
image-20230430161917952
红队|窃取frp代理服务器
image-20230430162114192

也就是说这个PrivilegeKey是由auth.token与当前时间戳计算得到,在无配置token的访问中,

红队|窃取frp代理服务器
image-20230430162007851

这里的token为空。也就是只需要时间戳即可构造。

具体实现方法为 md5(token + timestamp)

红队|窃取frp代理服务器
image-20230430162156258

而未授权时实际上为md5(timestamp)。

是不是有点像是nps未授权访问?nps是默认把auth_key注释了,导致获取时为空字符串。

返回的信息如下

红队|窃取frp代理服务器
image-20230430204556248

如果Error为空,获取到RunID则是正常的。

到此就可以自己实现一个frps爆破工具了。

核心逻辑在这

先用返回的消息判断是否是frp,如果是frp才开始检测未授权或者爆破

红队|窃取frp代理服务器
image-20230501100956797

根据客户端版本、系统、架构、token生成构造出对应的认证消息并发送出去。

红队|窃取frp代理服务器
image-20230501100727776
红队|窃取frp代理服务器
image-20230501101140564

如果成功获取到runID之类的信息则成功爆破frp server。

写完爆破出结果

红队|窃取frp代理服务器
image-20230501125055635

测试下

红队|窃取frp代理服务器
image-20230501125109788
红队|窃取frp代理服务器
image-20230501125123856

连接成功。

红队|窃取frp代理服务器

红队|窃取frp代理服务器

原文始发于微信公众号(Z2O安全攻防):红队|窃取frp代理服务器

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年5月5日08:32:04
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   红队|窃取frp代理服务器http://cn-sec.com/archives/1707021.html

发表评论

匿名网友 填写信息