第002文-kali虚拟机安全与网络配置
1、kali系统介绍
kali是一个基于Linux kernel的操作系统,由BackTrack(简称BT)发展而来。BackTrack是2006年推出的一个用于渗透测试及黑客攻防的专用平台,基于Knoppix(linux的一个发行版)开发。BackTrack版本周期:2006年的起始版本BackTrack v.1.0 Beta到2012年的最终版本BackTrack 5 R3 release。2013年后Offensive Security的Mati Aharoni和Devon Kearns基于Debian重新实现了BackTrack,新的产品命名为kali,成为新的替代品和后继者。
2、kali主要特性
- 基于Debian的Linux发行版
- 预装了大量的安全工具
- 永久免费
- 支持大量的无线设备
- 系统自身是安全的
3、kali自带功能
kali是一个面向安全的基于Debian的linux发行版,预装了大量的安全软件。主要包含3个功能:数字取证、安全审计和渗透测试,后面会详细学习。
4、渗透测试介绍
-
定义
渗透测试是kali系统最主要的功能,通过模拟恶意黑客的攻击方法,来评估计算机网络系统安全的一种评估方法。
-
三种方式
墨盒测试、白盒测试、灰盒测试。
-
两个主要特点
- 是一个渐进的并且逐步深入的过程
- 是选择不影响业务系统正常运行的攻击方法进行的测试
-
渗透方式对应工具
信息收集:Nmap、Dnsenum、Amap、Webscrab、Recon-NC。
漏洞扫描:Nessus、OpenVAS。
漏洞利用:Metasploit、w3af。
密码攻击:Hydra、Ettercap、Msfconsole、DirBuster、WebSlayer。
权限提升:Metperter、SET。
无线网络渗透:kismet、aircrack-NG、Gerix WIFI Cracker。
5、在vmware中安装kali虚拟机
kali的官网地址是:Kali Linux | Penetration Testing and Ethical Hacking Linux Distribution
kali下载页面地址是:Get Kali | Kali Linux
在这里我们下载早期的2024.2版本的安装镜像(iso文件)。下载完成后,接下来打开vmware安装虚拟机。
点击创建虚拟机,选择典型,下一步:

选择稍后安装操作系统,点击下一步:

客户机操作系统选择Linux,版本选择下拉列表中,Debian开头的最新的版本,

点击下一步,虚拟机名称可以根据自己的爱好写,比如kali,安装位置可以选择一个容量充足的磁盘,然后点击下一步:

磁盘大小建议写60G以上,下面的选择存储为单个文件,然后点击下一步:

点击自定义硬件按钮,内容大小设置为4G,处理器选择数量1,内核2个(不要超过自己电脑的核心数),新CD/DVD选择使用ISO镜像文件,

网络适配器这一项选择桥接模式,

然后点击下面的关闭,接下来点击完成,这与虚拟机的配置就算是完成了。接下来点击开启虚拟机,进行启动配置:

可以看到虚拟机开始启动了,出现了如下页面:

鼠标点进去,选择第一个,图形化安装,然后按回车。接下来是语言选择页面:

选择中文简体,然后点击继续(continue)按钮,

接下来选择位置,这里选择中国,然后点击继续,


接下来配置键盘,选择美式英语键盘,然后继续:

接下来就会出现开始安装介质的进度条,耐心等待即可。等一会会出现配置网络页面,写上主机名字即可:

接下来配置域名,一般在内网不需要域名,所以随便写即可,这里写kali:

接下来是设置一个新的用户名密码,我们知道,Linux系统的最大权限的用户是root,这里只是创建一个普通的用户名,可以根据自己的习惯写,这里写kali,


点击继续,配置密码,正式环境需要写复杂的密码,并且定期更换,这里内网使用,写个简单的即可,比如密码就是英文单词password,写好以后点击继续,又会出现安装进度条,等待一会。
下面出现的配置是对磁盘进行分区的选择,选择默认的,使用整个磁盘,然后继续:



点击继续,接下来选择完成操作并写入磁盘,点击继续,

选择是,继续,要将改动写入磁盘选择是,继续,

开始进度条,等待一会。接下来软件选择,默认就行,

点击继续,继续等待进度。
这次等待时间会比较长,完成后出现的配置是安装GRUB引导器,选择是,

点击继续,目前安装的时候就一个盘,所以接下来选择唯一的一个就行,

点击继续,继续等待一会。接下来出现安装完成,点击继续,

接下来会看到一个短暂重启的过程,重启完成后,就能看到系统的登录页面,

到此为止系统安装就算初步完成了。接下来输入账号 kali/password 就能登录进系统。

然后点击左上角的黑色小框,就能打开命令行工具,


注意,快捷键 ctrl加上shift键加上加号(+)可以放大命令行工具字符大小。
6、给root用户设置密码
首先在命令行中,设置root用户的密码,

先输入一遍kali用户的密码,再输入两遍root用户的新密码,就设置成功了。

这里为了好记,把root密码也设置成了password。
切换到root用户的命令是:
su - root
然后输入一遍密码即可。
切换到kali用户直接使用
su - kali
即可,由root切换到其他普通用户都不用输入密码。
输入reboot可以重启系统。后期登录为了权限大,方便,可以都使用root登录。注意尽量直接用root登录,别去登录后再切换成root。
7、设置kali系统语言为中文
目前从桌面可以看到,kali系统的默认语言是英语,下面开始设置为中文。
打开命令行,输入 dpkg-reconfigure locales ,

输入命令成功后,回车,会看到打开了一个语言包选择,我们选择列表最下面的中文,

然后选中ok,回车即可。在下一个页面选择中文语言包,再次点击ok,

回车,然后界面就完成关闭了,命令行也可以看到成功的提示,

再次reboot重启系统,登录进去后可以看到提示,

选择更新名称,就可以看到菜单图标名字之类的都变成中文了,

开始菜单也都成中文的了,

8、设置apt源(软件仓库地址)
apt源默认的是国外官方的原,有时候很慢,还会报错。这里我们设置成中科大的源。
首先编辑原配置文件,

把文件里面原来的源配置注释掉,加上新的源地址配置,

文本如下:
deb https://mirrors.ustc.edu.cn/kali kali-last-snapshot main non-free non-free-firmware contrib
deb-src https://mirrors.ustc.edu.cn/kali kali-last-snapshot main non-free non-free-firmware contrib
保存退出,执行apt update 验证一下,

上面结果说明已经设置apt源成功了。
9、kali网络配置
首先执行命令,停止一个服务 NetworkManager,注意大小写,

接下来修改配置文件,

在修改网络配置文件前,先看一下目前kali系统自动分配的网络ip,

可以看到目前的ip是192.168.3.75,我们目标是给kali设置成一个静态ip,例如192.168.3.76,

配置好了以后,保存退出,重启网络,

重启了来看一下新的ip信息,

可以看到ip改成76了,注意如果重启一次networking没生效可以多重启几次。
10、使用xshell远程连接kali
目前的kali是无法使用xshell进行远程连接的,需要开启远程服务。首先编辑配置文件,

进入文件后找到一个配置
PermitRootLogin prohibit-password
这个默认是注释掉的,我们把注释去掉,并把内容改为:
PermitRootLogin yes
意思是允许进行远程连接登录,

接下来重启ssh服务

设置ssh开机自启动:

接下来就能用xshell连接kali了,

相关文章:
第002文-kali虚拟机安全与网络配置
1、kali系统介绍 kali是一个基于Linux kernel的操作系统,由BackTrack(简称BT)发展而来。BackTrack是2006年推出的一个用于渗透测试及黑客攻防的专用平台,基于Knoppix(linux的一个发行版)开发。BackTrack版本周期:2006年的起始版本BackTrack …...
软件工程复试专业课-软件生命周期
文章目录 软件过程模型瀑布模型模型图特点优缺点改进后的瀑布模型 快速原型模型模型图优缺点 增量模型(迭代-递增模型)原型图与瀑布和快速原型的区别优缺点风险更大的增量模型 螺旋模型简介模型图优缺点 喷泉模型模型图优缺点 编码修补模型敏捷过程优缺点…...
DILLEMA:扩散模型+大语言模型,多模态数据增强框架
引言:深度学习模型的鲁棒性测试需要全面且多样化的测试数据。现有的方法通常基于简单的数据增强技术或生成对抗网络,但这些方法在生成真实且多样化的测试数据集方面存在局限性。为了克服这些限制,DILLEMA框架应运而生,旨在通过结合…...
OpenBMC:BmcWeb app获取socket
OpenBMC:BmcWeb app.run-CSDN博客 app对象在run函数中调用了setupSocket() static std::vector<Acceptor> setupSocket() {std::vector<Acceptor> acceptors;char** names = nullptr;int listenFdCount = sd_listen_fds_with_names(0, &names);BMCWEB_LOG_DE…...
突破加速度计的精度与量程瓶颈:HEROS-GAN技术
在当今科技飞速发展的背景下,低成本传感器的应用范围日益扩大。然而,低成本加速度计由于其固有的限制——如信号噪声显著和动态范围狭窄——往往难以满足高精度应用场景的需求。哈尔滨工业大学的研究团队最近提出了一项名为HEROS-GAN(Honed-E…...
C++程序员内功修炼——Linux C/C++编程技术汇总
在软件开发的宏大版图中,C 语言宛如一座巍峨的高山,吸引着无数开发者攀登探索。而 Linux 操作系统,以其开源、稳定、高效的特性,成为了众多开发者钟爱的开发平台。将 C 与 Linux 相结合,就如同为开发者配备了一把无坚不…...
苍穹外卖-阿里云OSS文件上传
苍穹外卖-阿里云OSS文件上传 一、阿里云OSS简介**获取AccessKey**获取enpoint 二、代码实现1 引入依赖2 定义OSS相关配置2.1 application-dev.yml2.2 application.yml 3 读取OSS配置3.1 AliOssProperties 4 生成OSS工具类对象4.1 AliOssUtil4.2 OssConfiguration2.5 CommonCont…...
C# 中 Array、ArrayList 和 List 的比较
C# 中 Array、ArrayList 和 List 的比较 在 C# 中,Array、ArrayList 和 List<T> 都用于存储和管理数据集合,但它们在类型安全性、性能、灵活性和使用场景上存在显著差异。以下是对这三种集合的详细比较: 1. 概述 特性ArrayArrayList…...
DeepSeek 提示词:常见指令类型
🧑 博主简介:CSDN博客专家,历代文学网(PC端可以访问:https://literature.sinhy.com/#/?__c1000,移动端可微信小程序搜索“历代文学”)总架构师,15年工作经验,精通Java编…...
商业AI模型新篇章:Granite 3.2引领行业创新
摘要 Granite 3.2 是一款专为商业环境设计的人工智能模型,旨在提高AI驱动应用的信任度和可扩展性。该模型从零开始构建,采用最新的密集型架构,支持12种语言,覆盖11个不同领域。通过其先进的技术,Granite 3.2 不仅增强了…...
Spring boot中的@ConfigurationProperties注解
Spring boot中的ConfigurationProperties注解 ConfigurationProperties 是 Spring Boot 提供的一个强大注解,用于将配置文件(如 application.properties 或 application.yml)中的配置绑定到一个 Java 对象中。它不仅简化了配置管理ÿ…...
Rust中的异步编程:构建简单的网页爬虫
一、什么是Rust中的Futures和Async? 在Rust中,异步编程基于future(未来)的概念。一个future表示一个当前可能不可用,但将来某个时候可以获得的值。Rust中的Future特征定义了这一概念,任何实现了该特征的类…...
springai系列(二)从0开始搭建和接入azure-openai实现智能问答
文章目录 前言1.从0开始搭建项目2.进入微软openai申请key3.配置application.yaml4.编写controller5.测试源码下载地址总结 前言 之前使用openai的官网的api需要科学上网,但是我们可以使用其他的代理间接实现使用chatgpt的相关模型,解决这个问题。比如:本…...
flutter 局部刷新控件Selector源码实现原理
Flutter 中的 Selector 组件是 provider 包提供的一个优化工具,用于在状态管理中仅选择所需数据片段,避免不必要的 Widget 重建。其实现原理基于以下几个关键点: 1. 核心设计目标 选择性重建:仅当特定数据变化时触发 Widget 重建&…...
Eclipse 编译项目指南
Eclipse 编译项目指南 引言 Eclipse 是一款功能强大的集成开发环境(IDE),广泛用于Java、C/C、Python等多种编程语言的开发。在Eclipse中编译项目是进行软件开发的基础步骤。本文将详细介绍如何在Eclipse中编译项目,包括项目设置…...
Go在1.22版本修复for循环陷阱
记录 前段时间升级Go版本碰到一个大坑,先记录。 先上代码案例: func main() {testClosure() }func testClosure() {for i : 0; i < 5; i {defer func() {fmt.Println(i)}()} }在1.22之下(不包括1.22)版本: 输出的…...
c++_sort函数
sort介绍 在C/C中,要想应用排序算法,可以使用c语言的qsort,也可以使用c的sort 。 1)qsort 是 C 标准库提供的一个通用排序函数,位于 stdlib.h 头文件中。 qsort 适用于 C 语言中的数组。 2)sort 是 C 中STL的泛型算法…...
【Stable Diffusion】AnimatedDiff--AI动画 插件使用技巧分享;文生视频、图生视频、AI生成视频工具;
本专栏主要记录人工智能的应用方面的内容,包括chatGPT、DeepSeek、AI绘画等等; 在当今AI的热潮下,不学习AI,就要被AI淘汰;所以欢迎小伙伴加入本专栏和我一起探索AI的应用,通过AI来帮助自己提升生产力; 本文的目标就是让每一个读者,都能学会并掌握AnimateDiff的使用;成…...
可视化约瑟夫生死环小游戏
这是一个基于Tkinter的图形界面应用程序,用于模拟约瑟夫环问题。约瑟夫环问题是一个经典的数学问题,描述的是N个人围成一圈,从第一个人开始报数,每数到第M个人就将其淘汰,然后从下一个人继续报数,直到剩下最…...
【深入理解JWT】从认证授权到网关安全
最近的项目学习中,在进行登陆模块的用户信息验证这一部分又用到了JWT的一些概念和相关知识,特在此写了这篇文章、方便各位笔者理解JWT相关概念 目录 先来理解JWT是什么? 区分有状态认证和无状态认证 有状态认证 VS 无状态认证 JWT令牌的…...
学习路之PHP --TP6异步执行功能 (无需安装任何框架)
学习路之PHP --异步执行功能 (无需安装任何框架) 简介一、工具类二、调用三、异步任务的操作四、效果: 简介 执行异步任务是一种很常见的需求,如批量发邮箱,短信等等执行耗时任务时,需要程序异步执行&…...
DeepSeek-R1:GPU编程自动化加速的新纪元
摘要 DeepSeek-R1是由斯坦福大学和普林斯顿大学研究者共同开发的项目,其自研的CUDA核心在性能测试中取得了卓越成绩,超越了o1和Claude 3.5 Sonnet,位居榜首。尽管DeepSeek-R1目前仅在约20%的任务中实现了对PyTorch Eager模式的性能超越&#…...
CSS 对齐:深入理解与技巧实践
CSS 对齐:深入理解与技巧实践 引言 在网页设计中,元素的对齐是至关重要的。一个页面中元素的对齐方式直接影响到页面的美观度和用户体验。CSS 提供了丰富的对齐属性,使得开发者可以轻松实现各种对齐效果。本文将深入探讨 CSS 对齐的原理、方法和技巧,帮助开发者更好地掌握…...
vue深拷贝:1、使用JSON.parse()和JSON.stringify();2、使用Lodash库;3、使用深拷贝函数(采用递归的方式)
文章目录 引言三种方法的优缺点在Vue中,实现数组的深拷贝I JSON.stringify和 JSON.parse的小技巧深拷贝步骤缺点:案例1:向后端请求路由数据案例2: 表单数据处理时复制用户输入的数据II 使用Lodash库步骤适用于复杂数据结构和需要处理循环引用的场景III 自定义的深拷贝函数(…...
九、数据治理架构流程
一、总体结构 《数据治理架构流程图》(Data Governance Architecture Flowchart) 水平结构:流程图采用水平组织,显示从数据源到数据应用的进程。 垂直结构:每个水平部分进一步划分为垂直列,代表数据治理的…...
【数据结构】 最大最小堆实现优先队列 python
堆的定义 堆(Heap)是一种特殊的完全二叉树结构,通常分为最大堆和最小堆两种类型。 在最大堆中,父节点的值总是大于或等于其子节点的值; 而在最小堆中,父节点的值总是小于或等于其子节点的值。 堆常用于实…...
51c自动驾驶~合集52
我自己的原文哦~ https://blog.51cto.com/whaosoft/13383340 #世界模型如何推演未来的千万种可能 驾驶世界模型(DWM),专注于预测驾驶过程中的场景演变,已经成为追求自动驾驶的一种有前景的范式。这些方法使自动驾驶系统能够更…...
服务 ‘Sql Server VSS writer‘ (SQLWriter) 在安装 LocalDB 时无法启动
安装Microsoft Visual C 2015-2019 Redistributable (x64)...
【我的 PWN 学习手札】House of Husk
House of Husk House of Husk是利用格式化输出函数如printf、vprintf在打印输出时,会解析格式化字符如%x、%lld从而调用不同的格式化打印方法(函数)。同时C语言还提供了注册自定义格式化字符的方法。注册自定义格式化字符串输出方法…...
Nmap使用指南
Nmap使用指南 Nmap (网络映射器) 是一款强大的应用网络扫描和安全核查工具,适合于网络管理和安全专家。本文将介绍Nmap的基本使用方法,包括基本命令和常用功能。 1. 基本使用方式 Nmap的基本命令格式如下: nmap [选项] 目标地址目标地址 可…...
