AVAIN-基于IP的网络漏洞自动分析工具

AVAIN-基于IP的网络漏洞自动分析工具

AVAIN:基于IP的网络中自动漏洞分析框架,使它的模块可以通过共享结果来协同工作。

AVAIN是用于计算机网络和单个计算机的模块化漏洞分析/渗透测试框架,它允许其模块协同工作以实现更复杂的结果。使用AVAIN开始分析后,它将使用其模块来枚举,查找漏洞并评估基于IP的网络或主机的总体安全级别。

在分析过程中,最直接相关的结果将以一种易于理解的方式直接显示出来。将保存完整的深度结果,以供以后使用户完全追溯评估。

此外,AVAIN在分析过程中会自动汇总某些类型的结果,以使模块更易于使用它们。最终分析完成,AVAIN输出最终得分在0到10之间.

AVAIN的核心是使用模块进行漏洞评估的可扩展框架。因此,它提供了多种功能,使开发全新模块或在现有模块之上构建变得更加容易。这些功能包括:

  • 简单的结果共享和存储
  • 结果汇总
  • 简单统一的模块配置方式
  • 模块是用Python实现的;其他工具可以包装
  • 模块可以指定安装和更新脚本

模块的当前功能

当前可用的模块可以自动:

  • 通用网络侦察
    • 促进Nmap扫描并对其进行后处理
  • 扫描结果与漏洞和漏洞的关联
  • Web服务器枚举
    • 使用Gobuster通过可配置的单词表在Web服务器上的暴力破解目录和文件
    •  完全抓取网络服务器,即:
      • 通过Scrapy爬行路径
      •  查找GET / POST参数和cookie
      •  查找源代码注释
      •  查找新的网络位置/域
    • 通过使用Selenium发现仅当在Web浏览器中以交互方式打开网站时才可见的内容,从而找到更多的漏洞/攻击媒介
  • 主动Web漏洞检测
    • 利用先前从其他模块中抓取的网站数据,通过sqlmap动态检测SQL注入漏洞
  • 常见网络技术/框架的具体分析
    • 在Web服务器的任何子文件夹中发现WordPress安装并使用WPScan分析它们
  • SMB枚举和漏洞检测
  • 凭证暴力破解
    • 通过Hydra和可配置的单词列表的SSH和Telnet服务的蛮力凭证

Wiki中提供了有关当前模块,它们可以做什么以及如何工作的更详细的概述。AVAIN的所有模块都是高度可配置的。作为一个小示例,您可以在抓取网站时配置要使用的身份验证Cookie或排除的正则表达式URL。有关配置参数的完整列表以及如何正确使用它们,请查看单独的Wiki页面。此外,尽管在分析过程中AVAIN相当冗长,但是所有包含更多信息的结果文件都存储在AVAIN的输出目录中。尽管文件结构应该易于理解,但它在Wiki中进一步说明。

重要:如果要在敏感或有价值的系统上运行AVAIN,请确保事先正确配置它并知道会发生什么。某些模块(例如sqlmap模块)可以运行主动扫描/侵入式扫描,这些扫描可能没有副作用,并且会破坏扫描主机上的内容。

模块总览

Nmap扫描仪

  • 路径modules/nmap
  • 描述:
    • 可配置的Nmap扫描(带有其他脚本)
    • Nmap结果汇总:
      • Nmap输出中不同结果的相关性
      • 根据Nmap的操作系统,服务和脚本结果确定最可能的操作系统
  • 输出文件:
    • 原始Nmap txt输出
    • 原始Nmap XML输出
    • AVAIN 扫描结果
    • 几个文件,其中包含有关模块的聚合决策的信息(主要用于调试)
  • 使用的软件: Nmap(Apt / Homebrew)

CVE分析仪

  • 路径modules/cve_correlation
  • 描述:
    • 使用共享的AVAIN 扫描结果查找OS和服务的CVE / NVD信息
    • 使用CVE / NVD信息和漏洞利用数据库数据来搜索可用的漏洞利用
    • 使用本地构建的NVD数据库查找合适的CVE / NVD和EDB条目(即模块脱机工作
    • 本地数据库的更新间隔是可配置的
    • 适用于扫描结果中包含CPE字符串的OS和服务
    • 该模块文件是可执行文件,可通过提供CPE字符串和一个将结果写入以下文件的文件而无需AVAIN运行
  • 输出文件:
    • 一个文件,其中包含每个扫描的主机上每个服务的所有找到的NVD条目。每个条目都包含CVE ID,说明,NVD网站上条目的链接,CVSSv3分数和CVSS攻击媒介,以及在EDB上的公共漏洞利用链接(如果有)。
    • 一个CVE摘要文件,显示为每个服务找到的CVE / NVD条目数,以及每个服务和主机本身的合计CVSSv3分数
    • AVAIN 外伤得分结果
    • 几个文件,其中包含有关模块的聚合决策的信息(主要用于调试)
  • 使用的软件:
  • 使用的数据:

Gobuster目录暴力破解

  • 路径modules/web/gobuster
  • 描述:
    • 目录暴力基于给定的AVAIN 扫描结果
    • 可配置的单词表,扩展名,深度等
    • 每个目录和主机的可配置超时
    • 可以配置从蛮力中排除的目录
  • 输出文件:
  • 使用的软件: gobuster(Apt / Go / Homebrew)

网页爬虫/抓取


SQLMap模块

  • 路径: modules/web/sqlmap
  • 描述:
    • 使用给定的AVAIN 扫描结果和Web服务器映射来测试具有HTTP(s)服务器的每个主机的参数和cookie中的SQL注入。
    • 因为这可能需要很长时间,所以参数的数量和类型可能会受到模块配置的影响
    • 如果已配置,它可以使用找到的SQL注入转储数据
  • 输出文件:
    • 包含所有找到的SQL注入,包括类型信息的文件
    • 整个SQLMap输出带有或不带有颜色
    • SQLMap创建并用于存储最终结果和中间结果的目录
    • 如果找到SQL注入并且转储了数据,则所有转储的数据
  • 使用的软件:
  • 注意:
    • 如果找到SQL注入,则在某些情况下,SQLMap可能具有更改数据库数据的副作用。因此,您可能不想针对敏感或有价值的系统禁用此模块。

SMB枚举

  • 路径: modules/smb/avain_enum.py
  • 描述:
    • 枚举SMB服务以发现共享,用户和其他事物
    • 默认情况下,仅使用访客帐户,但可以配置更多用于身份验证的帐户
    • 使用所有Nmap SMB漏洞脚本检查SMB服务是否易受攻击
  • 输出文件:
    • SMBMap的输出
    • Enum4Linux的输出
    • Nmap SMB漏洞脚本的输出
  • 使用的软件:
  • 注意:
    • 某些Nmap漏洞脚本可能会导致拒绝服务。因此,如果您对敏感或有价值的系统使用此模块(默认情况下已启用),请通过config禁用Nmap脚本的使用

WPScan模块

  • 路径: modules/web/cms_scanner/wpscan
  • 描述:
    • 使用给定的AVAIN 扫描结果和网络服务器地图查找常见的WordPress路径和文件,例如wp-content,网络服务器上的任何位置
    • 使用WPScan分析WordPress实例的版本,已安装的插件,用户和其他信息
  • 输出文件:
    • WPScans输出有无着色
    • 包含每个发现的WordPress安装的URL的文件
  • 使用的软件:

SSH凭证暴力破解

  • 路径modules/login_bruteforce/hydra_ssh
  • 描述:
    • 使用给定的AVAIN 扫描结果Hydra暴力破解SSH服务器以获取有效的登录凭据
    • 任务数量和要使用的单词表是可配置的
  • 输出文件:
    • 完整的Hydra输出为txt和JSON
    • 找到的有效凭证列表
  • 使用的软件: Hydra(Apt /(Homebrew))
  • 注意: Hydra及其在macOS上的SSH支持存在问题(请参阅Hydra的README)。因此,需要手动在macOS上安装具有有效SSH支持的Hydra的良好版本。

Telnet凭证爆破

  • 路径modules/login_bruteforce/hydra_telnet
  • 描述:
    • 使用给定的AVAIN 扫描结果Hydra暴力破解Telnet服务器以获取有效的登录凭据
    • 任务数量和要使用的单词表是可配置的
    • 注意:针对Telnet服务器运行Hydra时存在问题。因此,此模块在可配置的时间段后将Hydra超时。如果发生超时,将timeout.txt输出一个特殊文件作为模块结果的一部分。
  • 输出文件:
    • 完整的Hydra输出为txt和JSON
    • 找到的有效凭证列表
    • 如果超时: timeout.txt
  • 使用的软件: Hydra(Apt /(Homebrew))

安装

AVAIN可以在基于Unix的系统上工作。

经过测试可在macOS,Ubuntu Linux和Kali Linux上运行。

您可以将其直接安装在系统上,也可以使用可用的Dockerfile。
要直接自动安装,请运行install.sh脚本。当脚本尝试安装AVAIN所需的软件时,您可能必须以root用户身份运行它或要求输入密码。如果您没有安装apt(Linux)或Homebrew(macOS)作为软件包管理器,则只需在脚本顶部更改软件包管理器即可。对于其他问题,请随时打开一个问题。由于macOS默认情况下未安装软件包管理器,因此您可能必须安装Homebrew第一。有关安装过程和潜在问题的更多信息,请参见Wiki页面

用法

要使用AVAIN,只需在终端中键avain不带任何参数的名称即可调用它,您将看到以下用法信息:

 Wiki页面上可以找到有关AVAIN使用信息的更多信息。

为了在诸如之类的目标上运行AVAIN 192.168.42.1,相应的调用是:

avain -n 192.168.42.1

创建的输出文件夹的内容大部分应该易于理解,但是单独的Wiki页面会更详细。

关于如何调用AVAIN的另外三个示例:

avain -n 192.168.0.* -uM -p T:80,U:53 -o http_dns_sec

avain -n 10.0.42.* 192.168.0.1-150 -sN -c config/someconfig.cfg -v

avain -sR path_to_sr_1 path_to_sr_2 -o network_analysis

下载地址

①GitHub: avain/archive/v0.1.3.zip
②雨苁网盘: w.ddosi.workers.dev/github/avain