Kali安全渗透高级工程师入门- kali系统安装- 网络安全电子书
liuian 2024-11-28 00:51 45 浏览
安装渗透测试系统Kali
本节所讲内容:
1.1 Kali Linux简介
1.2 使用VM虚拟机安装Kali
1.3 配置Kali的apt命令在线安装包的源为国内源
1.1 Kali Linux简介
Kali Linux是一个基于Debian的Linux发行版,旨在进行高级渗透测试和安全审计。Kali Linux包含数百种工具,适用于各种信息安全任务,如渗透测试,安全研究,计算机取证和逆向工程。Kali Linux由公司Offensive Security开发,资助和维护。
Offensive [??fens?v] 攻击性的; Offensive Security 进攻性安全
Kali Linux于2013年3月13日发布,Kali的前身是基于BackTrack Linux,自上而下的重建,完全符合Debian开发标准。
Kali的优势和特性:
1、包括900多种渗透测试工具
2、免费:完全免费且永远都是。你将永远不必支付Kali Linux的费用。
3、开源:所有进入Kali Linux的源代码都可供任何人使用。
4、广泛的无线设备支持:我们已经构建了Kali Linux以支持尽可能多的无线设备,允许它在各种硬件上正常运行,并使其与众多USB和其他无线设备兼容。
5、在安全的环境中开发: Kali Linux团队由一小部分人组成,他们是唯一可信任的提交包并与存储库交互的人,所有这些都是使用多个安全协议完成的。
6、GPG签名包和存储库: Kali Linux中的每个包都由构建和提交它的每个开发人员签名,并且存储库随后也会对包签名。
7、ARMEL和ARMHF支持: Kali Linux可用于各种ARM设备。
Kali安全渗透高级工程师工具包合集,里面包含了Kali系统镜像和各种渗透测试工具包,下载链接:https://pan.baidu.com/s/1Na8vv0Tgr_Wf1MBCLNAWZg 提取码:
1.2 使用VM虚拟机安装Kali
1.2.1 官方下载Kali Linux
官方网址:www.Kali.org
下载方式分两种:http下载和bt下载(由于是国外网站http方式下载会非常慢)。
1.2.2 安装并配置Kali Linux
新建虚拟机。
选择推荐配置即可。
选择我们下载好的Kali镜像。
选择Debian 10.x 64位,具体版本根据自己虚拟机能够支持的版本来选择。
配置虚拟机名称并选择虚拟机安装位置。
选择磁盘空间这里如果同学学习过程中不更新Kali的话使用默认配置20G即可,如果对Kali进行日常更新则需要给100G富裕一些空间。否则会导致更新失败。(虚拟机分配的空间不会直接完全占用物理机磁盘空间,一般情况都是用多少占多少,所以我们多给一些)。
自定义硬件配置。
尽量给的高一些建议给物理机一半左右的配置。(至少2G内存)。
配置CPU核心数(建议配置成和物理CPU核心数一样),我是4核心的CPU,这里配置成4核。
并开启虚拟化Intel VT技术。
配置网络模式为桥接。
点击开启虚拟机。
排错:
安装虚拟机后,创建Linux虚拟机,出现“intel vt -x 处于禁用状态打不开 ”解决方法:
注:只要开启BIOS虚拟化支持就可以了。
情况1:以华硕 UEFI 主板为例,开机进入bios
步骤: 进入高级模式---进入高级菜单----开启intel虚拟技术
其它电脑找到这个
F10保存退出。重启物理机,再安装安装Kali就可以了。
解决了上面的问题,接下来继续安装Kali虚拟机:
选择图形安装。
选择中文(简体)。
选择区域。
配置键盘。
配置主机名
设置普通用户名
直接点继续
配置普通用户的密码。
磁盘分区选择整个磁盘。
选择我们的磁盘。
选择推荐分区方案。
结束分区向导。
将修改的内容写入到磁盘。
等待安装系统。
选择并安装软件
注意:这里需要选择Xfce桌面环境(首选,桌面环境Xface、GNOME、KDE选其中一个就行),否则安装完毕后Kali Linux将无法使用图形化桌面环境,只能使用命令行环境。
无特殊情况,其它软件选择默认勾选项即可
注:无“…”表示主菜单,有“…”表示对应的子菜单
等待安装完成会自动重启虚拟机。
1.2.3 启用对root用户的访问
默认情况下,Kali2021.1已交换为特权非root用户。这意味着root用户没有设置密码,并且在安装过程中创建的帐户是可以使用的帐户。可以重新启用对root用户的访问,但是不建议这样做。
设置root用户密码
┌──(kali?xuegod53)-[~]
└─$ sudo passwd root
我们信任您已经从系统管理员那里了解了日常注意事项。
总结起来无外乎这三点:
#1) 尊重别人的隐私。
#2) 输入前要先考虑(后果和风险)。
#3) 权力越大,责任越大。
[sudo] kali 的密码:kali #注:需要提权输入kali普通用户的密码
设置新密码
新的 密码:123456
重新输入新的 密码:123456
passwd:已成功更新密码
切换到root用户
└─$ su root #切换到root用户,当会话还是使用kali用户的环境变量
密码:123456
┌──(rootxuegod53)-[/home/kali]
└─# exit
┌──(kali?xuegod53)-[~]
└─$ su - root #切换root用户时,记得加一个减号-,这样可以彻底切换到root用户。
密码:123456
┌──(rootxuegod53)-[~]
└─#pwd
下次登录Kali系统就可以使用root账号直接登录了。
查看当前使用的Shell类型
└─# echo $SHELL
/usr/bin/zsh #可以看到我们使用的是zsh类型的shell。centos7使用的是bash类型的shell。 zsh功能更强,而且zsh完全兼容bash的用法和命令。
1.3 配置Kali的apt命令在线安装包的源为国内源
1.3.1 配置apt国内源
因为Kali自带的源是国外的,经常会因为网络问题,而无法安装或更新软件包。而且国外的源速度很慢。所以我们直接使用国内的资源,方便快速。
#中科大Kali源
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
点击终端按钮或者右键桌面选择 在这里打开终端 打开终端。
┌──(rootxuegod53)-[~]
└─# vim /etc/apt/sources.list
把第2行前面加#号,注释了:
在最后一行后面插入中科大Kali源:
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
注:复制上面两行内容,然后按下鼠标滚轮,就可以粘贴到文档中了。
扩展:
1、复制:在kali终端下,使用鼠标选中内容,就可以完成kali下复制
2、粘贴:移动光标到需要粘贴的位置,按下鼠标中间的滚轮,就可以粘贴
说明:deb代表软件的位置,deb-src代表软件的源代码的位置
使用apt新的软件包源获取最新的软件包列表。
注:apt update 的作用是从/etc/apt/sources.list文件中定义的源中获取的最新的软件包列表。
即运行apt update并没有更新软件,而是相当于windows下面的检查更新,获取的是软件的状态。
└─# apt update
发现已经在使用中科大的kali源了。
扩展:kali的apt源
Kali Rolling: 是Kali的即时更新版,只要Kali中有更新,更新包就会放入Kali Rolling中,供用户下载使用。它为用户提供了一个稳定更新的版本,同时会带有最新的更新安装包。这个是我们最常用的源。
在Kali Rolling下有3类软件包:main、non-free和contrib。
Kali apt源的软件包类型说明:
dists区域 | 软件包组件标准 |
main | 遵从 Debian 自由软件指导方针(DFSG),并且不依赖于 non-free |
contrib | 遵从 Debian 自由软件指导方针(DFSG),但依赖于 non-free |
non-free | 不遵从 Debian 自由软件指导方针(DFSG) |
注:DFSG是Debian 自由软件指导方针 (Debian Free Software Guidelines),此方针中大体包括自由的再次发行、源代码、禁止歧视人士或者组织等规定
rolling [?r??l??] 滚动的 ; contrib [k?n?tr?b] 贡献软件;贡献;普通发布版 dists 分布
我们手动查看一下apt源,直接访问:http://mirrors.ustc.edu.cn/kali/ 查看dists目录下的软件包
或直接访问 http://mirrors.ustc.edu.cn/kali/dists/kali-rolling/ 可以看3类软件包
1.3.2 apt update、apt upgrade 和apt dist-upgrade 的区别
1、apt update
┌──(rootxuegod53)-[~]
└─# apt update
注:apt update 的作用是从/etc/apt/sources.list文件中定义的源中获取的最新的软件包列表。
即运行apt update并没有更新软件,而是相当于windows下面的检查更新,获取的是软件的状态。
root@xuegod53:~# apt update #执行这个命令,可以查看更新列表
会下载 http://mirrors.ustc.edu.cn/kali/dists/kali-rolling/ 中这个InRelease软件包列表
把InRelease下载到本地,使用word打开可以查看软件包列表,如下图:
以下两种升级系统的方式,大家先不要执行,因为执行消耗的时间太长:
2、apt upgrade
└─# apt upgrade
apt upgrade 则是根据update命令获取的最新的软件包列表,去真正地更新软件。
3、apt dist-upgrade
└─# apt dist-upgrade
apt dist-upgrade则是根据update命令获取的最新的软件包列表,去真正地更新软件。
4、apt upgrade和dist-upgrade的差别:
upgrade:升级时,如果软件包有相依性的问题,此软件包就不会被升级。
dist-upgrade升级时,如果软件包有相依性问题,会移除旧版,直接安装新版本. (所以通常dist-upgrade会被认为是有点风险的升级)
例如:
注:因为安装av2新版本时,需要依赖dv2库,而gv1这次没有升级,所以gv1还依赖dv1。av2升级后把dv1变为dv2,这样gv1在调用dv2时,可能会有问题。如果dv2完全兼容dv1,那么gv1直接调用dv2,也没有问题,gv1还可以正常运行。
对于个人和服务器上的操作一般情况使用:apt upgrade 稳定可靠升级就可以满足我们的需求了。
最后,需要注意的一点是,每回更新之前,我们需要先运行update,然后才能运行upgrade和dist-upgrade,因为相当于update命令获取了包的一些信息,比如大小和版本号,然后再来运行upgrade去下载包,如果没有获取包的信息,那么upgrade就是无效的啦!
1.3.3 apt和apt-get区别
apt命令概述: apt是一条linux命令,适用于deb包管理式的操作系统,主要用于自动从互联网的软件仓库中搜索、安装、升级、卸载软件或操作系统。deb包是Debian软件包格式的文件扩展名。
apt 可以看作 apt-get 和 apt-cache 命令的子集, 可以为包管理提供必要的命令选项。
apt提供了大多数与apt-get及apt-cache有的功能,但更方便使用
apt-get 虽然没被弃用,但作为普通用户,还是应该首先使用 apt。
注:apt install和apt-get install 功能一样,都是安装软件包,没有区别。
常用命令:
install - 安装软件包 apt install
remove - 移除软件包 apt remove
update - 更新可用软件包列表 apt update
upgrade - 通过 安装/升级 软件来更新系统 apt upgrade
full-upgrade - 通过 卸载/安装/升级 来更新系统 apt dist-upgrade
edit-sources - 编辑软件源信息文件 vim /etc/apt/sources.list
关闭自动锁屏功能:
点设置——电源管理器:
然后点安全性:
最后一定要做一个虚拟机快照:
总结:
1.1 Kali Linux简介
1.2 使用VM虚拟机安装Kali
1.3 配置Kali的apt命令在线安装包的源为国内源
- 上一篇:Shell运行环境之环境变量
- 下一篇:zsh 高效命令行终端的配置
相关推荐
- 深入解析 MySQL 8.0 JSON 相关函数:解锁数据存储的无限可能
-
引言在现代应用程序中,数据的存储和处理变得愈发复杂多样。MySQL8.0引入了丰富的JSON相关函数,为我们提供了更灵活的数据存储和检索方式。本文将深入探讨MySQL8.0中的JSON...
- MySQL的Json类型个人用法详解(mysql json类型对应java什么类型)
-
前言虽然MySQL很早就添加了Json类型,但是在业务开发过程中还是很少设计带这种类型的表。少不代表没有,当真正要对Json类型进行特定查询,修改,插入和优化等操作时,却感觉一下子想不起那些函数怎么使...
- MySQL的json查询之json_array(mysql json_search)
-
json_array顾名思义就是创建一个数组,实际的用法,我目前没有想到很好的使用场景。使用官方的例子说明一下吧。例一selectjson_array(1,2,3,4);json_array虽然单独...
- 头条创作挑战赛#一、LSTM 原理 长短期记忆网络
-
#头条创作挑战赛#一、LSTM原理长短期记忆网络(LongShort-TermMemory,LSTM)是一种特殊类型的循环神经网络(RNN),旨在解决传统RNN在处理长序列数据时面临的梯度...
- TensorBoard最全使用教程:看这篇就够了
-
机器学习通常涉及在训练期间可视化和度量模型的性能。有许多工具可用于此任务。在本文中,我们将重点介绍TensorFlow的开源工具套件,称为TensorBoard,虽然他是TensorFlow...
- 图神经网络版本的Kolmogorov Arnold(KAN)代码实现和效果对比
-
本文约4600字,建议阅读10分钟本文介绍了图神经网络版本的对比。KolmogorovArnoldNetworks(KAN)最近作为MLP的替代而流行起来,KANs使用Kolmogorov-Ar...
- kornia,一个实用的 Python 库!(python kkb_tools)
-
大家好,今天为大家分享一个实用的Python库-kornia。Github地址:https://github.com/kornia/kornia/Kornia是一个基于PyTorch的开源计算...
- 图像分割掩码标注转YOLO多边形标注
-
Ultralytics团队付出了巨大的努力,使创建自定义YOLO模型变得非常容易。但是,处理大型数据集仍然很痛苦。训练yolo分割模型需要数据集具有其特定格式,这可能与你从大型数据集中获得的...
- [python] 向量检索库Faiss使用指北
-
Faiss是一个由facebook开发以用于高效相似性搜索和密集向量聚类的库。它能够在任意大小的向量集中进行搜索。它还包含用于评估和参数调整的支持代码。Faiss是用C++编写的,带有Python的完...
- 如何把未量化的 70B 大模型加载到笔记本电脑上运行?
-
并行运行70B大模型我们已经看到,量化已经成为在低端GPU(比如Colab、Kaggle等)上加载大型语言模型(LLMs)的最常见方法了,但这会降低准确性并增加幻觉现象。那如果你和你的朋友们...
- ncnn+PPYOLOv2首次结合!全网最详细代码解读来了
-
编辑:好困LRS【新智元导读】今天给大家安利一个宝藏仓库miemiedetection,该仓库集合了PPYOLO、PPYOLOv2、PPYOLOE三个算法pytorch实现三合一,其中的PPYOL...
- 人工智能——图像识别(人工智能图像识别流程)
-
概述图像识别(ImageRecognition)是计算机视觉的核心任务之一,旨在通过算法让计算机理解图像内容,包括分类(识别物体类别)、检测(定位并识别多个物体)、分割(像素级识别)等,常见的应用场...
- PyTorch 深度学习实战(15):Twin Delayed DDPG (TD3) 算法
-
在上一篇文章中,我们介绍了DeepDeterministicPolicyGradient(DDPG)算法,并使用它解决了Pendulum问题。本文将深入探讨TwinDelayed...
- 大模型中常用的注意力机制GQA详解以及Pytorch代码实现
-
分组查询注意力(GroupedQueryAttention)是一种在大型语言模型中的多查询注意力(MQA)和多头注意力(MHA)之间进行插值的方法,它的目标是在保持MQA速度的同时...
- pytorch如何快速创建具有特殊意思的tensor张量?
-
专栏推荐正文我们通过值可以看到torch.empty并没有进行初始化创建tensor并进行随机初始化操作,常用rand/rand_like,randint正态分布(0,1)指定正态分布的均值还有方差i...
- 一周热门
-
-
Python实现人事自动打卡,再也不会被批评
-
Psutil + Flask + Pyecharts + Bootstrap 开发动态可视化系统监控
-
一个解决支持HTML/CSS/JS网页转PDF(高质量)的终极解决方案
-
再见Swagger UI 国人开源了一款超好用的 API 文档生成框架,真香
-
【验证码逆向专栏】vaptcha 手势验证码逆向分析
-
网页转成pdf文件的经验分享 网页转成pdf文件的经验分享怎么弄
-
C++ std::vector 简介
-
python使用fitz模块提取pdf中的图片
-
《人人译客》如何规划你的移动电商网站(2)
-
Jupyterhub安装教程 jupyter怎么安装包
-
- 最近发表
-
- 深入解析 MySQL 8.0 JSON 相关函数:解锁数据存储的无限可能
- MySQL的Json类型个人用法详解(mysql json类型对应java什么类型)
- MySQL的json查询之json_array(mysql json_search)
- 头条创作挑战赛#一、LSTM 原理 长短期记忆网络
- TensorBoard最全使用教程:看这篇就够了
- 图神经网络版本的Kolmogorov Arnold(KAN)代码实现和效果对比
- kornia,一个实用的 Python 库!(python kkb_tools)
- 图像分割掩码标注转YOLO多边形标注
- [python] 向量检索库Faiss使用指北
- 如何把未量化的 70B 大模型加载到笔记本电脑上运行?
- 标签列表
-
- python判断字典是否为空 (50)
- crontab每周一执行 (48)
- aes和des区别 (43)
- bash脚本和shell脚本的区别 (35)
- canvas库 (33)
- dataframe筛选满足条件的行 (35)
- gitlab日志 (33)
- lua xpcall (36)
- blob转json (33)
- python判断是否在列表中 (34)
- python html转pdf (36)
- 安装指定版本npm (37)
- idea搜索jar包内容 (33)
- css鼠标悬停出现隐藏的文字 (34)
- linux nacos启动命令 (33)
- gitlab 日志 (36)
- adb pull (37)
- table.render (33)
- uniapp textarea (33)
- python判断元素在不在列表里 (34)
- python 字典删除元素 (34)
- react-admin (33)
- vscode切换git分支 (35)
- vscode美化代码 (33)
- python bytes转16进制 (35)