• 轻松逃脱某防火墙对ss的探测


     

    ss里面有些诡异的日志(我用的是ss-go)

    2017/10/1* 1*:5*:19 error getting request  ***:***  ***:*** EOF

     

    这种日志不多,一般新开一个端口使用之后,一天之内会出现一个这样的记录。看着像有人主动发了一个错误的包,因为我不可能主动发了一个错误的包,而且大小还不对。头包本来就很小,一个数据包就可以了,不需要两个包,所以也不可能在读取请求时候就出现EOF中断的情况。所以这很可能是防火墙对ss的主动探测。

     

    其实防火墙对ss的探测原理很简单,因为aes这些加密算法,字节都是一一对应的。就是说,加密之后,虽然内容发生了变换,但是位置不变。所以我们可以根据ss协议,修改其中一些字节,发个包看看,服务器有没有主动断开,如果断开,那么很可能是ss服务器。

    具体原理可以看破娃的一篇文章,标题大概是为什么要弃用一次性验证。

     

    那么问题来了,如果检测到错误,很长时间才断开呢,是否能逃避探测?我将ss-go代码加入如下修改:

     

    修改之后,重新编译上传至vps,起一个新端口,目前没有出现端口被f的情况。之前曾经新开端口,但是很快被f了,说明这次改动的确有效。

     

    这样改动的坏处是遭到攻击,会造成资源泄漏的问题,可以考虑加个逻辑,把发起大量无意义链接的ip关了。禁止的上限可以是上万,链接在服务器里面是很cheap的,有内存就行。

    改动很简单,而且这样改之后,防火墙无法根据sleep这种行为来判断是否是ss服务器。很多基于tcp的协议,到一段时间之后,也会主动把链接关了,所以防火墙根本分不清究竟是不是改动之后的ss。

     

  • 相关阅读:
    内存映射文件原理探索(转载)
    虚拟内存原理
    CSAPP-链接
    CSAPP-程序优化
    CSAPP-过程调用,数据存储,缓冲区溢出
    【数学,方差运用,暴力求解】hdu-5037 Galaxy (2014鞍山现场)
    【贪心+一点小思路】Zoj
    【几何模板加点小思路】hdu-4998 Rotate
    【背包问题】【出来混总是要还的...】总结+入门练手题
    【优先队列】【最近连STL都写不出来了/(ㄒoㄒ)/~~】hdu_5360/多校#6_1008
  • 原文地址:https://www.cnblogs.com/dearplain/p/7686115.html
Copyright © 2020-2023  润新知