项目地址: 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 脚本进行请求处理。
本项目为拦截图中的拦截欺骗中心,接收并处理所有恶意请求。
1
DoctorCat 2020-12-30 16:31:00 +08:00 1
然后暴怒,被 ddos 了
|
2
zoikhemlab 2020-12-30 17:34:42 +08:00
做安全审计的可不管你是不是诱导包
|
4
syttcasd OP @zoikhemlab 安全审计是指什么。。没太理解
|
5
zoikhemlab 2020-12-31 21:34:01 +08:00
比如说等保
|
6
dorothyREN 2021-01-03 11:41:06 +08:00
对等保来说,你这就是漏洞
|
7
syttcasd OP @zoikhemlab 。。。虽然不知道你说的哪个点 但是前司不仅过了等保 WAF 过了某所的测评且拿了销售许可证
|
8
syttcasd OP @dorothyREN 做安全不是为了实际防御吗 等保有用还有真实的防御迷惑有用。。心里都有点数的吧
|
9
zhengfan2016 2021-01-03 20:35:47 +08:00
爬虫工程师的头发掉的更快了(doge
|
10
EulerChen 2021-01-03 22:42:44 +08:00
在蜜罐上做比较好
|
11
WishMeLz 2021-01-04 15:25:27 +08:00
多谢楼主,下次攻击的时候会注意的。(手动滑稽)
|
12
zoikhemlab 2021-01-05 11:24:11 +08:00
@syttcasd 哦,是我没说清楚,每个单位要求的安全策略不同,等保也有等级之分呀,有些地方就是不允许你访问的,但是这里你又有欺骗的数据内容返回,就会被认定为漏洞。
|
13
sadfQED2 2021-01-05 12:19:06 +08:00 via Android
|
14
fengche361 2021-01-08 17:45:00 +08:00
@syttcasd 对于大部分客户来说,等保是硬性要求,只有先过了等宝,再来谈真实作用
|
15
syttcasd OP @zoikhemlab 嗯,我也没有杠的意思。。前司是金融证券类公司,过了等保,用了一年没遇到问题。。而且按照老哥说的意思,那我是不是可以理解为蜜罐完全用不了。或者老哥有没有具体的等保要求说法明确规定返回虚假数据不允许出现(我这里的虚假数据是采样自真实数据,我理解上其实跟业务代码没有实质区别)。
|
16
syttcasd OP @sadfQED2 老哥看下 15 楼吧。。主要我觉得跟等保没有冲突,嗅探脚本无非也是关键词匹配。。不是瞧不起这种应付检查的东西,老实讲,嗅探脚本的任何特征我都可以当做白名单,返回正常的业务返回。。希望得到回复。
|
17
syttcasd OP @fengche361 自己看 15 楼 16 楼吧。听你这口气,挺杠的。
|
18
syttcasd OP @EulerChen (手动滑稽
@WishMeLz 确实有个类似的内网蜜罐,也是不过不是 web 服务了。都挺有效果的。 @zhengfan2016 对于防无脑爬虫确实很有效果,不过有些竞对爬虫还是挺猛的,不手动分析,旧的 waf 规则覆盖不了。 |
19
zoikhemlab 2021-01-18 08:14:06 +08:00
@syttcasd 蜜罐当然可以用,没有问题,但是有很简单一点,就是网站后台其实是不允许暴露给外网访问的,那扫描的时候匹配到能访问的 url 里后台的关键词,就会认为你后台接口暴露出去了
|
20
syttcasd OP @zoikhemlab 好吧。。我认为老哥想法有点怪怪的。在针对场景下使用产品的对应功能,如果说有一些功能违背了等保,那就在对应的场景下不用就好,毕竟我也没写是等保专用产品啥的。。而且其实我也不觉得那些对等保很较真的公司对技术有啥讲究,也不会用我这种小众产品。。
|