Erfrp-frp二开-免杀与隐藏

渗透技巧 2年前 (2022) admin
1,403 0 0

声明:该公众号分享的安全工具和项目均来源于网络,仅供安全研究与学习之用,如用于其他用途,由使用者承担全部法律及连带责任,与工具作者和本公众号无关。

本项目是frp的二开项目。frp是fatedier开发的一款优秀的反向代理工具,可以将本地服务器暴露在互联网上。但原程序对攻击队而言并不优雅,希望本项目可以为攻击队贡献一个完美的FRP二开项目!

01-项目功能修改

  • 程序运行判断是否存在frpc.ini或frps.ini文件,不存在则自动创建。

  • 全部的参数都从ini文件获取?or 全部的参数都写到go文件中?#Todo
  • 加入命令执行模块#Todo
// 自动生成frpc.ini和frps.inifunc init() {  frpcini := "frpc.ini"  if _, errFileExist := os.Stat(frpcini); errFileExist != nil {    f, err := os.Create(frpcini)    if err != nil {      os.Exit(1)    }    _, err = f.Write(config.DefaultiniBytefrpc)  }
}

02-敏感信息隐藏

  •  配置文件自动删除:frpc.exe –delini

  // 删除配置文件  // 程序运行时添加--delini命令  if delEnable == true {    err := os.Remove(cfgFile)    if err != nil {      return err    }  }
  • 远程加载配置文件:frpc.exe -c http://127.0.0.1/frpc.ini

func GetRenderedConfFromFile(path string) (out []byte, err error) {  var b []byte  rawUrl := path  if strings.Contains(rawUrl, "http") {    log.Info("Remote load ini file")    response, _err1 := http.Get(path)    if _err1 != nil {      return    }    defer response.Body.Close()    body, _err := io.ReadAll(response.Body)    if _err != nil {      return    }    httpContent := string(body)    var content = []byte(httpContent)    out, err = RenderContent(content)    return
} else { log.Info("Local load ini file") b, err = os.ReadFile(path) if err != nil { return } localContent := string(b) var content = []byte(localContent) out, err = RenderContent(content) return }}
  • 服务端IP地址加密:需要在代码上面修改aes的key和加密后的字符

使用说明:在代码中修改AESKey和AESencryptCode的值为自己的。AESKey可不修改,默认使用Erfrp的md5值。在frpc.ini中将server_addr的值修改为AESencryptCode。

package dscrypto
// 对服务器IP进行隐藏需要修改此处的AESKey和AESencryptCode。// 同时需要对frpc.ini中的server_addr进行修改,修改成AESencryptCode。// server_addr支持正常的ip和加密之后的ip,2种形式。var ( VpsIP = "192.168.1.22" AESKey = "9d9d14b5f6650726afe17e1af4052632" //Erfrp AESencryptCode = "J6X+PfMnVldSaM1tpjaNKw==" //AESencryptCode = "2HrQDAPV5JgjckfYkO9u4g==")

03-静态特征修改

  • 去除日志打印相关内容#Todo
  • 去除FRP相关的字段内容#Todo

04-流量特征修改

  • 0x17特征修改
  • 默认开启TLS

05-使用及截图

  • 配置文件自动删除:frpc.exe –delini

Erfrp-frp二开-免杀与隐藏

  • 服务端IP地址加密:需要在代码上面修改aes的key和加密后的字符
如果本地没有golang环境的,这里给大家找了一个在线的golang编辑器
https://lightly.teamcode.com/
首先生成aes加密的vpsip

Erfrp-frp二开-免杀与隐藏


然后将生成前的vps填入VpsIP中,密钥填入AESKey中,加密后的VPSIp填入AESencryptCode中
打开终端生成frps和frpc即可

Erfrp-frp二开-免杀与隐藏

Erfrp-frp二开-免杀与隐藏

  • 远程加载配置文件:frpc.exe -c http://x.x.x.x/frpc.ini

Erfrp-frp二开-免杀与隐藏

下载地址

点击下方名片回复”Erfrp“获取

欢迎加入学习

Erfrp-frp二开-免杀与隐藏

Erfrp-frp二开-免杀与隐藏


Erfrp-frp二开-免杀与隐藏



干货 | 渗透知识库


工具|web指纹识别脚本


审计 | SeaCms代码审计getshell


证书 | 第一次申请CVE的全过程


实战 | 记一次授权的渗透测试


应急 | linux实战清理挖矿病毒



好文分享收藏赞一下最美点在看哦

原文始发于微信公众号(鹏组安全):Erfrp-frp二开-免杀与隐藏

版权声明:admin 发表于 2022年12月27日 上午11:55。
转载请注明:Erfrp-frp二开-免杀与隐藏 | CTF导航

相关文章

暂无评论

您必须登录才能参与评论!
立即登录
暂无评论...