使用webhook实现自动告警
对接 xray 和微信实现自动告警(webhook)
如何第一时间知道扫出了漏洞(find vuln)
对于安全工程师来说,扫描器发现了漏洞能第一时间给出告警是非常重要的,因为安全工程师使用的是 xray 的基础爬虫模式,爬虫一直在爬也不会一直人工刷新和查看漏洞报告,也有可能是使用的被动代理模式,让测试人员挂扫描器代理然后访问各个业务页面,但是不知道什么时间测试人员才开始和完成测试,也有可能是日志扫描模式,导入日志使用脚本进行 url 扫描,不知道什么时间才能重放完成。
还有很多公司自建了漏洞管理系统、工单系统等等,如果扫描器发现了漏洞可以自动同步这些系统也将会大大解放安全人员。针对这些场景 xray 有一种漏洞输出模式叫 webhook-output
,在发现漏洞的时候,将会向指定的 url post 漏洞数据,demo 的代码就是
如果我们写一个中间的转换和转发层,就可以很方便的实现下面的功能了
- 发送邮件、短信告警
- 发送微信、企业微信、钉钉、slack告警
- 漏洞信息同步到自己的数据库中
- 为该漏洞创建一个工单
- 使用其他的工具去验证漏洞是否存在
- …
使用 webhook 做自动推送
本文就借助 Server酱 和企业微信机器人,来演示如何实时通知 xray 发现了漏洞。
xray 的 webhook 是什么
对于 xray,webhook 应该是一个 url 地址,也就是我们需要自己搭建一个 web 服务器,接收到 xray 发送的漏洞信息,然后在将它转发,借助于 Python 的 flask 框架,我们很快写了一个 webhook url 的 demo 出来。
使用 xray webscan --url http://pentester-web.vulnet/sqli/example1.php?name=root --plugins sqldet --webhook-output http://127.0.0.1:5000/webhook
测试,然后发现成功打印出了漏洞信息。
接下来就是解析 xray 的漏洞信息,然后生成对应的页面模板就好了。需要参考文档。因为推送不适合发送太大的数据量,所以就选择了基础的一些字段。
Was this page helpful?