对接 xray 和微信实现自动告警(webhook)
本文的代码写法随着 xray 和第三方服务的升级改进会逐渐失效,请仅参考思路。在 xray Github 仓库 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
测试,然后发现成功打印出了漏洞信息。
Server 酱
Server 酱
Server酱是一款程序员和服务器之间的通信软件,也就是从服务器推报警和日志到手机的工具。开通并使用上它还是很简单的很简单就收到了消息,将上面 xray 的漏洞信息结合在一起,就是展示效果如图
- 登入:用 GitHub 账号登录 http://sc.ftqq.com/3.version,就能获得一个 SECKEY
- 绑定:扫码关注完成绑定
- 发消息:往
http://sc.ftqq.com/{SECKEY}.send
发请求,就可以在微信里收到消息啦
{SECKEY}
代替,大家需要修改为自己的值。
企业微信群机器人
企业微信群机器人
企业微信群机器人就像一个普通成员一样,可以发言,可以
调用的代码也非常简单,我们只需要展示主要的部分就可以了展示效果如图
@
人,如果我们接入企业微信群做 xray 的漏洞告警,也会大大方便漏洞的第一时间发现。开通和使用方法- 点击群聊右上角,然后找到 ‘群机器人’,然后点击’添加’
- 复制 Webhook 的地址,保存备用

