企业安全建设中告警是必不可少的一环,做为安全运营人员,应当在爆出新漏洞时第一时间获取讯息并着手应急进行内部排查,防止漏洞被外部利用造成损失。网上有开源的基于GitHub的CVE及其POC监控,大多数厂商应急响应中心也都有自己的漏洞告警平台。此脚本基于小果酱QPush,实现功能: 最新漏洞告警微信、钉钉通知。
1、获取小果酱QPush发送KEY
小果酱QPush控制台地址:
https://push.xiaoguojiang.net/
进入KEY菜单,Basic Key即为发送KEY。
2、获取漏洞链接
请求地址:
https://help.aliyun.com/noticelist/9213612.html
通过正则获取当前页漏洞告警的标题、时间以及漏洞具体链接:
# 获取漏洞标题、时间、链接 re_link = re.findall(r'<a href="(.*?)">【漏洞通告】', req.text) re_time = re.findall(r'<span class="y-right">(.*?)<span class="time">', req.text) re_vlu = re.findall(r'html" >(.*?)</span></span></a>', req.text) 将得到的漏洞时间与当日时间做对比(之后可以把脚本当作定时脚本放在服务器上,每24h执行一次,实现功能)
3、获取漏洞详情
在第二步获取到最新的漏洞链接之后,对漏洞详情进行爬取。
for url in url_list: req = requests.get(url=url) res = BeautifulSoup(req.text, "html.parser") # 漏洞标题 vlu_name = res.h3.get_text() # 漏洞描述 vlu_describe = res.find_all("div", id="se-knowledge")[0].p.get_text() vlu_list.append(vlu_name + "\n" + vlu_describe + "\n" + "漏洞详情:" + str(url) + "\n")
4、定时任务
脚本写好之后就可以放在服务器上跑定时任务啦。
git clone https://gitee.com/helloworldt/sec-alert.git
cd SecAlert
# 注意,这在要在demo.py中替换自己 小果酱QPush KEY
添加定时任务,用crontab -e进入当前用户的工作表添加以下行,时间和频率可以自己控制。
52 11 * * * python3 /root/test/SecAlert/demo.py
效果:
代码请到下载:
https://gitee.com/helloworldt/sec-alert
点击查看更多小果酱QPush信息