update README
117
README.md
@ -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
@ -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
|
||||||
|
|
@ -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)
|
||||||
|
Before Width: | Height: | Size: 141 KiB |
Before Width: | Height: | Size: 550 KiB |
Before Width: | Height: | Size: 454 KiB |
Before Width: | Height: | Size: 114 KiB |
Before Width: | Height: | Size: 100 KiB |
Before Width: | Height: | Size: 242 KiB |
Before Width: | Height: | Size: 242 KiB |
BIN
images/image-20211118142412234.png
Normal file
After Width: | Height: | Size: 17 KiB |
BIN
images/image-20211118145021974.png
Normal file
After Width: | Height: | Size: 59 KiB |