Obfsproxy - 混淆加密端口数据

Obfsproxy - 混淆加密端口数据,第1张

安装在centos7上测试

进去解压(最新版)

安装(依赖于Python)

看到提示:Finished processing dependencies for obfsproxy==0.2.3,基本就安装成功了。

不过一般是不会成功的,缺少各种模块,大家要见机行事了。

在centos7系统中可执行如下命令解决上述问题

服务器安装成功后可执行如下命令(出现: Obfsproxy (version: 0.2.13) starting up 为成功)

大猪要给例子了

客户端安装同上,但启动命令不一样,如下

大猪给举个例子:

本地只需要连接336端口,实际上就能连接到线上的3306端口啦

Type7混淆加密过程,即从一个有26个ASCII字符表中,产生一个种子值(Seed Value)(0-52之间)随机抽取一个用来和明文密码的第一个字符异或,产生的结果用16进制表示,放在加密后字符串的第2、3位,然后种子值+1,再去抽取一个用来和明文密码第二个字符异或,16进制结果放在随后的位置位……。

26字符表如下:

0x64, 0x73, 0x66, 0x64, 0x3b, 0x6b, 0x66, 0x6f,

0x41, 0x2c, 0x2e, 0x69, 0x79, 0x65, 0x77, 0x72,

0x6b, 0x6c, 0x64, 0x4a, 0x4b, 0x44, 0x48, 0x53, 0x55, 0x42

用ASCII形式表示如下:

    dsfdkfoA,.iyewrkldJKDHSUBsgvca69834ncxv9873254kfg87

如:随机产生一个0-52之间的数字,如seed=2,即为0x66。假设密码为lala。那么我们先把种子值分解成一个两位数,即0*10+2 = 2,就产生了密码的前两位,02,接着,我们用0x66和"l"的ascii形式0x6C进行异或,即0x66 ^ 0x6C = 0x0A。放在密码的随后两位,得到020A。然后种子值++,得到0x64,再与第二个明文密码字符异或,得到结果放在020A的后面。依次类推即得到密文。因此第一次取得的种子值不一样,最后得到的结果基本也不一样,如果种子值超过了52,那么将回滚到0,也即种子值 %= 53。

Type7混淆解密过程就是加密的反向,先取得初始种子值,也就是密文的前两位。如0623……,种子值就等于0*10+6 = 6 ,从表中取出字符,和0x23异或即得到原文第一个字符。也很简单,此处不在赘述。

工具链接: http://www.atoolbox.net/Tool.php?Id=992


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/520903.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-06-21
下一篇2023-06-21

发表评论

登录后才能评论

评论列表(0条)

    保存