常见漏洞扫描工具AWVS、AppScan、Nessus的使用

news2024/10/3 2:22:48

HVV笔记——常见漏洞扫描工具AWVS、AppScan、Nessus的使用

  • 1 AWVS
    • 1.1 安装部署
    • 1.2 激活
    • 1.3 登录
    • 1.4 扫描web应用程序
      • 1.4.1 需要账户密码登录的扫描
      • 1.4.2 利用录制登录序列脚本扫描
      • 1.4.3 利用定制cookie扫描
    • 1.5 扫描报告分析
      • 1.5.1 AWVS报告类型
      • 1.5.2 最常用的报告类型:
    • 1.6 Goby+AWVS联动
  • 2 AppScan
    • 2.1 扫描方式
    • 2.2 安装部署
    • 2.3 扫描web应用程序
    • 2.4 手动探索扫描
    • 2.5 安装证书和登录绕过
    • 2.5 测试报告
  • 3 Nessus
    • 3.1 Kali安装Nessus
    • 3.2 离线激活Nessus
      • 3.2.1 去Nessus官方申请激活码
      • 3.2.2 获得质询码(challenge code)
      • 3.2.3 获得插件、激活码和证书
      • 3.2.4 安装证书和插件
    • 3.3 解除IP限制
    • 3.4 解决重启失效
      • 3.4.1 编写启动脚本
      • 3.4.2 Nessus命令合集
      • 3.4.3 BUG解决
    • 3.5 使用Nessus进行主机发现
    • 3.6 使用Nessus扫描log4J漏洞
      • 3.6.1 靶场环境搭建
      • 3.6.2 log4Jshell扫描
      • 3.6.1 靶场环境搭建
      • 3.6.2 log4Jshell扫描

1 AWVS

AWVS(Acunetix Web Vulnerability Scanner)是一款知名的网络漏洞扫描工具,通过网络爬虫测试网站安全,检测流行的Web应用攻击,如跨站脚本、sql 注入等。

1.1 安装部署

Windows安装没有什么难度,这里主要记录Kali环境下的安装与部署。

准备acunetix_trial.sh和激活包pathc_awvs

下载地址:

修改acunetix_trial.shpatch_awvs权限

chmod 777 acunetix_trial.sh patch_awvs

执行安装命令

./acunetix_trial.sh

点击Enter继续

在这里插入图片描述

后续一直按Enter,根据提示输入yes。

根据提示输入主机名称:127.0.0.1,email:asdfg@qq.com,Password:m123456@,点击Enter

注意不能输错,退格键方向键都会被转义。Email格式中@后面应该是必须字母,密码也有复杂度要求。

在这里插入图片描述

等待安装完成
在这里插入图片描述

1.2 激活

将激活补丁复制到指定目录下,并设置运行权限

#1 复制补丁
cp -a patch_awvs /home/acunetix/.acunetix_trial/v_190325161/scanner/
#2 设置权限
chmod 777 /home/acunetix/.acunetix_trial/v_190325161/scanner/patch_awvs
#3 运行补丁
/home/acunetix/.acunetix_trial/v_190325161/scanner/patch_awvs

在这里插入图片描述

为了保护原始license不失效,这里尽快执行如下的命令,不然license会被修改然后就无法破解成功。

chattr +i /home/acunetix/.acunetix_trial/data/license/license_info.json
rm -fr /home/acunetix/.acunetix_trial/data/license/wa_data.dat
touch /home/acunetix/.acunetix_trial/data/license/wa_data.dat
chattr +i /home/acunetix/.acunetix_trial/data/license/wa_data.dat

重新启动AWVS进程

#重启进程
systemctl restart acunetix_trial.service
#启动进程
systemctl start acunetix_trial.service
#停止进程
systemctl stop acunetix_trial.service
#查看进行状态
systemctl status acunetix_trial.service

在这里插入图片描述

1.3 登录

访问:https://127.0.0.1:13443 进入AWVS首页,点击Advanced..,点击【Accept the Risk and Continue】,输入刚才注册的用户名密码,登录即可。
在这里插入图片描述

在界面右上角点击用户名,选择profile,往下滚动页面,即可看到激活信息。

在这里插入图片描述

1.4 扫描web应用程序

Targetsadd Targets,输入扫描地址和扫描描述,点击右上角的save

在这里插入图片描述

1.4.1 需要账户密码登录的扫描

如果目标网站需要登录,那么可以在AWVS的目标界面设置,找到并勾选Site Login,选择try to auto-login into the site,输入登录IP地址、用户名、密码和重复密码。

在这里插入图片描述

找到HTTP Authentication,输入用户名密码,重复密码。

在这里插入图片描述

点击右上角saveScan,弹出扫描设置对话框,设定相应的选项后点击Create Scan

在这里插入图片描述

上图中选择的时间表为立即扫描,如果是future scan,可以在扫描列表中单击IP,进入到扫描情况界面。

1.4.2 利用录制登录序列脚本扫描

Targetsadd Target,设置IP后进入目标设置页面,勾选Site Login,选择Use pre-recorded login sequence,点击New

在这里插入图片描述

输入用户名密码,点击目标网站的登录按钮。检查右侧操作流程是否正确且完整。
在这里插入图片描述

检查无误后点击next,点击finishi。然后就可以扫描了。

1.4.3 利用定制cookie扫描

扫描过程会遇到网站存在手机验证码、图形验证码、滑动验证等等,而这些验证码都是一次性的,这时候想要深度扫描时,就需要进行登录绕过。

添加目标,打开目标设置页面,找到并点击最下面的Advanced,勾选Custom Cookies,输入目标网站的地址:
在这里插入图片描述

这时切换到其他浏览器,获取网站的cookie值,返回到AWVS输入cookie的值,点击+,保存后即可扫描。

1.5 扫描报告分析

1.5.1 AWVS报告类型

  • Standard Reports:标准报告

  • Affected Items:受影响项目

  • Comprehensive (new):综合(新)

  • Developer:开发者

  • Executive Summary:执行摘要

  • Quick:快速报告

1.5.2 最常用的报告类型:

  1. Executive Summary:执行摘要 给公司大领导看,只关注整体情况,不关注具体细节

  2. Comprehensive (new):综合(新):一般给QA和产品经理看

  3. Developer:开发者:给开发人员看

  4. OWASP Top 10 2017 行业报告的代表

  5. WASC Threat Classification 行业报告的代表

1.6 Goby+AWVS联动

将AWVS的api_key添加到Goby的AWVS插件中,即可扫描。AWVS的api_key获取如下:

在这里插入图片描述

扫描完成后,找到扩展程序中的AWVS,可以一键生成报告。

2 AppScan

2.1 扫描方式

  • Static: 静态分析 (白盒扫描) 源码分析:支持(Taint analysis\pattern matching)

  • Dynamic: 动态分析 (黑盒扫描)

  • Hybrid:混合分析(黑,白)【知道源代码】

  • Run-Time: 运行时分析(玻璃盒)【不知道源代码】

  • Client-Side:客户端分析(Javascript)

2.2 安装部署

安装前需安装.NET Framework 4.7.2

下载地址

运行安装程序,一路next即可,之后将补丁AppScanSDK.dll 和 HclLicenseProvider.dll 拷贝到安装目录D:\Program Files (x86)\HCL\AppScan Standard下替换原来的文件。

2.3 扫描web应用程序

自动扫描,采用的是类似爬虫的方式。

打开AppScan后选择扫描web应用程序,输入目标地址,会自动检测是否可连接,此页面可以勾选是否配置代理。而后点击下一步
在这里插入图片描述

在登录管理页面,如果目标网站需要登录后才能操作,那么可以选择记录

在测试策略页面,点击左下角的完全扫描配置,可以自行设定。

在这里插入图片描述

跳转到如下界面后即可进行扫描

在这里插入图片描述

2.4 手动探索扫描

扫描→手动扫描→外部设备

在这里插入图片描述

将浏览器的代理IP设为本地,端口设为上图中的端口。打开目标网站,浏览页面进行操作。然后切换到AppScan页面点击停止记录,进行扫描即可。

使用内置浏览器扫描时,按照需要配置cookie。

2.5 安装证书和登录绕过

主要应对https协议

打开AppScan后,手动探索→外部设备→记录代理配置→导出SSL证书→在外部浏览器中导入证书→浏览器设置代理让AppScan抓取流量。

如果目标网站采用了验证码,那么可以使用外部浏览器先登录网站,然后将cookie添加到AppScan中或者登录后开启代理再使用AppScan扫描。

2.5 测试报告

在这里插入图片描述

3 Nessus

3.1 Kali安装Nessus

下载地址:https://docs.tenable.com/releasenotes/Content/nessus/nessus.htm

命令行下载

curl --request GET \ --url 'https://www.tenable.com/downloads/api/v2/pages/nessus/files/Nessus-10.5.1-debian10_amd64.deb' \ --output 'Nessus-10.5.1-debian10_amd64.deb'

安装,这步完成后会提示服务的端口,可以登录进行配置

dpkg -i Nessus-10.5.1-debian10_amd64.deb 

在这里插入图片描述

启动Nessus

service nessusd start

在这里插入图片描述

浏览器访问nessus的web页面,Kali的IP+服务的端口,勾选Register Offline,点击Continue,选择 Managed Scanner选项,点击Continue,选择Tenable.sc,点击Continue

在这里插入图片描述

根据提示创建管理员用户密码,等待配置完成。

安装完成后是这样的界面,尚未激活,不能扫描。
在这里插入图片描述

3.2 离线激活Nessus

3.2.1 去Nessus官方申请激活码

https://zh-cn.tenable.com/products/nessus/nessus-essentials 姓名随便填,邮箱必须正确,用来接收激活码。进入填写的邮箱获取激活码,

3.2.2 获得质询码(challenge code)

/opt/nessus/sbin/nessuscli fetch  --challenge

在这里插入图片描述

3.2.3 获得插件、激活码和证书

浏览器打开网页 https://plugins.nessus.org/v2/offline.php ,输入申请的激活码,以及上一步得到的质询码,点击Submit,即可得到更新插件地址,及license证书。

在这里插入图片描述

也可以使用官方提供的方法用命令行的方式安装证书。证书安装命令和下载按钮在页面底部。

3.2.4 安装证书和插件

这里采用下载后离线安装证书的方式,执行如下命令

/opt/nessus/sbin/nessuscli fetch --register-offline nessus.license

在这里插入图片描述

安装插件(需要先下载,文件大小为361.412MB)

/opt/nessus/sbin/nessuscli update ./all-2.0.tar.gz
/opt/nessus/lib/nessus/plugins/  #插件包目录

在这里插入图片描述

重启Nessus,重新访问Nessus网站,等待加载插件(耗时较长,需要耐心等待)

完成后进入Nessus系统。显示激活成功,具有了scan功能。

3.3 解除IP限制

如果Nessus页面显示仅允许扫描16个IP,那么就需要解除IP限制。

  1. 获取当前plugins的版本

    https://plugins.nessus.org/v2/plugins.php

    202304091403

  2. 停止Nessus服务

    serice nessusd stop
    
  3. 创建plugin_feed_info.inc

    vi plugin_feed_info.inc
    

    内容如下:

    PLUGIN_SET = "202304091403";
    PLUGIN_FEED = "ProfessionalFeed (Direct)";
    PLUGIN_FEED_TRANSPORT = "Tenable Network Security Lightning";
    
  4. plugin_feed_info.inc替换到 /opt/nessus/var/nessus/plugin_feed_info.inc

    cp plugin_feed_info.inc /opt/nessus/var/nessus/
    
  5. 删除/opt/nessus/lib/nessus/plugins/plugin_feed_info.inc

  6. 启动nessus服务

这时如果设置页面显示Licensed Hosts Unlimited,则无限制。但可能会出现重启后插件被删除的情况,解决方案请看下一步。

3.4 解决重启失效

接上一步。

由于Nessus服务每次重启后,都会重置plugin_feed_info.inc,这将会使nessus/plugins目录下所有的插件都被删除,无法扫描。因此要将Nessus服务设置为手动,并且先停止Nessus服务。可以写成批处理解决此问题。

3.4.1 编写启动脚本

vi qd_nessus.sh

service nessusd stop;
cp /root/nessus/plugin_feed_info.inc /opt/nessus/var/nessus/;
rm -rf /opt/nessus/lib/nessus/plugins/plugin_feed_info.inc;
service nessusd start;

每次需要启动Nessus时,输入启动命令

sh /root/nessus/qd_nessus.sh

3.4.2 Nessus命令合集

#启动
service nessusd start;
#重启
service nessusd restart;
#查看状态
service nessusd status
#停止服务
service nessusd stop

3.4.3 BUG解决

在解除ip限制的过程中,如果已经解除成功,但是新建扫描项目时,发现很快就结束,无扫描结果。此时查看plugins目录内容是否被删除。

du -h /opt/nessus/lib/nessus/plugins

在这里插入图片描述

如果低于上图所示的值,则需要执行如下命令

service nessusd stop;
/opt/nessus/sbin/nessuscli update ./all-2.0.tar.gz
sh qd_nessus.sh

重新访问Nessus即可。

3.5 使用Nessus进行主机发现

  1. 启动Nessus

    cd nessus
    sh qd_nessus.sh
    
  2. 进入Nessus网站并登录,点击New Scan,选择Host Discovery,按照提示输入相关内容

    在这里插入图片描述

  3. 注意到左侧的Schedule是配置定时任务的,Notifications是配置邮件提醒的 ,可暂时不予理睬。

  4. 点击Discovery,选择常用端口扫描

    在这里插入图片描述

    这里细心的道友可能发现页面主题变了,我是在SettingsAdvancedUser InterfaceUI Theme设置的。

  5. 在这里插入图片描述

  6. 保存后即可在My Scans中找到计划,启动扫描了。

3.6 使用Nessus扫描log4J漏洞

3.6.1 靶场环境搭建

centos7+docker+vulhub

安装docker,vulhub,部署log4j靶场

#1 进入log4j/CVE-2021-44228
cd log4j/CVE-2021-44228
#2 编译环境
docker-compose build
#3 运行环境
docker-compose up -d
#4 查看端口
docker-compose ps
docker ps

3.6.2 log4Jshell扫描

登录后,点击New ScanLog4Shell→输入Name和Target→点击Discovery→选择扫描类型Thorough→点击Report→选择Credentials选项卡→点击SSH→选择身份验证方法password→输入被扫描服务器的用户名和密码→在plugins页面选择插件→运行扫描即可。

漏洞

3.6.1 靶场环境搭建

centos7+docker+vulhub

安装docker,vulhub,部署log4j靶场

#1 进入log4j/CVE-2021-44228
cd log4j/CVE-2021-44228
#2 编译环境
docker-compose build
#3 运行环境
docker-compose up -d
#4 查看端口
docker-compose ps
docker ps

3.6.2 log4Jshell扫描

登录后,点击New ScanLog4Shell→输入Name和Target→点击Discovery→选择扫描类型Thorough→点击Report→选择Credentials选项卡→点击SSH→选择身份验证方法password→输入被扫描服务器的用户名和密码→在plugins页面选择插件→运行扫描即可。
此外Nessus还提供Log4Shell 漏洞生态系统扫描的功能。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/428312.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Microchip的10M以太网解决方案

(以下所有图片均来源于Microchip官网) 一 为什么需要10M车载以太网 目前车载百兆以太网(100Base-T1)和千兆以太网(1000Base-T1)技术较为成熟,但如果直接用100Base-T1/1000Base-T1来替代目前被广…

anaconda 创建虚拟环境 基本命令操作

下载好之后直接打开 anaconda prpmpt : 此时直接输入 :activate 不加环境名是直接进入到base环境中的 必须先进入到base环境中再使用后边的命令 : activate 直接进入base环境:如图:conda create -n 名字 python3.7 创建虚拟…

善用Embedding,我们来给文本分分类

你好,我是徐文浩。 上一讲里我们看到大模型的确有效。在进行情感分析的时候,我们通过OpenAI的API拿到的Embedding,比T5-base这样单机可以运行的小模型,效果还是好很多的。 不过,我们之前选用的问题的确有点太简单了。…

springboot服务端接口外网远程调试,并实现HTTP服务监听 - 内网穿透

文章目录前言1. 本地环境搭建1.1 环境参数1.2 搭建springboot服务项目2. 内网穿透2.1 安装配置cpolar内网穿透2.1.1 windows系统2.1.2 linux系统2.2 创建隧道映射本地端口2.3 测试公网地址3. 固定公网地址3.1 保留一个二级子域名3.2 配置二级子域名3.2 测试使用固定公网地址4. …

segment anything paper笔记

demo主页(包含paper, demo, dataset) 通过demo可以看到一个酷炫的效果,鼠标放在任何物体上都能实时分割出来。 segment anything宣传的是一个类似BERT的基础类模型,可以在下游任务中不需要再训练,直接用的效果。 而且…

增强领域的知识图谱

以下是一些近两年基于知识图谱做知识增强的顶会论文: "knowledge-enhanced hierarchical graph convolutional networks for intent detection" (acl 2021) "kg-bert: bert for knowledge graph completion" (emnlp 2019) "k-adapter: i…

C语言刷题--内存存储、操作符

魔王的介绍:😶‍🌫️一名双非本科大一小白。魔王的目标:🤯努力赶上周围卷王的脚步。魔王的主页:🔥🔥🔥大魔王.🔥🔥🔥 ❤️‍&#x1…

04-Mysql常用操作

1. DDL 常见数据库操作 # 查询所有数据库 show databases; # 查询当前数据库 select databases();# 使用数据库 use 数据库名;# 创建数据库 create database [if not exits] 数据库名; # []代表可选可不选# 删除数据库 drop database [if exits] 数据库名; 常见表操作 创建…

Nestjs实战干货-概况-中间件-Middleware

中间件 中间件是一个在路由处理程序之前被调用的函数。中间件函数可以访问请求和响应对象,以及应用程序的请求-响应周期中的next()中间件函数。下一个中间件函数通常由一个名为next的变量来表示。 Nest 中间件在默认情况下等同于Express中间件。下面是来自官方 exp…

MBD—模型的回调函数

目录 前面 如何设置? 应用 简单的提示 数据的初始化 前面 常用的回调函数有三类:模型的回调函数、模块的回调函数、信号的回调函数。这里分享一下模型的回调函数。 回调函数就是CallBack. 如何设置? 打开一个模型,在空白…

【计算机网络】TCP拥塞控制、丢包重传机制与滑动窗口机制

文章目录TCP 拥塞控制原理为什么拥塞期间,发送方会收到接收方的重复确认?TCP 滑动窗口机制原理TCP 丢包重传机制TCP 拥塞控制原理 TCP拥塞控制是指在网络拥塞的情况下,TCP协议通过调整发送数据的速率来避免网络拥塞的一种机制。TCP拥塞控制的…

物料分类视图:200 和 300 分类测试记录

一、概述 测试目的:将销售订单中成品对原材料的需求,通过MRP运行,传递到生产订单中 系统版本:S4 工厂代码:1001(计划工厂) 、1008(执行工厂) 成品: CP0000535 原材料: 编码 描述 板材特性 123…

国内 中 大 型 IT 软件 外包公司 名单 汇总(2023 最新版!)

文章目录***\*1、软件外包公司名单\*******\*2、如何区分是否是外包公司\*******\*3、外包公司真是无一是处吗?\*******\*4、软件外包的几种形式\*******\*5、哪些情况可选择外包\****结语1、软件外包公司名单2、如何区分是否是外包公司3、外包公司真是无一是处吗&a…

【Transformer系列(1)】encoder(编码器)和decoder(解码器)

前言 这个专栏我们开始学习transformer,自推出以来transformer在深度学习中占有重要地位,不仅在NLP领域,在CV领域中也被广泛应用,尤其是2021年,transformer在CV领域可谓大杀四方。 在论文的学习之前,我们…

【C++】类和对象—日期类的实现

目录一、日期类的功能二、获取月的天数三、Date类中的默认成员函数构造函数析构函数拷贝构造赋值运算符重载取地址操作符重载和const取地址操作符重载四、运算符重载&#x1f312;、、-、-日期天数日期天数日期-天数日期-天数&#x1f312;、!、>、>、<、<日期-日期…

C++ :websocket 通讯下的五种 I/O 模型

目录 I/O 多路复用&#xff08;一种同步 I/O 模型&#xff09; 非阻塞与阻塞 select、poll、epoll 起因 改善 select 与 poll 的差别 I/O 模型 阻塞 I/O 模型 非阻塞 I/O 模型 I/O 多路复用模型 信号驱动 I/O 模型&#xff08;SIGIO&#xff09; 异步 I/O 模型&…

VirtualBox下Ubuntu系统磁盘扩容

1. 正确扩容虚拟硬盘&#xff1a;修改虚拟硬盘和快照的虚拟硬盘大小 打开VirtualBox所在目录&#xff0c;打开cmd&#xff0c;输入命令VBoxManage list hdds&#xff0c;这样能够列出所有的虚拟磁盘。找到你需要扩容的磁盘输入命令VBoxManage" modifyhd "D:\Pat\to\…

米尔STM32MP135核心板 又一款入门级嵌入式开发平台

自2007年意法半导体&#xff08;ST&#xff09;推出STM32首款Cortex-M内核 MCU,十几年来&#xff0c;ST在MCU领域的发展是飞速向前的。而2019年ST发布了全新的STM32MPU系列产品线&#xff0c;STM32MP1作为新一代 MPU 的典范&#xff0c;有着极富开创意义的异构系统架构兼容并蓄…

WMS智能仓储

子产品介绍篇--智能仓储 智能仓储 我们通常也称 WMS 系统。是一个实时的计算机软件系统&#xff0c;它能够按照运作的业务规则和运算法则&#xff0c;对信息、资源、行为、存货和分销运作进行更完美地管理&#xff0c;提高效率。 一. 仓储管理系统&#xff08;wms&#xff09;…

javaweb过滤器与监听器

一、过滤器程序的基本结构、web.xml文件的配置过程和过滤器的执行过程 <?xml version"1.0" encoding"UTF-8"?> <web-app xmlns"https://jakarta.ee/xml/ns/jakartaee"xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance&quo…