V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
syttcasd
V2EX  ›  分享创造

分享一下之前写的欺骗/调戏黑客的一个拦截服务器,求 star。

  •  
  •   syttcasd · 2020-12-29 21:53:51 +08:00 · 4502 次点击
    这是一个创建于 1207 天前的主题,其中的信息可能已经有所发展或是发生改变。

    项目地址: https://github.com/C4o/Juggler

    应用场景

    现在很多 WAF 拦截了恶意请求之后,直接返回一些特殊告警页面(之前有看到 t00ls 上有看图识 WAF )或一些状态码( 403 或者 500 啥的)。

    但是实际上返不返回特殊响应都不会有啥实际作用,反而会给攻击者显而易见的提示。

    但是如果返回的内容跟业务返回一致的话,就能让攻击者很难察觉到已经被策略拦截了。

    场景一:攻击者正在暴力破解某登陆口

    发现登陆成功是
    {"successcode":0,"result":{"ReturnCode":0}}
    登陆失败是
    {"errorcode":1,"error":"用户名密码不匹配","result":{"ReturnCode":0}}
    

    那现在我们可以这么做

    1. 触发规则后持续返回错误状态码,让黑客觉得自己的字典不大行。
    2. 返回一个特定的 cookie,当 waf 匹配到该 cookie 后,将请求导流到某 web 蜜罐跟黑客深入交流。
    

    场景二:攻击者正在尝试找 xss

    我们可以这么做

    例如:
    1. 不管攻击者怎么来,检测后都返回去去除了攻击者 payload 的请求的响应。
    2. 攻击者 payload 是 alert(xxxx),那不管系统有无漏,我们返回一个弹框 xxx 。
      (当然前提是我们能识别 payload 的语法是否正确,也不能把攻击者当傻子骗。)
    

    肯定有人会觉得,我们 WAF 强的不行,直接拦截就行,不整这些花里胡哨的,那这可以的。

    但是相对于直接的拦截给攻击者告警,混淆视听,消费攻击者的精力,让攻击者怀疑自己,这样是不是更加狡猾?这也正是项目取名的由来,juggler,耍把戏的人。

    当然,上面需求实现的前提,是前方有一个强有力的 WAF,只有在攻击请求被检出后,攻击请求才能到达我们的拦截欺骗中心,否则一切都是扯犊子。

    项目思路来自我的领导们,并且简单的应用已经在线上有了很长一段时间的应用,我只是思路的实现者。
    项目已在线上运行一年多,每日处理攻击请求过亿。
    
    juggler 本质上是一个 lua 插件化的 web 服务器,类似 openresty (大言不惭哈哈);
    基于 gin 进行的开发,其实就是将*gin.Context 以 lua 的 userdata 放入 lua 虚拟机,所以可以通过 lua 脚本进行请求处理。
    

    联动 WAF 使用

    image

    本项目在现实中的应用

    WAF 体系

    本项目为拦截图中的拦截欺骗中心,接收并处理所有恶意请求。

    image

    20 条回复    2021-01-20 15:35:43 +08:00
    DoctorCat
        1
    DoctorCat  
       2020-12-30 16:31:00 +08:00   ❤️ 1
    然后暴怒,被 ddos 了
    zoikhemlab
        2
    zoikhemlab  
       2020-12-30 17:34:42 +08:00
    做安全审计的可不管你是不是诱导包
    syttcasd
        3
    syttcasd  
    OP
       2020-12-31 11:37:36 +08:00
    @DoctorCat 被发现了那就算比较失败的防御了
    syttcasd
        4
    syttcasd  
    OP
       2020-12-31 11:38:18 +08:00
    @zoikhemlab 安全审计是指什么。。没太理解
    zoikhemlab
        5
    zoikhemlab  
       2020-12-31 21:34:01 +08:00
    比如说等保
    dorothyREN
        6
    dorothyREN  
       2021-01-03 11:41:06 +08:00
    对等保来说,你这就是漏洞
    syttcasd
        7
    syttcasd  
    OP
       2021-01-03 16:09:22 +08:00
    @zoikhemlab 。。。虽然不知道你说的哪个点 但是前司不仅过了等保 WAF 过了某所的测评且拿了销售许可证
    syttcasd
        8
    syttcasd  
    OP
       2021-01-03 16:10:23 +08:00
    @dorothyREN 做安全不是为了实际防御吗 等保有用还有真实的防御迷惑有用。。心里都有点数的吧
    zhengfan2016
        9
    zhengfan2016  
       2021-01-03 20:35:47 +08:00
    爬虫工程师的头发掉的更快了(doge
    EulerChen
        10
    EulerChen  
       2021-01-03 22:42:44 +08:00
    在蜜罐上做比较好
    WishMeLz
        11
    WishMeLz  
       2021-01-04 15:25:27 +08:00
    多谢楼主,下次攻击的时候会注意的。(手动滑稽)
    zoikhemlab
        12
    zoikhemlab  
       2021-01-05 11:24:11 +08:00
    @syttcasd 哦,是我没说清楚,每个单位要求的安全策略不同,等保也有等级之分呀,有些地方就是不允许你访问的,但是这里你又有欺骗的数据内容返回,就会被认定为漏洞。
    sadfQED2
        13
    sadfQED2  
       2021-01-05 12:19:06 +08:00 via Android
    @zoikhemlab 安全审计不过+1

    我们公司还好起各种嗅探脚本检查,或许安全审计扫描的量比黑客还多
    fengche361
        14
    fengche361  
       2021-01-08 17:45:00 +08:00
    @syttcasd 对于大部分客户来说,等保是硬性要求,只有先过了等宝,再来谈真实作用
    syttcasd
        15
    syttcasd  
    OP
       2021-01-15 16:57:17 +08:00
    @zoikhemlab 嗯,我也没有杠的意思。。前司是金融证券类公司,过了等保,用了一年没遇到问题。。而且按照老哥说的意思,那我是不是可以理解为蜜罐完全用不了。或者老哥有没有具体的等保要求说法明确规定返回虚假数据不允许出现(我这里的虚假数据是采样自真实数据,我理解上其实跟业务代码没有实质区别)。
    syttcasd
        16
    syttcasd  
    OP
       2021-01-15 17:00:27 +08:00
    @sadfQED2 老哥看下 15 楼吧。。主要我觉得跟等保没有冲突,嗅探脚本无非也是关键词匹配。。不是瞧不起这种应付检查的东西,老实讲,嗅探脚本的任何特征我都可以当做白名单,返回正常的业务返回。。希望得到回复。
    syttcasd
        17
    syttcasd  
    OP
       2021-01-15 17:01:43 +08:00
    @fengche361 自己看 15 楼 16 楼吧。听你这口气,挺杠的。
    syttcasd
        18
    syttcasd  
    OP
       2021-01-15 17:03:35 +08:00
    @EulerChen (手动滑稽
    @WishMeLz 确实有个类似的内网蜜罐,也是不过不是 web 服务了。都挺有效果的。
    @zhengfan2016 对于防无脑爬虫确实很有效果,不过有些竞对爬虫还是挺猛的,不手动分析,旧的 waf 规则覆盖不了。
    zoikhemlab
        19
    zoikhemlab  
       2021-01-18 08:14:06 +08:00
    @syttcasd 蜜罐当然可以用,没有问题,但是有很简单一点,就是网站后台其实是不允许暴露给外网访问的,那扫描的时候匹配到能访问的 url 里后台的关键词,就会认为你后台接口暴露出去了
    syttcasd
        20
    syttcasd  
    OP
       2021-01-20 15:35:43 +08:00
    @zoikhemlab 好吧。。我认为老哥想法有点怪怪的。在针对场景下使用产品的对应功能,如果说有一些功能违背了等保,那就在对应的场景下不用就好,毕竟我也没写是等保专用产品啥的。。而且其实我也不觉得那些对等保很较真的公司对技术有啥讲究,也不会用我这种小众产品。。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   970 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 22:34 · PVG 06:34 · LAX 15:34 · JFK 18:34
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.