update README
117
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/)支持多通道(微信、客户端、群机器人、邮件和短信)
|
||||
<img src="images/image-20211118145021974.png" />
|
||||
|
||||
### 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)
|
||||
|
||||
|
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")
|
||||
|
||||
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)
|
||||
|
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 |