一款每隔 3 分钟检索github
新增的cve
工具。
0x00 前言
hw
期间的某一天,我正兴致勃勃的刷着微步上待更新的小说,忽而发现万花丛中一点绿,有一篇认真推荐工具的帖子,虽然只有个链接……
好奇心驱使我点了进去,然后就有了这篇文章……
你有没有为每次手动刷新github
却找不到更新的cve
而苦恼?
有的话,请往下看。
0x01 项目介绍
该项目旨在监控github
上新增的cve
编号项目漏洞,每 3 分钟检索一次github
是否有新的cve
提交记录,有则推送钉钉群或者server
酱(二者配置一个即可)。
项目地址github-cve-monitor
:https://github.com/yhy0/github-cve-monitor
叮!您有新的消息需要阅读~
有新的 `CVE` 送达!
('007', '"description":you are so beautiful!,"fork"', 'https://github.com/xxxx/cve-可以是2021年-你想要的 poc')
0x02 部署过程
2.1 钉钉机器人配置
1、建立钉钉群,需至少3人。
2、配置钉钉机器人:
打开电脑版钉钉,点击头像->机器人管理
添加自定义机器人:
接收群组:推送消息的群;
安全设置要求必须选填一组;
安全设置:
(1)自定义关键词:
最多可以设置10个关键词,消息中至少包含其中1个关键词才可以发送成功。
例如添加了一个自定义关键词:监控报警,则这个机器人所发送的消息,必须包含监控报警这个词,才能发送成功。
(2)加签:
把timestamp+"\n"
+密钥当做签名字符串,使用HmacSHA256
算法计算签名,然后进行Base64 encode
,最后再把签名参数再进行urlEncode
,得到最终的签名(需要使用UTF-8
字符集)。
把timestamp
和第一步得到的签名值拼接到URL中。根据加密规则获得可以发送消息的地址,实现消息的推送。
(3)IP地址段:
设定后,只有来自IP地址范围内的请求才会被正常处理。支持两种设置方式:IP
地址和IP
地址段,暂不支持IPv6
地址白名单,
3、机器人添加成功后,复制webhook
地址。配置在github_cve_monitor.py
34行 dingding函数中,粘贴webhook
运行脚本即可。
2.2server
酱配置
1、登陆server
酱:https://sct.ftqq.com/
2、server
酱支持多个通道进行消息推送,我这里使用的Bark ios
(因为我没有企业微信…),安卓可以选择Android
。
3、配置过程:
安装app
;
复制服务器链接:
点击APP右上角的+
在服务器地址处填入以上地址,并保存:
刷新网页,再次选中Bark
,应该已经可以看到DeviceToken
了,此时保存即可:
配置sendkey
,注释钉钉推送即可:
2.3 运行脚本
1、vps
安装模块:
python3 -m pip install dingtalkchatbot
2、screen
运行脚本:
screen -S github_cve //创建一个screen,名字为github_cve,在新窗口运行本项目, 成功后直接叉掉该窗口, 项目就会在后台一直运行了
screen -ls //查看创建的screen
screen -r github_cve //连接github_cve后台screen,如果存在的话
或者nohup
运行脚本:
nohup python3 github_cve_monitor.py & //后台运行脚本
2.4 测试结果
钉钉推送:
Bark
推送:
推送成功!
0x03 总结
总的来说,过程还是挺简单的。
配置钉钉机器人的时候。开始一直以为添加的是github
机器人,导致消息根本推送不成功,安全设置选的自定义关键词,设置的太严格导致过滤了很多推送,后来查了一下钉钉机器人的设置,很多人都喜欢使用加签,据说是比较方便的,可以自己研究一下。
配置server
酱的话,确实踩了很多坑,因为server
酱更新服务的原因,导致我一直在测试服务器链接和sendkey
的区别,两者是都能推送消息的,但是服务器链接无法正常推送监测的cve
信息。
就这样吧,总结完毕。
作者:goout
来源:freebuf.com 2021-05-13 14:33:49 by: 宸极实验室Sec
请登录后发表评论
注册