kali漏洞扫描
kali2022+GVM漏洞管理系统
这里所说的GVM(Greenbone Vulnerability Management,绿骨头漏洞管理),其前身为OpenVAS(Open Vulnerability Assessment System,开放式漏洞评估系统)。
-
1998年,Renaud创建了Nessus,这个全世界广泛使用的漏洞扫描与分析软件。
-
2002年,Renaud与伙伴一起成立了Tenable Network Security公司。
-
2005年,Tenable公司将Nessus第三版改为闭源,希望通过投入时间和资源来改进解决方案,并创造一个专业的商业产品。
-
2006年,Nessus的一个开源分支被重新命名为OpenVAS。
-
2008年,由Greenbone公司开发并推动OpenVAS提供检查服务。
-
2017年,Greenbone将OpenVAS框架改为Greenbone漏洞管理(GVM),并将OpenVAS扫描器改为其中一个模块。
一、部署kali2022工作站环境 |
1.安装kali2022操作系统
-
访问http://kali.org/,下载 kali-linux-2022.3-installer-amd64.iso镜像文件
-
制作启动U盘,或者虚拟机环境直接从ISO引导,选择“Graphical”图形化安装”
-
安装过程中,注意设置好管理用户/口令(比如kali/kali)
-
其他设置根据提示完成,重启后以用户kali登入系统
2. kali2022初始化配置
1)执行管理任务
- 装系统时指定的用户kali就是管理员,如果需要提权,只要在命令前添加sudo即可
┌──(kali㉿kali)-[~]
└─$ sudo touch /root/a.file //提权操作,在/root/目录下新建一个文件
[
┌──(kali㉿kali)-[~]
└─$ sudo ls -lh /root/a.file //确认在管理员主目录下成功创建的文件
-rw-r--r-- 1 root root 0 11月24日 19:00 /root/a.file
- 或者,也可以执行sudo -i 切换为管理员环境
┌──(kali㉿kali)-[~]
└─$ sudo -i //进入交互式命令行环境
┌──(root㉿kali)-[~]
└─
- 如果确实想修改root用户的口令,可以执行sudo passwd root
┌──(kali㉿kali)-[~]
└─$ sudo passwd root //提权设置管理员root的口令
新的密码:
重新输入新的密码:
passwd:已成功更新密码 //设置成功
2)设置网络连接参数
- 从桌面终端中执行nmtui 命令可打开交互配置程序,根据需要设置
- 或者,直接参考下列命令行操作,配置静态地址+激活连接
┌──(root㉿kali)-[~]
└─# nmcli connection modify "Wired connection
1" ipv4.method manual ipv4.addresses IP地址/掩码长度 ipv4.gateway 默认网关地址 ipv4.dns DNS服务器地址
┌──(root㉿kali)-[~]
└─# nmcli connection up "Wired connection 1"
3)更新软件源,升级软件包
┌──(root㉿kali)-[~]
└─
.. ..
┌──(root㉿kali)-[~]
└─
.. ..
4)安装中文输入法
┌──(root㉿kali)-[~]
└─
┌──(root㉿kali)-[~]
└─
5)启用SSH服务端,方便远程控制
┌──(root㉿kali)-[~]
└─# systemctl enable --now ssh //启用ssh远程控制服务
Synchronizing state
of ssh.service with SysV service script with /lib/systemd/systemd-sysv-install.
Executing:
/lib/systemd/systemd-sysv-install enable ssh
二、部署GVM(OpenVAS)漏洞扫描系统 |
1.安装、启用GVM服务
┌──(root㉿kali)-[~]
└─
.. ..
┌──(root㉿kali)-[~]
└─
.. ..
2. 准备PostgreSQL 15数据库、Redis数据库,为GVM提供依赖支持
1)更新PostgreSQL版本
┌──(root㉿kali)-[~]
└─
.. ..
┌──(root㉿kali)-[~]
└─
.. ..
┌──(root㉿kali)-[~]
└─# pg_upgradecluster 14 stop //停用14集群
┌──(root㉿kali)-[~]
└─# pg_upgradecluster 15 main //设置15集群
┌──(root㉿kali)-[~]
└─
.. ..
port = 5432 //把原来的5433改成5432(要不后面GVM找不到数据库)
.. ..
2)启用PostgreSQL数据库、启用Redis数据库
┌──(root㉿kali)-[~]
└─
.. ..
┌──(root㉿kali)-[~]
└─
.. ..
3. GVM设置、检查GVM设置、GVM漏洞库升级
1)GVM设置+密码,这一步需要较长时间(大约10~30分钟)
┌──(root㉿kali)-[~]
PostgreSQL service
[>] Creating GVM's certificate files
[>] Creating PostgreSQL database
[*] Updating GVMD Data Greenbone community
feed server - http://feed.community.greenbone.net/
[*] Checking Default scanner
┌──(root㉿kali)-[~]
┌──(root㉿kali)-[~]
└─#
常见故障:数据库版本差异报错
[
default PostgreSQL version (14) is not 15 that is required by libgvmd
[-] ERROR: Use
pg_upgradecluster to update your PostgreSQL cluster
注意将PostgreSQL数据库升级到15,并将端口5233修改为5232。
2)检查GVM设置,若有报错请参考提示排错(个别WARNING可以忽略)
┌──(root㉿kali)-[~]
└─# gvm-check-setup
gvm-check-setup
22.4.0
Test completeness and readiness of GVM-22.4.0
Step 1: Checking OpenVAS (Scanner)...
OK: OpenVAS Scanner is present in version 22.4.0.
OK: Notus Scanner is present in version 22.4.1.
OK: Server CA Certificate is present as /var/lib/gvm/CA/servercert.pem.
Checking permissions of /var/lib/openvas/gnupg/*
OK: _gvm owns all files in /var/lib/openvas/gnupg
OK: redis-server is present.
.. ..
Step 8: Checking few other requirements...
OK: nmap is present in version 22.04.0~git.
OK: ssh-keygen found, LSC credential generation for GNU/Linux targets is likely to work.
WARNING: Could not find makensis binary, LSC credential package generation for Microsoft Windows targets willnot work.
SUGGEST: Install nsis.
OK: xsltproc found.
WARNING: Your password policy is empty.
SUGGEST: Edit the /etc/gvm/pwpolicy.conf file to set a password policy.
It seems like your GVM-22.4.0 installation is OK.
┌──(root㉿kali)-[~]
└─#
3)GVM漏洞库升级,考虑到网络原因,建议多升级几次(到升无可升为止)
┌──(root㉿kali)-[~]
└─
[
feeds
[
(Network Vulnerability Tests feed from Greenbone Security Feed/Community Feed)
Greenbone community
feed server - http://feed.community.greenbone.net/
This service is
hosted by Greenbone Networks - http://www.greenbone.net/
.. ..
By using this
service you agree to our terms and conditions.
Only one sync per
time, otherwise the source ip will be temporarily blocked.
receiving
incremental file list
timestamp
13 100% 12.70kB/s 0:00:00 (xfr#1, to-chk=0/1)
sent 71 bytes received 111 bytes 33.09 bytes/sec
total size is
13 speedup is 0.07
[+] GVM feeds
updated
┌──(root㉿kali)-[~]
└─#
4. 启用GVM网页控制台
1)调整web监听地址(如果需要从别的机器访问的话)
┌──(root㉿kali)-[~]
└─# vim /lib/systemd/system/greenbone-security-assistant.service
.. ..
ExecStart=/usr/sbin/gsad
--listen 0.0.0.0 --port 9392
.. ..
2)启用green-bone-assistant绿骨助手
┌──(root㉿kali)-[~]
└─
3)浏览器访问Greenbone绿骨助手网页(https://服务器地址:9392/)
使用管理员admin可登录,后续可以根据需要从Web界面添加其他扫描用户。
或者也可以从命令行添加扫描用户。
┌──(root㉿kali)-[~]
└─# runuser -u _gvm -- gvmd --create-user=scan001 --password=123456
User created.
三、执行漏洞扫描 |
1.检查仪表板(Dashboard)
登入Greebone网页控制台后,默认界面即为仪表板,可以查看概要信息。
2.检查扫描配置/类型(Scan Configs)
通过页面菜单“Configuration”-->“Scan Configs”,可以管理扫描类型。
常见故障:扫描配置栏没有任何配置
这里的几个Scan Config是自动同步获取的,如果栏目下为空,说明GVM部署过程没有成功同步到有效的扫描配置。可以检查前面的gdm-setup、gdm-check-setup、gdm-feed-update操作,必要时建议多同步几次。
3.配置扫描目标(Targets)
通过页面菜单“Configuration”-->“Targets”,可以管理需要扫描的目标主机、网段。
单击“方框+五角星”按钮可以添加自己的扫描目标,自行指定目标名称、目标地址和扫描类型。
4.配置扫描任务(Tasks)
通过页面菜单“Scans”-->“Tasks”,可以管理需要执行的扫描任务。
单击“方框+五角星”按钮可以添加自己的扫描任务,自行指定任务名称,选择扫描目标、类型。
5.执行扫描任务(Tasks)
通过页面菜单“Scans”-->“Tasks”,找到列表中的任务,单击右侧的播放按钮,接口执行扫描。
扫描过程中,可以观察“Status”状态标识(Request、Queud、Done等)。
6.查看扫描报告(Reports)
通过页面菜单“Scans”-->“Reports”,可以找到扫描报告页面;或者在执行扫描任务时,单击“Reports”下方的数字也可以打开当前任务的报告页。根据需要选择其中的某一份来查看(Severity处显示Error的是目标已关机的)。
单击报告左侧的日期,就可以看到详细的报告页面了,按需选择。
7.漏洞+弱点分析
通过页面菜单“Scans”-->“Results”,或者“Scans”-->“Vulnerabilities”,可以查看详细的结果信息。
以及更有针对性的漏洞/弱点分析,其中包含了风险摘要、评级、提示、检测方法、受影响系统、建议的排除风险的方法。