漏洞预警与推送工具—Athena V1.0发布

admin 2024年7月31日13:44:24评论44 views字数 2985阅读9分57秒阅读模式

在前面一段时间通过golang实现了一个项目crush,用来做漏洞信息收集与推送,但是存在部分问题,比如漏洞源不够多(缺少安全厂商预警),针对每个漏洞源的信息处理不够细致(vulhub,msf等等未进行漏洞名称匹配),代码环境相对较重,无前后端等等,所以通过python写了该项目。

目前V1.0版本已实现漏洞信息的收集聚合,过滤高危漏洞并实时推送,计划在V2.0中通过flask+datatables+echarts做出完整前后端,更加便于统计与使用。

如有好的需求或建议欢迎联系。

项目地址:leesinz/Athena (github.com)

https://github.com/leesinz/Athena

下面直接复制README部分内容。

 

 

Athena旨在从多个漏洞源和厂商通告中聚合漏洞信息,并实现实时推送以增强安全监控和响应能力

漏洞预警与推送工具—Athena V1.0发布

WHAT

在古希腊神话中,雅典娜(Athena)是智慧与战争的女神,守护着人类的知识与安全。受此启发,此项目 Athena 旨在守护现代网络世界的安全。

Athena 是一个用于监控各个漏洞源和安全厂商的漏洞通告,并进行实时推送的Python项目,希望帮助安全团队及时获取高风险漏洞信息,提供快速响应能力。

Athena会聚合所有漏洞源漏洞信息,存入数据库,并筛选出高危漏洞进行实时推送,推送渠道支持钉钉机器人、企微机器人等等。

已覆盖漏洞源

  • afrog
  • exploit-db
  • github
  • metasploit
  • packetstormsecurity
  • POC
  • seebug
  • vulhub
  • 微步漏洞情报
  • 阿里云高危漏洞库
  • OSCS漏洞情报库
  • 奇安信漏洞通告

TODO

  • 每日所有漏洞信息邮件推送(模板doing,V2.0实现)
  • flask+datatables+echarts实现完整前后端(V2.0实现)

WHY

目前已有不少用于漏洞监控的优秀开源项目,但是存在监控源较少、对数据的处理粒度较大、可视化效果较差等问题,导致漏洞数据从收集、聚合、展示到推送的整个过程略显繁琐,Athena希望能够解决这些问题,用最简单的配置即可实现最全面的功能。

HOW

环境

python 3.8+

sudo apt-get update
sudo apt-get install python3.8 python3.8-venv python3.8-dev

mysql

sudo apt-get update
sudo apt-get install mysql-server
sudo mysql_secure_installation

设置密码并创建数据库,将配置信息同步到config.yaml。

如果遇到

Error connecting mysql database:%!(EXTRA *mysql.MySQLError=Error 1698 (28000): Access denied for user 'root'@'localhost', string=)

重置密码即可:

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'newpasswd';

安装

git clone xxx
pip install -r requirements.txt

配置

config.yaml

github:
  token: ""

#collectors默认为空,表示爬取所有漏洞源信息,如需指定特定源,可修改此项.可选项为['POC','Afrog','PacketStorm','Github','Seebug','OSCS','Ali','QAX','ThreatBook','Vulhub','MSF','ExploitDB']
collectors: []

mysql:
host: 127.0.0.1
port: 3306
database: ""
username: ""
password: ""

#通知选项,如需开启,则将enable置为true,并配置相关token。不建议使用邮件,邮件模板预计在V2.0完成
notify:
 #https://developer.work.weixin.qq.com/document/path/91770
wxwork:
  enable: true
  key:
   
 #https://open.dingtalk.com/document/robots/custom-robot-access
dingtalk:
  enable: false
  access_token:
  secret:

email:
  enable: false
  smtp_server:
  smtp_port:
  username:
  password:
  from:
  to:
    -
    -

运行逻辑

漏洞预警与推送工具—Athena V1.0发布

快速开始

seebug监控默认关闭,由于使用的是chrome.driver无头浏览器的方式,可能产生内存问题,最终导致程序中断,如果需要,去掉collectors/manager.py中self.collector_classes的注释即可:

self.collector_classes = {
    'ExploitDB': ExploitDBCollector,
    'MSF': MSFCollector,
    'Vulhub': VulhubCollector,
    'POC': POCCollector,
    'Afrog': AfrogCollector,
    'PacketStorm': PacketStormCollector,
    # chrome.driver starts frequently, which may cause memory issues and eventually lead to code termination
    # 'Seebug': SeebugCollector,
    'Github': GitHubCollector,
    'OSCS': OSCSCollector,
    'Ali': AliCollector,
    'QAX': QAXCollector,
    'ThreatBook': ThreatBookCollector
        }

默认10分钟运行一次,如需更改,修改main.py即可:

while True:
    vulnerabilities = gather_data()
    filter_high_risk_vuls(vulnerabilities)
    time.sleep(600)

安装完需要的库,配置好config.yaml后,即可开始运行。

漏洞预警与推送工具—Athena V1.0发布

推送内容如下:

漏洞预警与推送工具—Athena V1.0发布

扩展

如需扩展其他漏洞源数据,实现base_collector.py中的VulnerabilityCollector类即可,漏洞信息的字段如下:

vulnerability = {
                        'name': name,
                        'cve': cve,
                        'severity': severity,
                        'description': description,
                        'source': self.source_name,
                        'date': date,
                        'link': link
                    }

如某个字段内容为空,置空即可,在推送时会自动过滤。

原文始发于微信公众号(Crush Sec):漏洞预警与推送工具—Athena V1.0发布

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年7月31日13:44:24
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   漏洞预警与推送工具—Athena V1.0发布https://cn-sec.com/archives/3017788.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息