KaliLinux2025系统从部署到使用OpenVAS,超详细!

KaliLinux2025系统从部署到使用OpenVAS,超详细!
环境介绍: 本环境为实验环境,采用的是VMWare17.5.2实现虚拟化。本文虚拟机的IP为10.0.0.110,做了静态IP。

一、安装KaliLinux2025

点我跳转官网下载地址owo

选择Virtual Machines

点击下载即可

下载会是一个压缩包

解压之后找到对应目录的vmx文件即可。

点击vmx文件会自动跳转到VM: kali-linux-2025.2-vmware-amd64.vmx

直接在VMWare点击开机即可,等待开机结束。输入密码进入机器。

kalilinux2025-2初始化默认用户名为: kali 密码为: kali

到此安装结束。

二、优化系统

1. 找到cmd命令行设置root账户

 我这里已经设置过root密码了,kaliLinux2025是基于Debian的操作系统,切换root的方式一样的,直接passwd设置root密码即可。然后su - 切换。

 2. 设置允许root用户登录支持远程密码

┌──(root㉿kali)-[~] └─# grep -E '^PermitRootLogin|^PasswordAuthentication' /etc/ssh/sshd_config PasswordAuthentication yes PermitRootLogin yes 

保存之后重启服务即可

┌──(root?kali)-[~] └─# service ssh restart #状态为active ┌──(root㉿kali)-[~] └─# service ssh status ● ssh.service - OpenBSD Secure Shell server Loaded: loaded (/usr/lib/systemd/system/ssh.service; enabled; preset: disabled) Active: active (running) since Wed 2025-07-02 15:25:15 CST; 15s ago Invocation: fe9d9a5d89a74b42aea21238178fc537 Docs: man:sshd(8) man:sshd_config(5) 设置开机自启动 ┌──(root㉿kali)-[~] └─# systemctl enable ssh 

3. 使用终端工具连接即可

到此优化完成。

4. 配置静态IP地址

┌──(root?kali)-[~] └─# cat /etc/network/interfaces # This file describes the network interfaces available on your system # and how to activate them. For more information, see interfaces(5). source /etc/network/interfaces.d/* # The loopback network interface auto lo iface lo inet loopback auto eth0 iface eth0 inet static address 10.0.0.110 netmask 255.255.255.0 gateway 10.0.0.2 dns-nameservers 223.5.5.5 114.114.114.114 

5. 配置dns配置文件

┌──(root㉿kali)-[~] └─# cat /etc/resolv.conf nameserver 223.5.5.5 ┌──(root㉿kali)-[~] 

6.重启并测试网络

┌──(root㉿kali)-[~] └─# systemctl restart networking.service ┌──(root㉿kali)-[~] └─# ping -c2 -W1 www.baidu.com PING www.a.shifen.com (180.101.51.73) 56(84) bytes of data. 64 bytes from 180.101.51.73: icmp_seq=1 ttl=128 time=10.0 ms 64 bytes from 180.101.51.73: icmp_seq=2 ttl=128 time=11.1 ms --- www.a.shifen.com ping statistics --- 2 packets transmitted, 2 received, 0% packet loss, time 5034ms rtt min/avg/max/mdev = 10.045/10.585/11.126/0.540 ms 搞定

7. 修改源仓库为中科大的kali源

本人亲测,中科大够快!
┌──(root?kali)-[~] └─# cat /etc/apt/sources.list # See https://www.kali.org/docs/general-use/kali-linux-sources-list-repositories/ #deb http://http.kali.org/kali kali-rolling main contrib non-free non-free-firmware deb http://mirrors.ustc.edu.cn/kali kali-rolling main non-free contrib deb-src http://mirrors.ustc.edu.cn/kali kali-rolling main non-free contrib # Additional line for source packages # deb-src http://http.kali.org/kali kali-rolling main contrib non-free non-free-firmware 

更新源仓库

┌──(root㉿kali)-[~] └─# apt update && apt upgrade -y

三、安装OpenVAS (GVM)

1. 安装gvm

Kali Linux官方仓库中已经包含了GVM(OpenVAS)的安装包。可以通过以下命令安装:

apt install gvm -y 

 2.初始化gvm

gvm-setup
gvm-check-setup
 初始化时间有点长,请耐心等待。两条命令执行完成之后会自动帮我们启动gvm服务。

3. 升级漏洞规则库

这里我们需要先停止gvm服务然后再升级 
gvm-stop

 然后执行升级命令去同步规则

greenbone-feed-sync

4. 放开端口,允许远程访问web

只需要修改/usr/lib/systemd/system/gsad.service文件的启动项即可,把监听端口修改为0.0.0.0,因为我们在安装和初始化的时候默认给我们分配了证书,所以我直接把默认端口修改为了https的443端口,这样就不用在默认的URL后面再加上端口号了。



注意!注意!可以不修改默认端口号,gsad的默认端口为: 9392
┌──(root㉿kali)-[~] └─# grep 'ExecStart' /usr/lib/systemd/system/gsad.service ExecStart=/usr/sbin/gsad --foreground --listen 0.0.0.0 --port 443 

重启gsad服务使其生效

┌──(root㉿kali)-[~] └─# systemctl daemon-reload && systemctl restart gsad.service 

5.设置开机自启

┌──(root㉿kali)-[~] └─# systemctl enable notus-scanner gvmd ospd-openvas gsad Created symlink '/etc/systemd/system/multi-user.target.wants/notus-scanner.service' → '/usr/lib/systemd/system/notus-scanner.service'. Created symlink '/etc/systemd/system/multi-user.target.wants/gvmd.service' → '/usr/lib/systemd/system/gvmd.service'. Created symlink '/etc/systemd/system/multi-user.target.wants/ospd-openvas.service' → '/usr/lib/systemd/system/ospd-openvas.service'. Created symlink '/etc/systemd/system/greenbone-security-assistant.service' → '/usr/lib/systemd/system/gsad.service'. Created symlink '/etc/systemd/system/multi-user.target.wants/gsad.service' → '/usr/lib/systemd/system/gsad.service'. 

6. 访问WebUI

7. 设置登录密码

这里的默认用户名为admin,密码的话在我们初始化的时候会生成一串密码,我懒得找了,直接重置一下即可。 
┌──(root㉿kali)-[~] └─# sudo -E -u _gvm gvmd --user=admin --new-password=123456 

 输入了用户名admin,密码123456之后可以登录进去

8. 总结一下用到的命令

sudo apt-get install gvm 安装gvm sudo gvm-setup 初始化gvm sudo gvm-check-setup 检查openvas 是否安装成功 sudo gvm-feed-update 升级漏洞库 sudo gvm-start 启动openvas sudo gvm-stop 停止openvas sudo -E -u _gvm gvmd --user=admin --new-password=123456 修改web账号admin密码为123456

 9. 设置中文

cd /usr/share/gvm/gsad/web/locales cp gsa-zh_CN.json gsa-en.json 

四、简单使用OpenVAS

1. 新建任务

2. 新建扫描目标

3. 设置扫描主机

按照自己口味挑选即可  

4. 等待扫描完成

Read more

你真的理解Java SPI吗?从源码到实战的深度思考 [特殊字符]

你真的理解Java SPI吗?从源码到实战的深度思考 [特殊字符]

目录 * 前言:重新认识SPI * 核心思考一:SPI的本质是什么? * 核心思考二:ServiceLoader的优与劣 * 核心思考三:Dubbo如何优化SPI? * 核心思考四:实战中的坑与最佳实践 * 总结与后续计划 前言:重新认识SPI 这篇文章《Java SPI机制初探》来自得物技术团队,系统介绍了Java SPI的概念、原理以及在JDBC、Spring、Dubbo等框架中的应用。文章从SPI的基础概念出发,深入分析了ServiceLoader的源码实现,并结合实际场景讲解了SPI的优缺点和解决方案。 说实话,SPI这个名词一直出现在我耳边,但从未真正了解过。这次正好借着这篇文章来学习一下,看看和自己印象中的是否一致。看完之后,发现SPI其实没有我想象中那么复杂,但背后的设计思想确实值得深入思考。 核心思考一:SPI的本质是什么? API vs SPI:控制权的反转 文章开篇就对比了API和SPI的区别,这个对比让我对SPI有了更清晰的认识: * API:接口实现方同时负责接口定义和接口实现,接口控制权在服务提供方 * SPI:服务调用方负

By Ne0inhk
Java外功基础(1)——Spring Web MVC

Java外功基础(1)——Spring Web MVC

1.前置知识 1.1 Tomcat 定义:Tomcat是一个开源的轻量级Web(Http)服务器和Servlet容器。它实现了Java Servlet等Java EE规范的核心功能,常用于部署和运行Java Web应用程序 。换言之,Tomcat就是一个严格遵循Servlet规范开发出来的、可以独立安装和运行的Java Web服务器/Servlet容器核心功能:Servlet容器:支持Servlet的执行,处理HTTP请求和响应Web服务器:提供静态资源(如HTML)的访问能力,支持基本的HTTP服务安装与版本对应: tomcat官网:Apache Tomcat®目录结构:bin:存放可执行文件,如startup.batconf:存放配置文件lib:存放Tomcat运行所需的jar文件logs:存储日志文件temp:存放临时文件,如上传的文件或缓存数据webapps:默认web应用部署目录work:服务器的工作目录,存放运行时生成的临时文件(编译文件) 1.2 Servlet 1.2.1 定义

By Ne0inhk
Java 大视界 -- Java 大数据机器学习模型在自然语言处理中的少样本学习与迁移学习融合

Java 大视界 -- Java 大数据机器学习模型在自然语言处理中的少样本学习与迁移学习融合

Java 大视界 -- Java 大数据机器学习模型在自然语言处理中的少样本学习与迁移学习融合 * 引言:从虚拟偶像情感计算到语言智能的 “显微镜” 革命 * 正文:从理论架构到工业落地的全链条创新 * 一、NLP 领域的 “数据贫困” 困境与破局逻辑 * 1.1 少样本场景的核心挑战 * 1.2 Java 大数据的 “三维穿透” 技术架构 * 二、工业级融合模型的技术实现与代码解析 * 2.1 预训练模型迁移优化(BERT 医疗领域深度微调) * 2.2 原型网络(Prototypical Network)少样本分类 * 三、实战案例:从医疗语义分析到跨境电商智能客服 * 3.1 医疗场景:罕见病实体识别的 “样本逆袭” * 3.2 跨境电商:阿拉伯语商品类目分类的

By Ne0inhk
【C++笔记】STL详解:vector容器的实现

【C++笔记】STL详解:vector容器的实现

前言:         在学习了vector类的基本使用的前提下,本文将重点分析vector类的常用接口及其应用实现。          一、vector成员变量          vector本质上是一个动态数组,通过原生指针来实现底层维护,为了使得STL接口调用的统一性,我们需要将原生指针重命名为迭代器。          其核心目的是:将数据结构(容器)与操作(算法)分离,并通过一种统一的接口(迭代器)将它们粘合在一起。          成员变量分析 template <class T> class vector { public: // 将原生指针重命名为迭代器,实现接口统一 typedef T* iterator; typedef const T* const_iterator; private: iterator _start; // 指向目前使用空间的头 iterator _finish; // 指向目前使用空间的尾 iterator _end_of_storage; // 指向目前可用空间的尾 };          成员变量分析:

By Ne0inhk