奶昔论坛

标题: 有关 CoiaPrant/PortForwardGo 的授权分析 [打印本页]

作者: nyarime    时间: 2024-7-18 14:35
标题: 有关 CoiaPrant/PortForwardGo 的授权分析

由于今日有位网友向我提问说 PortForwardGo(以下简称"pf-go") 开心版推出以后的授权没了,是因为下午我在调整域名解析记录时,把授权域名 pf-go.moecloud.cn 的记录给删掉了。顺便补上之前咕掉的代码分析。此贴来自于 bbs.moecloud.cn ,萌站主机论坛于2024年7月18日并入奶昔网。

记得那会在大马跟朋友们一起吃老武汉烧烤,由于作者的盒威慑我不小心把他家给全pua了



当时是给CoiaPrant租赁了国内的大宽带服务器,并且答应了我py价租赁后提供 pf-go 的授权;结果到租赁结束后不给我授权并且还喷我业务跑不满(能跑满要专线干啥?)

原项目链接,需要登录授权的GitLab。一晃半年过去了,顺便把当时破解的思路总结一下


逆向


仅作为学习用途,请在24小时内删除对应副本。由于本人前几年只跟外挂作对,因此关于Go一无所知只能请求于某位师傅。不过nop下断什么的我倒没学会,只能搞点二进制,在此推荐一个项目:

[适用于 IDAPro 的 Golang 二进制解析器] https://github.com/0xjiayu/go_parser

准备好ida和解析器,接下来就可以开始干二进制了。断点这类的等有时间在研究,目前正在研究医学方向的知识前阵子咕了,对于这种小学生写的授权都可以解决。


准备副本


我们在当时的原项目链接获取了二进制程序,并直接丢到ida里去。不难看出在下图代码50行的地方有个curl请求,在此推测此转发程序需要联网请求:



我们继续深挖,因为转发程序一般只连接传入和传出,并不会去请求公网的其他资源,可以断定这个东西是一个类似于上报的玩意,或者是检查授权。



然后我们分析下这个请求服务器,通过抓包我们可以获取到以下地址


https://shop.zeroteam.top/modules/servers/applicense/veify.php

验证的英文不应该是 verify 吗?我还以为是我写错代码了,这英语水平也太。。。



在此,我们要找一个一样字符串的二进制去替换,观察了一下请求如果传入空数据会返回 {"Authorized":false} ,因此我们只需要把 false 改成 true 就行。由于是php我们还是习惯性写个代码吧:


<?php
echo('{"Authorized":true}');

然后给他丢到我们的伪站下 /modules/servers/applicense/veify.php 就可以了,无论他怎么请求都会true那就完事了。再修改下程序里的二进制就可以啦:



反正就是修改个二进制的功夫,字符串数量对的上就行,我们就得到了开心版:






作者: cpu    时间: 2024-7-24 17:04
那么问题来了,最后一版二进制文件还有吗
作者: nyarime    时间: 2024-7-24 18:20
在这里哦

PortForwardGoPanel_1.2.0_linux_amd64.tar.gz

18.45 MB, 下载次数: 485


作者: 9哥    时间: 2024-7-24 18:27
bd
作者: 1145141919810    时间: 2024-8-2 21:25
pfgo在服务器抽大烟
作者: 李元霸    时间: 2024-8-5 11:00
nyarime 发表于 2024-7-24 18:20
在这里哦

求佬来个保姆级的安装教程
作者: emengweb    时间: 2024-8-23 20:18
下一步就是上教程了吧,刚好要用到转发
作者: nnn    时间: 2024-8-28 13:36
下载pfgo1.2.0免授权版

curl -O "https://bbs.naixi.net/forum.php?mod=attachment&aid=MjJ8NTg1YWU5MmV8MTcyNDcyNjU3N3wwfDY1"
wget --no-check-certificate "https://bbs.naixi.net/forum.php?mod=attachment&aid=MjJ8NTg1YWU5MmV8MTcyNDcyNjU3N3wwfDY1"
重命名 为 PortForwardGoPanel_1.2.0_linux_amd64.tar.gz

解压缩到目录

sudo tar -xzvf PortForwardGoPanel_1.2.0_linux_amd64.tar.gz -C /opt/PortForwardGoPanel
创建配置文件: 需要创建一个 config.json 文件用于配置 PortForwardGoPanel。您可以参考 examples 文件夹中的示例配置文件,或者根据需要创建一个新的配置文件
{
    "Web": {
        "Type": "tcp",
        "Listen": ":80"
    },
    "Database": {
        "Type": "mysql",
        "MySQL": {
            "Host": "127.0.0.1",
            "Port": 3306,
            "User": "root",
            "Password": "",
            "Name": "portforward"
        }
    },
    "Security": {
        "AllowCORS": false,
        "InsecureSkipVerify": false,
        "DisableTunnelDevices": false,
        "DisableLookingGlass": false,
        "DisableGuestView": false
    },
    "Performance": {
        "NoTrafficStatistics": false,
        "InvoiceExpireDays": 7
    },
    "System": {
        "DebugMode": false,
        "MaintenanceMode": false,
        "Theme": "",
        "DisableErrorReport": false,
        "DailyDatabaseBackup": false
    },
    "Proxy": ""
}
设置 Systemd 服务: 如果 systemd 文件夹中包含一个服务文件,可以将其安装到 /etc/systemd/system 目录并启用服务。

sudo cp /opt/PortForwardGoPanel/systemd/PortForwardGoPanel.service /etc/systemd/system/
重新加载 Systemd 管理器配置:

sudo systemctl daemon-reload
启用并启动服务:

sudo systemctl enable --now PortForwardGoPanel
查看日志: 如果服务有问题,可以查看日志以获取更多信息:

sudo journalctl -u PortForwardGoPanel
查看服务是否正常启动:

sudo systemctl status PortForwardGoPanel
root@vm-aapanel:~# sudo systemctl status PortForwardGoPanel
● PortForwardGoPanel.service - PortForwardGo Panel Service
     Loaded: loaded (/etc/systemd/system/PortForwardGoPanel.service; enabled; vendor preset: enabled)
     Active: active (running) since Tue 2024-08-27 19:22:05 CST; 8min ago
       Docs: https://docs.zeroteam.top/pfgo/panel/
   Main PID: 649 (PortForwardGoPa)
      Tasks: 6
     Memory: 45.7M
        CPU: 69ms
     CGroup: /system.slice/PortForwardGoPanel.service
             └─649 /opt/PortForwardGoPanel/PortForwardGoPanel --config config.json

作者: nnn    时间: 2024-8-28 13:38
没用过,测试一下,对接貌似有问题。官方客户端好似对接不了.
作者: sjys6    时间: 2024-9-7 16:28
本帖最后由 sjys6 于 2024-9-7 19:41 编辑

感谢分享,不过现在已经失效


搜狗截图20240907194010.png

作者: asdf    时间: 2024-9-8 10:52
sjys6 发表于 2024-9-7 16:28
感谢分享,不过现在已经失效

试了下官方文件的授权网址, 版本1.1.5~1.2.1 授权请求是 license.zeroteam.top
不是 shop.zeroteam.top
作者: sjys6    时间: 2024-9-8 13:16
asdf 发表于 2024-9-8 10:52
试了下官方文件的授权网址, 版本1.1.5~1.2.1 授权请求是 license.zeroteam.top
不是 shop.zeroteam.top ...

原文截图就是1.0.6版本,1.0.6这个版本试过了,没问题,评论中那个下载包1.2.0版本无效的,改不了,蹲个更新




欢迎光临 奶昔论坛 (https://bbs.naixi.net/) Powered by Discuz! X3.5