5 款漏洞扫描工具:实用、强力、全面(含开源)

news2024/11/18 20:14:19

引言
漏洞扫描是一种安全检测行为,更是一类重要的网络安全技术,它能够有效提高网络的安全性,而且漏洞扫描属于主动的防范措施,可以很好地避免黑客攻击行为,做到防患于未然。那么好用的漏洞扫描工具有哪些?

答案就在本文!

5款工具,打包带走吧!

先领取资料再阅读,282G网络安全学习资料点击此处即可获取

第一款:Trivy

在这里插入图片描述

概述

Trivy 是一个开源漏洞扫描程序,能够检测开源软件中的 CVE。这款工具针对风险提供了及时的解释,开发人员可自行决定是否在容器或应用程序中使用该组件。常规的容器安全协议使用的是静态镜像扫描来发现漏洞,Trivy 则是将漏洞扫描工具无缝合并到集成开发环境当中。

另外,由于背靠庞大的开源社区,许多的集成及附加组件都支持 Trivy,例如使用 Helm 图表能够将 Trivy 安装到 Kubernetes 集群,借助 Prometheus 导出器能够提取漏洞指标。

安装

Trivy安装:

非常简单,如果有Golang环境的可以Clone源码仓自己编译构建。或者使用发行版的包安装器安装,比如CentOS:

sudo apt-get install wget apt-transport-https gnupg lsb-release
wget -qO - aquasecurity.github.io/trivy-repo/deb/public.key | sudo apt-key add -
echo deb aquasecurity.github.io/trivy-repo/deb $(lsb_release -sc) main | sudo tee -a /etc/apt/sources.list.d/trivy.list
sudo apt-get update
sudo apt-get install trivy

Ubuntu安装:

sudo apt-get install wget apt-transport-https gnupg lsb-release
wget -qO - aquasecurity.github.io/trivy-repo/deb/public.key | sudo apt-key add -
echo deb aquasecurity.github.io/trivy-repo/deb $(lsb_release -sc) main | sudo tee -a /etc/apt/sources.list.d/trivy.list
sudo apt-get update
sudo apt-get install trivy

Trivy也支持容器方式部署:

docker pull aquasec/trivy:0.20.2

然后直接启动容器:

docker run --rm -v [YOUR_CACHE_DIR]:/root/.cache/ aquasec/trivy:0.20.2 [YOUR_IMAGE_NAME]

如果想要扫主机上的镜像,可能需要挂载docker.sock,例如:

docker run --rm -v /var/run/docker.sock:/var/run/docker.sock
-v $HOME/Library/Caches:/root/.cache/ aquasec/trivy:0.20.2 python:3.4-alpine

第二款:OpenVAS

在这里插入图片描述

概述

OpenVAS 是一款功能全面的免费开源漏洞扫描器和管理系统。它得到了 GNU 通用公开许可证授权许可,支持包括多个 Linux 发行版在内的不同操作系统。OpenVAS 利用了可自动更新的社区来源的漏洞数据库,涵盖 5 万多个已知网络漏洞测试。也就是说,它能非常细致地查看整个系统,并对已经或未经身份验证的协议进行测试。而实施过的漏洞测试也相当细致,会深入分析计算机及服务器受保护的程度。

安装

1、前提条件

①.虚拟机配置静态ip,桥接模式,设置IPADDR,其中GATEWAY,NETMASK,DNS需要设置与 右键网络–更改适配器–以太网状态–详细信息保持一致
在这里插入图片描述
②.设置虚拟机代理,通过图形化界面给虚拟机设置代理,可以访问网络,但是不能使用yum源。安装openvas 需要使用yum源,做如下修改。在/etc/yum.conf中加入下面几句
proxy=http://10.4.200.228:8080
proxy_username=bmcc\60000
proxy_password=pl,12345

③./root/.bashrc(/etc/profile)中加入(或者在命令行中输入,终端中是暂时的):
export http_proxy=“http://username:[email protected]:808”

④.如果是通过ip或者是网卡的认证,可以忽略所有的user,password等。停止使用代理的的时候,需要将环境变量,yum配置文件恢复:unset http_proxy(去除环境变量),输入env可以查看环境

2、配置步骤
①.禁用selinux,重启生效

(#SELINUX=enforcing,
#SELINUXTYPE=targeted)

yum在线装

[root@localhost ~]#vi /etc/selinux/config
SELINUX=disabled
[root@localhost ~]#reboot

②.关闭防火墙

systemctl stop firewalld

③.yum更新

yum update -y

④.安装依赖:

yum install -y wget bzip2 texlive net-tools alien gnutls-utils

⑤.添加仓库

wget -q -O - http://www.atomicorp.com/installer/atomic | sh

⑥.安装openvas

yum install openvas -y

第三款:Clair

在这里插入图片描述

概述

Clair 是基于 API 的漏洞扫描程序,可对开源容器层的任何已知安全漏洞进行检测,更加便于创建持续监控容器并查找安全漏洞的服务。Clair 能定期从各个来源收集漏洞元数据,对容器镜像索引,并提供用于检索镜像发现的特征的 API。漏洞元数据一旦更新,用户就会收到提醒,这样就能从之前扫描的镜像中及时发现新的漏洞。另外,Clair 还提供了可用于查询特定容器镜像漏洞的 API。

安装

1、在 OpenShift 安装 Clair 环境

1.创建项目
2.创建 clairv4-postgres.yaml 文件,内容如下:
3.执行命令,根据 clairv4-postgres.yaml 创建对象
4.创建 config.yaml 文件,内容如下:
5.执行命令,根据 config.yaml 文件创建 secret
6.创建 clair-combo.yaml 文件,内容如下:
7.执行命令,根据 clair-combo.yaml 文件创建对象
8.查看部署的资源

步骤详细命令如下:
1.

$ oc new-project quay-enterprise

apiVersion: apps/v1
kind: Deployment
metadata:
name: clairv4-postgres
namespace: quay-enterprise
labels:
quay-component: clairv4-postgres
spec:
replicas: 1
selector:
matchLabels:
quay-component: clairv4-postgres
template:
metadata:
labels:
quay-component: clairv4-postgres
spec:
volumes:
- name: postgres-data
persistentVolumeClaim:
claimName: clairv4-postgres
containers:
- name: postgres
image: postgres:11.5
imagePullPolicy: “IfNotPresent”
resources:
limits:
cpu: ‘2’
memory: 6Gi
requests:
cpu: ‘1’
memory: 4Gi
ports:
- containerPort: 5432
env:
- name: POSTGRES_USER
value: “postgres”
- name: POSTGRES_DB
value: “clair”
- name: POSTGRES_PASSWORD
value: “postgres”
- name: PGDATA
value: “/etc/postgres/data”
volumeMounts:
- name: postgres-data
mountPath: “/etc/postgres”—
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: clairv4-postgres
labels:
quay-component: clairv4-postgres
spec:
accessModes:
- “ReadWriteOnce”
resources:
requests:
storage: “10Gi”
volumeName: “clairv4-postgres”

$ oc create -f clairv4-postgres.yaml
$ oc expose deployment/clairv4-postgres

introspection_addr: :8089
http_listen_addr: :8080
log_level: debug
indexer:
connstring: host=clairv4-postgres port=5432 dbname=clair user=postgres password=postgres sslmode=disable
scanlock_retry: 10
layer_scan_concurrency: 5
migrations: true
matcher:
connstring: host=clairv4-postgres port=5432 dbname=clair user=postgres password=postgres sslmode=disable
max_conn_pool: 100
run: “”
migrations: true
indexer_addr: clair-indexer
notifier:
connstring: host=clairv4-postgres port=5432 dbname=clair user=postgres password=postgres sslmode=disable
delivery: 1m
poll_interval: 5m
migrations: true

$ oc create secret generic clairv4-config-secret --from-file=./config.yaml

apiVersion: apps/v1
kind: Deployment
metadata:
labels:
quay-component: clair-combo
name: clair-combo
spec:
replicas: 1
selector:
matchLabels:
quay-component: clair-combo
template:
metadata:
labels:
quay-component: clair-combo
spec:
containers:
- image: quay.io/projectquay/clair:4.1.0
imagePullPolicy: IfNotPresent
name: clair-combo
env:
- name: CLAIR_CONF
value: /clair/config.yaml
- name: CLAIR_MODE
value: combo
ports:
- containerPort: 8080
name: clair-http
protocol: TCP
- containerPort: 8089
name: clair-intro
protocol: TCP
volumeMounts:
- mountPath: /clair/
name: config
imagePullSecrets:
- name: redhat-pull-secret
restartPolicy: Always
volumes:
- name: config
secret:
secretName: clairv4-config-secret
apiVersion: v1
kind: Service
metadata:
name: clairv4
labels:
quay-component: clair-combo
spec:
ports:
- name: clair-http
port: 80
protocol: TCP
targetPort: 8080
- name: clair-introspection
port: 8089
protocol: TCP
targetPort: 8089
selector:
quay-component: clair-combo
type: ClusterIP

$ oc apply -f clair-combo.yaml
$ oc expose svc/clairv4

$ oc get all
NAME READY STATUS RESTARTS AGE
pod/clair-combo-6754dcfd75-wwbt9 1/1 Running 0 34s
pod/clairv4-postgres-b9f679dc6-fhmcs 1/1 Running 0 2m51s
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
service/clairv4 ClusterIP 10.217.4.159 80/TCP,8089/TCP 34s
service/clairv4-postgres ClusterIP 10.217.5.64 5432/TCP 119s
NAME READY UP-TO-DATE AVAILABLE AGE
deployment.apps/clair-combo 1/1 1 1 34s
deployment.apps/clairv4-postgres 1/1 1 1 2m51s
NAME DESIRED CURRENT READY AGE
replicaset.apps/clair-combo-6754dcfd75 1 1 1 34s
replicaset.apps/clairv4-postgres-b9f679dc6 1 1 1 2m51s
NAME HOST/PORT PATH SERVICES PORT TERMINATION WILDCARD
route.route.openshift.io/clairv4 clairv4-quay-enterprise.crc-dzk9v-master-0.crc.fa7bdknrdb3y.instruqt.io clairv4 clair-http None

安装 Clair 客户端

从 https://github.com/quay/clair/releases 下载 Clair 客户端。

$ curl -L https://github.com/quay/clair/releases/download/v4.3.5/clairctl-linux-amd64 -o ~/clairctl
$ chmod +x clairctl
$ PATH=$PATH:~/

第四款:Anchore

在这里插入图片描述

概述

Anchore 是一款开源 Docker 容器策略合规与静态分析的工具。激活之后,Anchore 会自动执行容器内容的镜像扫描、分析及评估。最终结果会针对每个镜像进行策略评估,并判
 定是否符合业务要求。Anchore 主要是通过分析容器镜像的内容,发现隐藏的漏洞。同时,它也会扫描已知漏洞并确保镜像遵循了最佳安全标准与最佳行业实践。最重要的是,Anchore 集成了容器注册表和 CI/CD 工具。

安装

https://github.com/anchore/anchore.git

锚的架构

过去,设置 Anchore 需要专门安装 Anchore Engine,该引擎独立于您的映像构建环境运行。单独的 CLI 可让您与引擎交互。

此模型需要使用一系列 CLI 命令来向 Anchore 注册图像、开始扫描并访问结果。这些步骤通过从注册表中提取图像、生成报告并使其可供使用来推进锚定。

Anchore 现在也提供内联扫描。这些为您提供了一个命令来扫描图像并在终端中获取结果。我们将在本文中重点介绍此功能。

运行内联脚本

内联扫描由托管在 Anchore 服务器上的 Bash 脚本提供。将脚本下载到您的机器上并使其可执行:

curl -s https://ci-tools.anchore.io/inline_scan-latest -o anchore.shchmod +x anchore.sh

在这里插入图片描述
现在您可以使用内联脚本开始扫描容器映像:

./anchore.sh -r alpine:latest

第一次扫描可能需要一段时间。该脚本将拉取 Anchore Engine Docker 镜像,启动一个新的 Anchore 实例,并配置 PostgreSQL 和一个 Docker 注册表实例。然后它会等待锚定引擎启动。
在这里插入图片描述
一旦引擎运行,目标 Docker 镜像将被拉取和分析。然后,您将看到终端中显示的安全报告。该脚本将通过清理环境并停止 Anchore Engine Docker 容器来完成。

第五款:Sqlmap

概述

Sqlmap 属于渗透测试工具,但具有自动检测和评估漏洞的功能。该工具不只是简单地发现安全漏洞及利用漏洞的情况,它还针对发现结果创建了详细的报告。Sqlmap 利用 Python 进行开发,支持任何安装了 Python 解释器的操作系统。它能自动识别密码哈希,并使用六种不同方法来利用 SQL 注入漏洞。此外,Sqlmap 的数据库非常全面,支持 oracle、PostgreSQL、MySQL、SqlServer 和 access。

安装

1、环境要求

Python2.7(python3不支持)

2、安装步骤

在sqlmap官网http://sqlmap.org/下载最新版本的sqlmap安装包。当前展示版本为1.3.2-25,如下图所示:

在这里插入图片描述
将下载下来的安装包sqlmapproject-sqlmap-1.3.2-25-gaf890d6.zip解压到自己想存放的目录并重命名,这里以D盘为例,并将解压后的文件重命名为sqlmap。解压后的目录结构如下图所示:
在这里插入图片描述
验证sqlmap是否安装完成,可进行如下操作进行验证:

1.打开cmd窗口,进入到python的安装目录(这里如果配置了python环境变量,则不需要进入到此目录):
在这里插入图片描述
2.执行如下命令:

python D:\sqlmap\sqlmap.py --version

3.若显示sqlmap版本号,则安装成功。如下图所示:

在这里插入图片描述

网络安全学习资源

我为大家准备了一些网络安全学习资料,点击👉【网络安全282G学习资源】即可领取

成长路线图

在这里插入图片描述

视频教程

在这里插入图片描述

必读书单

在这里插入图片描述

因文章篇幅有限仅展示一部分,需要资料的可以点击👉【282G网络安全学习资源】领取资料

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

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

相关文章

防止SQL注入攻击的综合解决方案

文章目录 摘要背景和危害性防御措施示例代码(Java)示例代码(PHP)示例MySQL命令示例代码(Python)示例代码(C#,使用Entity Framework) 进一步防御SQL注入攻击的措施使用ORM…

SpringCloud组件Ribbon的IRule的问题排查

最近很久没有写文章啦,刚好遇到了一个问题,其实问题也挺简单,但是还是得对源码有一定了解才能够发现。 最近在实现一个根据请求流量的标签,将请求转发到对应的节点,其实和俗称的灰度请求有点相似, 实现思…

Redis安装教程

官网地址 地址链接:传送门 安装步骤 这里有更多版本的选择 进去根据自己的需要选择版本,我这里用的7系列的稳定版。

软件企业找第三方软件测评机构做确认测试有什么优势?

软件确认测试是一个在软件开发过程中十分重要的环节。它确保了软件的功能符合预期,达到了用户的需求和期望。确认测试主要验证软件的功能、性能、易用性、稳定性等方面,旨在发现和修复潜在的问题和缺陷。通过进行全面的确认测试,软件企业可以…

操作系统学习笔记--进程与线程

进程 概念 不同的角度有不同的定义 进程是程序的一次执行过程进程是一个程序及其数据在处理机上顺序执行时所发生的活动进程是具有独立功能的程序在一个数据集合上运行的过程,它是系统进行资源分配和调度的一个独立单位 进程:是动态的,是…

Flink-SQL join 优化 -- MiniBatch + local-global

背景 问题1. 近期在开发flink-sql期间,发现数据在启动后,任务总是进行重试,运行一段时间后,container心跳超时,内存溢出,作业无法进行正常工作 023-10-07 14:53:30,408 | INFO | [flink-akka.actor.defa…

关于需要用到暂停的unity游戏

在做游戏的时候,我们经常需要用到Time.timescalse 0;来暂停游戏 但是,我们有些其他的东西,却不想它们被暂停影响了。 例如 1、Dotween 如上图增加一段.SetUpdate(true)即可 2、animator public Animator Ani;public void Firs…

链表(7.27)

3.3 链表的实现 3.3.1头插 原理图: newnode为新创建的节点 实现: //头插 //让新节点指向原来的头指针(节点),即新节点位于开头 newnode->next plist; //再让头指针(节点)指向新节点&#…

【亲测】简易商城小程序源码-易优CMS后台

易优小程序是基于前端开源小程序后端易优CMS标签化API接口, 是一套开源、快速搭建个性化需求的小程序CMS。轻量级TP底层框架,前后端分离, 标签化API接口可对接所有小程序,支持二次开发。即使小白用户也能轻松搭建制作一套完整的线…

90后整顿秦始皇老板

我的日常就像跑步机上急速前行的仓鼠,使劲往前冲,心有余力力有限。 我在一个电商运营公司做策划和写文案,每天总是加不完的班,从来没见过下午六点钟的太阳。 我做文案吗?唉,说实话,我倒觉得大…

C#(Csharp)我的基础教程(二)(我的菜鸟教程笔记)-属性和字段的探究与学习

目录 1、字段字段特点:2、属性属性的特点 1、字段 字段是定义在方法外面的变量,是成员变量,主要是为了类的内部数据交换使用,字段一般是用private修饰,也可以用readonly修饰,表示只读字段,其它…

10月底下架!亚马逊新增5大售前审核品类,提醒这6大站点卖家注意

近期,不少加拿大站、沙特阿拉伯站、埃及站、瑞典站、波兰站以及比利时站卖家陆续收到了亚马逊合规政策要求邮件,包括加拿大站对于“带拉绳的童装”、“水壶”、“玻璃门和围栏”三个品类,沙特阿拉伯、埃及对于“面向婴幼儿的食品”品类&#…

如何在C++项目中用C#运行程序调试C++ DLL

问题描述 在C#项目中调用C DLL时报错或者运行结果不符,此时需要运行C#项目并在C中加入断点进行调试 项目准备 项目一:C#项目(该项目调用C DLL)项目二:C项目(生成C DLL) 这两个项目不需要在同…

BGP服务器租用腾讯云和阿里云价格对比

BGP云服务器像阿里云和腾讯云均是BGP多线网络,速度更快延迟更低,阿里云BGP服务器2核2G3M带宽优惠价格108元一年起,腾讯云BGP服务器2核2G3M带宽95元一年起,阿腾云atengyun.com分享更多云服务器配置如2核4G、4核8G、8核16G等配置价格…

VALSE2023-快速总结

会议快速总结 1. 前言2. 热点词2.1 自监督预训练2.2 MIM(Masked Image Modeling)2.3 MAE(Masked Autoencoders)2.4 clip(Contrastive Language-Image Pre-Training)模型2.5 对比学习2.6 扩散模型(diffustion model)2.7 Nerf&#…

超高速PCIe实时运动控制卡与应用方案将亮相深圳NEPCON,正运动技术邀您前来体验!

助力电子半导体设备加速国产替代导入,正运动超高速PCIe运动控制卡可覆盖电子半导体大部分工艺流程应用,提供高速高精稳定的运动控制解决方案。 ■展会名称: NEPCON ASIA 2023亚洲电子生产设备暨微电子工业展(以下简称“2023亚洲…

c#设计模式-行为型模式 之 中介者模式

🚀简介 又叫调停模式,定义一个中介角色来封装一系列对象之间的交互,使原有对象之间的耦合松散,且可以独立地改变它们之间的交互。 从下右图中可以看到,任何一个类的变 动,只会影响的类本身,以及…

TikTok震撼全球!用户来自何方?

TikTok(抖音国际版)作为一款风靡全球的短视频应用,正以惊人的速度改变着人们的娱乐方式、社交习惯和消费行为。它汇聚了来自不同地域、不同文化背景的用户,形成了一个庞大而多样化的社区。 这个社区的形成和发展,让我…

TikTok Shop:年轻一代购物革命的未来之旅

随着社交媒体的不断崛起,我们的生活方式也在发生深刻的变革。在这个数字化时代,年轻一代的文化和消费习惯正在不断演变,而TikTok Shop正是这场购物革命的先锋。 一、TikTok Shop的崛起 TikTok Shop是TikTok平台上的一项新功能,旨在…