目录导航
AVAIN:基于IP的网络中自动漏洞分析框架,使它的模块可以通过共享结果来协同工作。
AVAIN是用于计算机网络和单个计算机的模块化漏洞分析/渗透测试框架,它允许其模块协同工作以实现更复杂的结果。使用AVAIN开始分析后,它将使用其模块来枚举,查找漏洞并评估基于IP的网络或主机的总体安全级别。
在分析过程中,最直接相关的结果将以一种易于理解的方式直接显示出来。将保存完整的深度结果,以供以后使用户完全追溯评估。
此外,AVAIN在分析过程中会自动汇总某些类型的结果,以使模块更易于使用它们。最终分析完成,AVAIN输出最终得分在0到10之间.
AVAIN的核心是使用模块进行漏洞评估的可扩展框架。因此,它提供了多种功能,使开发全新模块或在现有模块之上构建变得更加容易。这些功能包括:
- 简单的结果共享和存储
- 结果汇总
- 简单统一的模块配置方式
- 模块是用Python实现的;其他工具可以包装
- 模块可以指定安装和更新脚本
模块的当前功能
当前可用的模块可以自动:
- 通用网络侦察
- 促进Nmap扫描并对其进行后处理
- 扫描结果与漏洞和漏洞的关联
- Web服务器枚举
- 主动Web漏洞检测
- 常见网络技术/框架的具体分析
- SMB枚举和漏洞检测
- 使用SMBMap和Enum4Linux枚举SMB服务
- 使用Nmap漏洞脚本发现易受攻击的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
- 描述:
- 输出文件:
- 一个文件,其中包含每个扫描的主机上每个服务的所有找到的NVD条目。每个条目都包含CVE ID,说明,NVD网站上条目的链接,CVSSv3分数和CVSS攻击媒介,以及在EDB上的公共漏洞利用链接(如果有)。
- 一个CVE摘要文件,显示为每个服务找到的CVE / NVD条目数,以及每个服务和主机本身的合计CVSSv3分数
- AVAIN 外伤得分结果
- 几个文件,其中包含有关模块的聚合决策的信息(主要用于调试)
- 使用的软件:
- Sqlite3(Apt / Homebrew)
- cvsslib(Pip)
- 包装(点)
- Nlohmann的C ++ JSON解析器
- SQLiteCpp(Git子模块)
- 使用的数据:
Gobuster目录暴力破解
- 路径:
modules/web/gobuster
- 描述:
- 目录暴力基于给定的AVAIN 扫描结果
- 可配置的单词表,扩展名,深度等
- 每个目录和主机的可配置超时
- 可以配置从蛮力中排除的目录
- 输出文件:
- 完整的gobuster输出
- AVAIN 网络服务器地图
- 使用的软件: gobuster(Apt / Go / Homebrew)
网页爬虫/抓取
- 路径:
modules/web/crawler
- 描述:
- 使用给定的AVAIN 扫描结果和Web服务器映射来对运行HTTP服务器的每个主机进行爬网
- 在其基础上使用Scrapy并解析HTML表单以发现GET / POST参数
- 使用[https://github.com/SeleniumHQ/selenium]和[https://github.com/wkeeling/selenium-wire]动态抓取网站,即执行脚本并观察发出的HTTP请求
- 发现新域和源代码注释
- 可以使用LinkFinder在代码中搜索更多URL
- 输出文件:
- 完整的抓取输出
- AVAIN 网络服务器地图
- 以JSON格式txt格式发现的注释
- 发现的域
- 使用的软件:
- cra(点子)
- 硒和硒线(均通过Pip)
- comment_parser(点)
- Chromedriver(公寓)
- LinkFinder(通过下载资源库)
- 问题:
- 在某些情况下,使用Selenium时,爬虫可能会卡住。如果发生这种情况,只需在此模块的配置中禁用Selenium爬网
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漏洞脚本的输出
- 使用的软件:
- 中小企业地图
- Enum4Linux(仅在可用时;必须由用户手动安装)
- Nmap SMB漏洞脚本
- 注意:
- 某些Nmap漏洞脚本可能会导致拒绝服务。因此,如果您对敏感或有价值的系统使用此模块(默认情况下已启用),请通过config禁用Nmap脚本的使用。
WPScan模块
- 路径:
modules/web/cms_scanner/wpscan
- 描述:
- 使用给定的AVAIN 扫描结果和网络服务器地图查找常见的WordPress路径和文件,例如
wp-content
,网络服务器上的任何位置 - 使用WPScan分析WordPress实例的版本,已安装的插件,用户和其他信息
- 使用给定的AVAIN 扫描结果和网络服务器地图查找常见的WordPress路径和文件,例如
- 输出文件:
- WPScans输出有无着色
- 包含每个发现的WordPress安装的URL的文件
- 使用的软件:
SSH凭证暴力破解
- 路径:
modules/login_bruteforce/hydra_ssh
- 描述:
- 输出文件:
- 完整的Hydra输出为txt和JSON
- 找到的有效凭证列表
- 使用的软件: Hydra(Apt /(Homebrew))
- 注意: Hydra及其在macOS上的SSH支持存在问题(请参阅Hydra的README)。因此,需要手动在macOS上安装具有有效SSH支持的Hydra的良好版本。
Telnet凭证爆破
- 路径:
modules/login_bruteforce/hydra_telnet
- 描述:
- 输出文件:
- 完整的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