update README

This commit is contained in:
yhy 2021-11-18 15:15:27 +08:00
parent dad392cfe5
commit 2bac0c4a73
12 changed files with 119 additions and 98 deletions

117
README.md
View File

@ -1,116 +1,41 @@
# github-cve-monitor # 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和安全工具更新多渠道推送通知
#### 添加飞书捷径推送 每3分钟检测一次github是否有新的cve漏洞提交或者安全工具更新记录若有则通过配置的渠道通知用户
> 飞书工作台 - 飞书捷径 -webhook
时间间隔修改在 467 行
![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 行
建议使用[screen命令](https://www.runoob.com/linux/linux-comm-screen.html)运行在自己的linux vps后台上就可以愉快的接收各种cve了 建议使用[screen命令](https://www.runoob.com/linux/linux-comm-screen.html)运行在自己的linux vps后台上就可以愉快的接收各种cve了
```bash ```bash
screen -S github_cve #创建一个screen名字为github_cve在新窗口运行本项目, 成功后直接叉掉该窗口, 项目就会在后台一直运行了 #创建一个screen名字为github_cve在新窗口运行本项目, 成功后直接叉掉该窗口, 项目就会在后台一直运行了
screen -S github_cve
screen -ls #查看创建的screen #查看创建的screen
screen -ls
screen -r github_cve #连接github_cve后台screen,如果存在的话 #连接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/)支持多通道(微信、客户端、群机器人、邮件和短信) <img src="images/image-20211118145021974.png" />
### Telegram Bot推送支持 # 参考
@[atsud0](https://github.com/atsud0) 师傅添加了 Telegram 推送 [洛米唯熊](https://my.oschina.net/u/4581868/blog/4380482)
安装telegram bot [kiang70](https://github.com/kiang70/Github-Monitor)
```
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)

96
UseHelp.md Normal file
View File

@ -0,0 +1,96 @@
# 推送设置
## 钉钉
1. 建立群聊(可以单人建群)
2. 智能群助手添加自定义机器人
选择加签
![image-20211118142412234](images/image-20211118142412234.png)
建立机器人,之后在`config.yaml`中配置将webhook和秘钥secretKey填入对应的字段`enable`设置为`1`表示使用该通知
效果:
<img src="images/image-20211118145021974.png" style="zoom:70%"/>
## 飞书捷径推送
@[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之前的版本。"}}
```
<img src="https://user-images.githubusercontent.com/29257678/136413189-f393dfa2-4874-4fea-b8be-7b5892d65fcf.png" style="zoom:20%"/>
<img src="https://user-images.githubusercontent.com/29257678/136411286-99c2e4db-0d8a-4b61-8613-96e3ebad8e44.png" style="zoom:25%"/>
> 选择json里面的模块
<img src="https://user-images.githubusercontent.com/29257678/136413413-48417c13-285d-47ff-9fba-c78bed592430.png" style="zoom:30%"/>
`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

View File

@ -45,7 +45,7 @@ def load_config():
print("[-] 配置文件有误四个社交软件的enable不能为0") print("[-] 配置文件有误四个社交软件的enable不能为0")
github_headers = { 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) sendNews(today_cve_data)
cve_insert_into_sqlite3(today_cve_data) cve_insert_into_sqlite3(today_cve_data)
#红队工具部分 #红队工具部分
time.sleep(3) time.sleep(3*60)
tools_list_new = load_tools_list() tools_list_new = load_tools_list()
data2 = get_pushed_at_time(tools_list_new) data2 = get_pushed_at_time(tools_list_new)
data3 = get_tools_update_list(data2) data3 = get_tools_update_list(data2)

Binary file not shown.

Before

Width:  |  Height:  |  Size: 141 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 550 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 454 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 114 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 100 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 242 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 242 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 59 KiB