diff --git a/README.md b/README.md index e0e87df..0555516 100644 --- a/README.md +++ b/README.md @@ -1,116 +1,41 @@ # github-cve-monitor -## 更新 +![github-cve-monitor](https://socialify.git.ci/yhy0/github-cve-monitor/image?description=1&forks=1&issues=1&language=1&name=1&owner=1&pattern=Floating%20Cogs&pulls=1&stargazers=1&theme=Light) +## 实时监控github上新增的cve和安全工具更新,多渠道推送通知 -#### 添加飞书捷径推送 -> 飞书工作台 - 飞书捷径 -webhook +每3分钟检测一次github是否有新的cve漏洞提交或者安全工具更新记录,若有则通过配置的渠道通知用户 - -![image](https://user-images.githubusercontent.com/29257678/136410980-302be028-3817-447c-9bad-e3d63045060d.png) -注意参数这里: -添加下列json信息 -```php -{"at":{},"msgtype":"text","text":{"content":"有新的CVE送达!\r\nCVE编号:CVE-2021-41773\r\nGithub地址:https://github.com/iilegacyyii/PoC-CVE-2021-41773\r\nCVE描述:\r\n在Apache HTTP Server 2.4.49的路径规范化更改中发现了一个缺陷。攻击者可以使用路径遍历攻击将url映射到预期文档根之外的文件。如果文档根目录之外的文件没有被“require all denied”保护,这些请求就可以成功。此外,这个缺陷可能会泄露解释文件(如CGI脚本)的源代码。众所周知,这个问题是在野外被利用的。此问题仅影响Apache 2.4.49,不影响Apache 2.4.49之前的版本。"}} -``` - -![image](https://user-images.githubusercontent.com/29257678/136413189-f393dfa2-4874-4fea-b8be-7b5892d65fcf.png) - -![image](https://user-images.githubusercontent.com/29257678/136411286-99c2e4db-0d8a-4b61-8613-96e3ebad8e44.png) - -> 选择json里面的模块 - - -![image](https://user-images.githubusercontent.com/29257678/136413413-48417c13-285d-47ff-9fba-c78bed592430.png) - -> 查看效果 - -![image](https://user-images.githubusercontent.com/29257678/136413553-48c2100b-8f2d-4f81-8b8b-74351bde0456.png) - - -[修复钉钉通知小bug](https://github.com/yhy0/github-cve-monitor/issues/4),修复cve编号推送错误 - ->钉钉通知的话,有个安全设置,通过添加加签发送消息,双击,右键复制 -> ->![image-20210730085306816](images/image-20210730085306816.png)替换即可![image-20210730085829847](images/image-20210730085829847.png) - -监控工具更新 请求次数过多,超过了每小时请求,添加gihtub token - -> 对于未经身份验证的请求,github 速率限制允许每小时最多 60 个请求 -> -> 而通过使用基本身份验证的 API 请求,每小时最多可以发出 5,000 个请求 -> -> https://github.com/settings/tokens/new 创建token,时间的话选无限制的,毕竟要一直跑![image-20210729172507519](images/image-20210729172507519.png) - -在19行替换自己的token即可 - - - -requests 请求 去除正则,使用json ; 增加监控github发布的工具更新情况 - -通过https://cve.mitre.org/ 获取CVE具体描述, 并通过有道翻译为中文 - -## 监控github上新增的cve编号项目漏洞,推送钉钉或者server酱 - -python3 -m pip install dingtalkchatbot - -每3分钟检测一次github是否有新的cve漏洞提交记录,若有则通过server酱和钉钉机器人推送(二者配置一个即可) - -时间间隔修改在 58 行 +时间间隔修改在 467 行 建议使用[screen命令](https://www.runoob.com/linux/linux-comm-screen.html)运行在自己的linux vps后台上,就可以愉快的接收各种cve了 ```bash -screen -S github_cve #创建一个screen,名字为github_cve,在新窗口运行本项目, 成功后直接叉掉该窗口, 项目就会在后台一直运行了 - -screen -ls #查看创建的screen - -screen -r github_cve #连接github_cve后台screen,如果存在的话 - - +#创建一个screen,名字为github_cve,在新窗口运行本项目, 成功后直接叉掉该窗口, 项目就会在后台一直运行了 +screen -S github_cve +#查看创建的screen +screen -ls +#连接github_cve后台screen,如果存在的话 +screen -r github_cve ``` +# 使用帮助 + +`tools_list.yaml` 监控的工具列表,新添加按照已有的格式写 + +`config.yaml` 推送token 设置 -钉钉机器人配置在 33行的 dingding函数中,需要钉钉建群,添加钉钉机器人,复制 webhook 替换即可 -server酱配置在 40行的 server 函数中,ps:因微信的原因,server酱的旧版将在2021年4月后下线,新版以企业微信为主,这里使用的是旧版,想改新版的话,搞个企业微信,从新配置server酱,使用新链接 sctapi.ftqq.com +详细见[使用帮助](UseHelp.md) -具体查看server酱官方,http://sc.ftqq.com/ ,配置简单,只需要将脚本中的uri换掉即可 +# 效果 -[server酱新版](https://sct.ftqq.com/)支持多通道(微信、客户端、群机器人、邮件和短信) + -### Telegram Bot推送支持 +# 参考 -@[atsud0](https://github.com/atsud0) 师傅添加了 Telegram 推送 + [洛米唯熊](https://my.oschina.net/u/4581868/blog/4380482) -安装telegram bot - -``` -pip install python-telegram-bot -``` - -生成bot 获得群组或用户聊天ID - -创建bot详情谷歌 - -#### 获得ID - -将bot加入群组后,发送几条消息。访问https://api.telegram.org/bot{TOKEN}/getUpdates - -用户ID同理, - -![image-20210225090416314](images/124256679-27701e00-db5e-11eb-9432-d3a9048daeec.png) - -## 效果图 - -![image-20210225090416314](images/image-20210225090416314.png) - -![image-20210730090419064](images/image-20210730090419064.png) - -![image-20210225090811212](images/image-20210225090811212.png) - -![image-20210225092350481](images/image-20210225092350481.png) - -参考 [洛米唯熊](https://my.oschina.net/u/4581868/blog/4380482)、[kiang70](https://github.com/kiang70/Github-Monitor) +[kiang70](https://github.com/kiang70/Github-Monitor) diff --git a/UseHelp.md b/UseHelp.md new file mode 100644 index 0000000..1f7a5d1 --- /dev/null +++ b/UseHelp.md @@ -0,0 +1,96 @@ +# 推送设置 + +## 钉钉 + +1. 建立群聊(可以单人建群) + +2. 智能群助手添加自定义机器人 + +​ 选择加签 + +![image-20211118142412234](images/image-20211118142412234.png) + +建立机器人,之后在`config.yaml`中配置,将webhook和秘钥secretKey填入对应的字段,`enable`设置为`1`表示使用该通知 + +效果: + + + +## 飞书捷径推送 + +@[sodmelody](https://github.com/sodmelody) 添加 + +> 飞书工作台 - 飞书捷径 -webhook + +![image](https://user-images.githubusercontent.com/29257678/136410980-302be028-3817-447c-9bad-e3d63045060d.png) + +注意参数这里: + +添加下列json信息 + +```php +{"at":{},"msgtype":"text","text":{"content":"有新的CVE送达!\r\nCVE编号:CVE-2021-41773\r\nGithub地址:https://github.com/iilegacyyii/PoC-CVE-2021-41773\r\nCVE描述:\r\n在Apache HTTP Server 2.4.49的路径规范化更改中发现了一个缺陷。攻击者可以使用路径遍历攻击将url映射到预期文档根之外的文件。如果文档根目录之外的文件没有被“require all denied”保护,这些请求就可以成功。此外,这个缺陷可能会泄露解释文件(如CGI脚本)的源代码。众所周知,这个问题是在野外被利用的。此问题仅影响Apache 2.4.49,不影响Apache 2.4.49之前的版本。"}} +``` + + + + + +> 选择json里面的模块 + + + +`config.yaml`中配置`feishu`的`webhook`,`enable`设置为 `1`表示推送 + +效果: + +![image](https://user-images.githubusercontent.com/29257678/136413553-48c2100b-8f2d-4f81-8b8b-74351bde0456.png) + +## Telegram Bot推送支持 + +@[atsud0](https://github.com/atsud0) 师傅添加了 Telegram 推送 + +安装telegram bot + +``` +pip install python-telegram-bot +``` + +生成bot 获得群组或用户聊天ID + +创建bot详情谷歌 + +### 获得ID + +将bot加入群组后,发送几条消息。访问https://api.telegram.org/bot{TOKEN}/getUpdates + +用户ID同理, + +![image-20210225090416314](images/124256679-27701e00-db5e-11eb-9432-d3a9048daeec.png) + +`config.yaml`中配置`tgbot`的`token`等信息,`enable`设置为 `1`表示推送 + + + +## Server 酱 + +ps:因微信的原因,server酱的旧版将在2021年4月后下线,新版以企业微信为主,这里使用的是旧版,想改新版的话,搞个企业微信,从新配置server酱,使用新链接 sctapi.ftqq.com + +具体查看server酱官方,http://sc.ftqq.com/ ,配置简单,只需要将脚本中的uri换掉即可 + +[server酱新版](https://sct.ftqq.com/)支持多通道(微信、客户端、群机器人、邮件和短信) + +`config.yaml`中配置`server`的`token`等信息,`enable`设置为 `1`表示推送 + +# Github 访问限制 + +监控工具更新 请求次数过多,超过了每小时请求,添加gihtub token + +> 对于未经身份验证的请求,github 速率限制允许每小时最多 60 个请求 +> +> 而通过使用基本身份验证的 API 请求,每小时最多可以发出 5,000 个请求 +> +> https://github.com/settings/tokens/new 创建token,时间的话选无限制的,毕竟要一直跑![image-20210729172507519](images/image-20210729172507519.png) + +`config.yaml`中配置github_token + diff --git a/github_cve_monitor.py b/github_cve_monitor.py index 89b24d2..be46fce 100644 --- a/github_cve_monitor.py +++ b/github_cve_monitor.py @@ -45,7 +45,7 @@ def load_config(): print("[-] 配置文件有误,四个社交软件的enable不能为0") github_headers = { - 'Authorization': "token {}".format(load_config()[1]) # 替换自己的github token https://github.com/settings/tokens/new + 'Authorization': "token {}".format(load_config()[1]) } #读取黑名单用户 @@ -464,7 +464,7 @@ if __name__ == '__main__': sendNews(today_cve_data) cve_insert_into_sqlite3(today_cve_data) #红队工具部分 - time.sleep(3) + time.sleep(3*60) tools_list_new = load_tools_list() data2 = get_pushed_at_time(tools_list_new) data3 = get_tools_update_list(data2) diff --git a/images/image-20210225090416314.png b/images/image-20210225090416314.png deleted file mode 100644 index cb20237..0000000 Binary files a/images/image-20210225090416314.png and /dev/null differ diff --git a/images/image-20210225090811212.png b/images/image-20210225090811212.png deleted file mode 100644 index 7697e2e..0000000 Binary files a/images/image-20210225090811212.png and /dev/null differ diff --git a/images/image-20210225092350481.png b/images/image-20210225092350481.png deleted file mode 100644 index d7f700e..0000000 Binary files a/images/image-20210225092350481.png and /dev/null differ diff --git a/images/image-20210730085306816.png b/images/image-20210730085306816.png deleted file mode 100644 index 113d237..0000000 Binary files a/images/image-20210730085306816.png and /dev/null differ diff --git a/images/image-20210730085829847.png b/images/image-20210730085829847.png deleted file mode 100644 index 0e5fd19..0000000 Binary files a/images/image-20210730085829847.png and /dev/null differ diff --git a/images/image-20210730090403620.png b/images/image-20210730090403620.png deleted file mode 100644 index 3a12656..0000000 Binary files a/images/image-20210730090403620.png and /dev/null differ diff --git a/images/image-20210730090419064.png b/images/image-20210730090419064.png deleted file mode 100644 index 3a12656..0000000 Binary files a/images/image-20210730090419064.png and /dev/null differ diff --git a/images/image-20211118142412234.png b/images/image-20211118142412234.png new file mode 100644 index 0000000..58b079d Binary files /dev/null and b/images/image-20211118142412234.png differ diff --git a/images/image-20211118145021974.png b/images/image-20211118145021974.png new file mode 100644 index 0000000..96cd40b Binary files /dev/null and b/images/image-20211118145021974.png differ