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/目录下新建一个文件
[sudo] kali 的密码://必要时,验证用户kali的口令
┌──(kali㉿kali)-[~]
└─$ sudo  ls -lh  /root/a.file       //确认在管理员主目录下成功创建的文件
-rw-r--r-- 1 root root 0 112419:00 /root/a.file

- 或者,也可以执行sudo  -i 切换为管理员环境

┌──(kali㉿kali)-[~]
└─$ sudo  -i             //进入交互式命令行环境
┌──(root㉿kali)-[~]
└─#                     //确认当前已经为root(看到#提示符)
- 如果确实想修改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)-[~]
└─# apt-get  update           //更新软件源
.. ..
┌──(root㉿kali)-[~]
└─# apt-get  upgrade          //升级所有软件包
.. ..

4)安装中文输入法

┌──(root㉿kali)-[~]
└─# apt-get  -y  install  ibus  ibus-pinyin    //安装中文输入法软件包
┌──(root㉿kali)-[~]
└─# reboot           //重启系统,即可在桌面环境输入中文(可以按Shift键切换中/英文)

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)-[~]
└─# apt-get  -y  isntall gvm          //安装gvm相关软件
.. ..
┌──(root㉿kali)-[~]
└─# systemctl enable --now gvmd       //启用GVM服务端
.. ..

 

2. 准备PostgreSQL 15数据库、Redis数据库,为GVM提供依赖支持

1)更新PostgreSQL版本

┌──(root㉿kali)-[~]
└─# apt-get  -y  remove postgresql-14        //卸载原来的14版本
.. ..
┌──(root㉿kali)-[~]
└─# apt-get  -y  install postgresql-15        //安装新的15版本
.. ..
┌──(root㉿kali)-[~]
└─# pg_upgradecluster 14 stop                 //停用14集群
┌──(root㉿kali)-[~]
└─# pg_upgradecluster 15 main                 //设置15集群
┌──(root㉿kali)-[~]
└─# vim /etc/postgresql/15/main/postgresql.conf
.. ..
port = 5432              //把原来的5433改成5432(要不后面GVM找不到数据库)
.. ..

2)启用PostgreSQL数据库、启用Redis数据库

┌──(root㉿kali)-[~]
└─# systemctl  enable --now  postgresql@15-main.service         //启用postgresql数据库
.. ..
┌──(root㉿kali)-[~]
└─# systemctl  enable  --now redis-server@openvas.service       //启用redis数据库
.. ..

 

3. GVM设置、检查GVM设置、GVM漏洞库升级

1)GVM设置+密码,这一步需要较长时间(大约10~30分钟)

┌──(root㉿kali)-[~]
└─# gvm-setup
[>] Starting
PostgreSQL service
[>] Creating GVM's certificate files
[>] Creating PostgreSQL database
.. ..
[*] Updating GVMD Data Greenbone community
feed server - http://feed.community.greenbone.net/
This service is hosted by Greenbone Networks - http://www.greenbone.net/
.. ..
[*] Updating Scap Data Greenbone community feed server - http://feed.community.greenbone.net/
This service is hosted by Greenbone Networks - http://www.greenbone.net/
.. ..
[*] Updating Cert Data Greenbone community feed server - http://feed.community.greenbone.net/
This service is hosted by Greenbone Networks - http://www.greenbone.net/
.. ..
[+] GVM feeds updated 
[*] Checking Default scanner
08b69003-5fc2-4037-a479-93b440211c73 OpenVAS /run/ospd/ospd.sock  0  OpenVAS Default
.. ..
[+] Done
[i] Admin user already exists for GVM

[i] If you have forgotten it, you can change it. See gvmd manpage for more information

[>] You can now run gvm-check-setup to make sure everything is correctly configured

┌──(root㉿kali)-[~]

└─# runuser -u _gvm -- gvmd --user=admin  --new-password=123456      //设置Web管理密码

┌──(root㉿kali)-[~]
└─#

常见故障:数据库版本差异报错

[-] ERROR: The
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)-[~]
└─# gvm-feed-update
[>] Updating GVM
feeds
[*] Updating NVT
(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)-[~]
└─# systemctl  enable  --now  greenbone-security-assistant.service    //启用GSA绿骨助手服务

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”,可以查看详细的结果信息。

图片

以及更有针对性的漏洞/弱点分析,其中包含了风险摘要、评级、提示、检测方法、受影响系统、建议的排除风险的方法。

 

图片

 

阅读 219
文章已于2022-11-25修改
 
posted @   往事已成昨天  阅读(2119)  评论(1编辑  收藏  举报
相关博文:
阅读排行:
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 清华大学推出第四讲使用 DeepSeek + DeepResearch 让科研像聊天一样简单!
· 实操Deepseek接入个人知识库
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
点击右上角即可分享
微信分享提示