漏洞监控平台——Monitor(源码在文末)

admin 2022年1月23日19:57:28评论144 views字数 2344阅读7分48秒阅读模式
声明:公众号大部分文章来自作者日常学习笔记,也有少部分文章是经过原作者授权和其他公众号白名单转载,未经授权,严禁转载,如需转载,联系小艾
请勿利用文章内的相关技术从事非法测试,如因此产生的一切不良后果与文章作者和本公众号无关。仅供学习研究

写在前面的话

对于网络安全从业者来说,实时掌握漏洞动态是至关重要的,所以萌生了开发一个监控平台的想法,把最新漏洞资讯集成然后进行推送。这里推送选的是企业微信,留下了邮件推送的接口,默认是关闭的,想开启的小伙伴自行开启。数据库选用的是sqlite。目前实现了监控GitHub、微软、CNNVD。(不要问我为啥不监控CNVD,我是不会告诉你我干不过它的反爬【狗头保命】)。

项目已开源,欢迎师傅们送Star⭐⭐⭐

项目介绍

项目目录结构

│  cve_db.db
│ monitor.py
│ style.css

├─Functions
│ ├─Commons
│ │ excel.py
│ │ excel_html.py
│ │ github.py
│ │ mail.py
│ │ style.css
│ │ translate.py
│ │ wechat_api.py
│ │ __init__.py
│ │
│ ├─RequestInfo
│ │ cnnvd_monitor.py
│ │ github_monitor.py
│ │ MS_monitor.py
│ │ __init__.py
│ │
│ └─Sql
│ installDb.py
│ sql_helper.py

└─log

文件说明

monitor.py文件是主文件,部署完成后直接运行就此文件可以。

Commons目录下的文件为主要功能文件。

RequestInfo目录下为监控目标的一些文件。

Sql目录下为数据库相关文件,installDb.py是用来生成数据库和日志文件的。

log目录为存放日志文件目录。

功能介绍

同时监控CNNVD、Github、微软官方的漏洞消息。

CNNVD

  •  每天推送企业微信卡片消息
  •  Web端漏洞信息表格展示
  •  每周五统计漏洞数量(高危、中危、低危)
  •  高危漏洞信息醒目标注

微软官方漏洞消息

  •  每天推送企业微信卡片消息
  •  Web端漏洞信息表格展示

Github

  •  每天推送企业微信卡片消息
  •  点击卡片消息自动跳转对应Github链接

展示效果

效果如下图

漏洞监控平台——Monitor(源码在文末)
cve

当点击CNNVD的消息卡片时,会跳转到相对应的Web端以表格形式展示,如下图:

漏洞监控平台——Monitor(源码在文末)
cnnvd

点击微软漏洞消息的漏洞卡片时,也会跳转到相对应的Web端表格展示,如下图:

漏洞监控平台——Monitor(源码在文末)
微软

点击Github的漏洞消息通知时,跳转到相对于的Github地址,如下图:

漏洞监控平台——Monitor(源码在文末)
github

项目部署

前期准备

  • 开发语言:python3
  • 一台服务器(脚本跑在服务器上)
  • 一个域名(可选)

首先安装依赖,如下:

import os
import time
from io import BytesIO
import xlwt
from xlrd import open_workbook
import datetime
import dominate
from dominate.tags import *
import requests
import smtplib
from email.mime.text import MIMEText
from email.header import Header
import hashlib
from lxml import etree
import json
from bs4 import BeautifulSoup
import re
import sqlite3

然后进行数据库初始化,初始化时生成log文件夹用来存放生成的日志文件。命令如下:

python3 installDb.py

环境搭建

因为要做Web端表格展示,所以这里使用Nginx做了目录浏览。服务器系统使用的是CentOS7,过程如下。

首先使用yum源下载nginx,命令如下:

yum install -y nginx

装好后,查看版本,检查是否安装成功,如下图:

漏洞监控平台——Monitor(源码在文末)

然后找到nginx的配置文件,具体位置为:

cd /etc/nginx/

找到nginx.conf文件,对其中的server板块进行修改就可以了,主要是添加了末尾三行

server {
listen 80;
listen [::]:80;
server_name _;
# root /usr/share/nginx/html;
charset utf-8;
# Load configuration files for the default server block.
include /etc/nginx/default.d/*.conf;
location / {
root /usr/share/nginx/html/download;
autoindex on; #开启索引功能
autoindex_exact_size off; #关闭计算文件确切大小(bytes)
autoindex_localtime on; #显示本机时间
}

注意生成文件位置,我这里是/usr/share/nginx/html/download ,看个人爱好。

如果修改,请修改monitor.py的24行和excel_html.py的11行。

漏洞监控平台——Monitor(源码在文末)
image-20220122141836235
漏洞监控平台——Monitor(源码在文末)
image-20220122142248502

配置企业微信推送

这个需要先到企业微信创建一个企业,并自建一个应用,获取到自定义应用的 Secret和注册的企业 corpid,就可以了。修改位置在wechat_api.py文件的14行至17行,如下图:

漏洞监控平台——Monitor(源码在文末)
image-20220122142707821

启动监控脚本,命令如下:

python3 moniter.py

大功告成!!!

源码获取

微信关注公众号《小艾搞安全》,后台回复"monitor"获取源码


原文始发于微信公众号(Cyber Raider Sec):漏洞监控平台——Monitor(源码在文末)

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年1月23日19:57:28
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   漏洞监控平台——Monitor(源码在文末)http://cn-sec.com/archives/746582.html

发表评论

匿名网友 填写信息