Neo-reGeorg icon indicating copy to clipboard operation
Neo-reGeorg copied to clipboard

新增基于哥斯拉的反序列化与序列化引擎

Open BeichenDream opened this issue 3 years ago • 11 comments

新增基于哥斯拉的反序列化与序列化引擎 新增服务器http转发忽略Https

Neo-reGeorg 不适合基于TLV(类型、值长度、值)的反序列化引擎 更适合基于哥斯拉的KTLV的反序列化引擎(Key,值类型,值长度,值)

image

image

BeichenDream avatar Mar 23 '22 14:03 BeichenDream

感谢PR, 我后续有空仔细看看实现是否可行 :)

L-codes avatar Mar 23 '22 15:03 L-codes

我提交的pr已经有具体的实现了

发自我的iPhone

------------------ 原始邮件 ------------------ 发件人: L @.> 发送时间: 2022年3月23日 23:12 收件人: L-codes/Neo-reGeorg @.> 抄送: beichen @.>, Author @.> 主题: Re: [L-codes/Neo-reGeorg] 新增基于哥斯拉的反序列化与序列化引擎 (PR #60)

感谢PR, 我后续仔细有空看看实现是否可行 :)

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you authored the thread.Message ID: @.***>

BeichenDream avatar Mar 23 '22 15:03 BeichenDream

嗯 看到,考虑是否可行是需要考虑兼容性、可靠性是否存在特征等的情况

L-codes avatar Mar 23 '22 15:03 L-codes

可靠性: 我在jdk1.4-17经过了测试  php5.2-8经过了测试特征:我提交的pr只是一个反序列化器  可以将dict/map序列化成二进制数据  neoreg先前的协议头特征就不存在了  另外我这个只是一个序列化器不会增加任何特征  底层加密数据依旧是neoreg的encode_body方法

BeichenDream avatar Mar 23 '22 15:03 BeichenDream

有没有进展

BeichenDream avatar Mar 25 '22 07:03 BeichenDream

@BeichenDream 我还没测试和阅读代码,下周我看看;另外改动有点大,方便沟通我微信发给你女朋友了,加一下我吧 :)

L-codes avatar Mar 25 '22 07:03 L-codes

师傅貌似还没加我微信,我已仔细阅读了代码和简单测试了一下:

新增服务器http转发忽略Https

  1. 这个非常不错,之前一直没解决,但建议单独功能PR合并

新增基于哥斯拉的反序列化与序列化引擎,需要继续沟通,有以下一些问题

  1. 因为header key的类型只有字符串并为可见字符组成,那KTLV除了比TLV能让数据结构更简短还有什么其它优势吗?因为我觉得neo-regorg的简易型设计,既然要封装到二进制的body里面,采用字节表编码或使用二进制掩码的形式会更加短,如果KTLV只带来精短,这个设计方案不见得是好,可能还有其它的优势我暂未发现,可以说说?
  2. 把 Target 拆分成 host port 的作用是?
  3. php 是考量什么把 if(version_compare(PHP_VERSION,'5.4.0','>='))@http_response_code(HTTPCODE); 删了,这个是用作伪装响应码的
  4. php 中 set_time_limit(0) 是否存在兼容性问题?(我看PHP 4, PHP 5, PHP 7, PHP 8支持,但只是大版本,会不会大版本里面细的小版本不支持)

另外,师傅不应该把我 header 随机化删掉的,识别出是neoreg的流量的话,这样变形base64可以破解出部分的明文信息 并且针对这个修改过的版本,特征很明显,response是固长的 forward请求响应 20字节,connect请求响应 36字节等 且 python2 中测试 neoreg.py 不兼容,违背该项目需要兼容 python2/3 的目的,也需要修改一下代码

原本的特征是人工一眼识别,机器规则难以添加,AI深度学习可识别 这个修改后的版本是人工对比能识别,机器规则能识别,AI深度学习也可识别

合并KTLV的内容,需要进一步沟通改良设计 :)

L-codes avatar Mar 28 '22 05:03 L-codes

师傅貌似还没加我微信,我已仔细阅读了代码和简单测试了一下:

新增服务器http转发忽略Https

  1. 这个非常不错,之前一直没解决,但建议单独功能PR合并

新增基于哥斯拉的反序列化与序列化引擎,需要继续沟通,有以下一些问题

  1. 因为header key的类型只有字符串并为可见字符组成,那KTLV除了比TLV能让数据结构更简短还有什么其它优势吗?因为我觉得neo-regorg的简易型设计,既然要封装到二进制的body里面,采用字节表编码或使用二进制掩码的形式会更加短,如果KTLV只带来精短,这个设计方案不见得是好,可能还有其它的优势我暂未发现,可以说说?
  2. 把 Target 拆分成 host port 的作用是?
  3. php 是考量什么把 if(version_compare(PHP_VERSION,'5.4.0','>='))@http_response_code(HTTPCODE); 删了,这个是用作伪装响应码的
  4. php 中 set_time_limit(0) 是否存在兼容性问题?(我看PHP 4, PHP 5, PHP 7, PHP 8支持,但只是大版本,会不会大版本里面细的小版本不支持)

另外,师傅不应该把我 header 随机化删掉的,识别出是neoreg的流量的话,这样变形base64可以破解出部分的明文信息 并且针对这个修改过的版本,特征很明显,response是固长的 forward请求响应 20字节,connect请求响应 36字节等

原本的特征是人工一眼识别,机器规则难以添加,AI深度学习可识别 这个修改后的版本是人工对比能识别,机器规则能识别,AI深度学习也可识别

合并KTLV的内容,需要进一步沟通改良设计 :)

可否留下微信号

BeichenDream avatar Mar 28 '22 05:03 BeichenDream

我已经申请添加好友了,麻烦通过一下 L

L-codes avatar Mar 28 '22 05:03 L-codes

PR 停留了太久,我先将忽略 https 安全的问题加入到现在的代码中先 :) 感谢师傅提交的方法,C#版本忽略证书安全的方法发现并不通用,找不到 using System.Net.Security; 找不到库 https://github.com/L-codes/Neo-reGeorg/releases/tag/v3.8.1 image

L-codes avatar Jun 20 '22 12:06 L-codes

PR 停留了太久,我先将忽略 https 安全的问题加入到现在的代码中先 :) 感谢师傅提交的方法,C#版本忽略证书安全的方法发现并不通用,找不到 using System.Net.Security; 找不到库 https://github.com/L-codes/Neo-reGeorg/releases/tag/v3.8.1 image

稍等 我在两天内会上传剩余代码

BeichenDream avatar Jun 20 '22 17:06 BeichenDream

等tlv实现后重新pull

BeichenDream avatar Nov 28 '22 09:11 BeichenDream