Kali安全渗透高级工程师入门- kali系统安装- 网络安全电子书
liuian 2024-11-28 00:51 52 浏览
安装渗透测试系统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 高效命令行终端的配置
相关推荐
- 使用Assembly打包和部署Spring Boot工程
-
SpringBoot项目的2种部署方式目前来说,SpringBoot项目有如下2种常见的部署方式一种是使用docker容器去部署。将SpringBoot的应用构建成一个docke...
- java高级用法之:调用本地方法的利器JNA
-
简介JAVA是可以调用本地方法的,官方提供的调用方式叫做JNI,全称叫做javanativeinterface。要想使用JNI,我们需要在JAVA代码中定义native方法,然后通过javah命令...
- Linux中如何通过Shell脚本来控制Spring Boot的Jar包启停服务?
-
SpringBoot项目在为开发者带来方便的同时,也带来了一个新的问题就是Jar包如何启动?在一般情况下我们都是采用了最为经典的java-jar命令来进行启动。然后通过ps命令找到对应的应用线程通...
- 牛逼!自己手写一个热加载(人民币手写符号一个横还是两个横)
-
热加载:在不停止程序运行的情况下,对类(对象)的动态替换JavaClassLoader简述Java中的类从被加载到内存中到卸载出内存为止,一共经历了七个阶段:加载、验证、准备、解析、初始化、使用、...
- java 错误: 找不到或无法加载主类?看看怎么解决吧!
-
问题扫述:项目名称调整,由原来的com.mp.qms.report.biz调整为com.mp.busicen.mec.qms.report.biz后。项目在IDEA直接运行,但打包部署到服务器...
- 如何将 Spring Boot 工程打包成独立的可执行 JAR 包
-
导语:通过将SpringBoot项目打包成独立的可执行JAR包,可以方便地在任何支持Java环境的机器上运行项目。本文将详细介绍如何通过Maven构建插件将SpringBoot...
- class 增量发包改造为 jar 包方式发布
-
大纲class增量发包介绍项目目录结构介绍jar包方式发布落地方案class增量发包介绍当前项目的迭代修复都是通过class增量包来发版本的将改动的代码class增量打包,如下图cla...
- Jar启动和IDE里启动Sprintboot的区别
-
想聊明白这个问题,需要补充一些前提条件,比如Fatjar、类加载机制等1、Fatjar我们在开发业务程序的时候,经常需要引用第三方的jar包,最终程序开发完成之后,通过打包程序,会把自己的代码和三...
- Java 20年,以后将往哪儿走?(java还能流行多久)
-
在今年的Java20周年的庆祝大会中,JavaOne2015的中心议题是“Java的20年”。甲骨文公司Java平台软件开发部的副总裁GeorgesSaab的主题演讲就将关注点放在了java...
- Spring Boot Jar 包秒变 Docker 镜像实现多环境部署
-
你是否在互联网大厂后端开发工作中,遇到过这样的困扰?当完成一个SpringBoot项目开发,准备将Jar包部署到不同环境时,却发现各个环境依赖不同、配置复杂,部署过程繁琐又容易出错,不仅耗费...
- 从0开始,让你的Spring Boot项目跑在Linux服务器
-
1搭建Linux服务器1.1购买阿里云服务器或安装虚拟机这里建议是CentOS7.X或CentOS8.X,当然其他的Linux如deepin、Ubuntu也可以,只是软件环境的安装包和安装方式...
- 【技术】Maven 上传第三方jar包到私服
-
通过nexus后台上传私服以NexusRepositoryManagerOSS2.14.5-02为例。登录nexus后台。定义Maven坐标Maven坐标有两种方式:1.自定义参数;2....
- JVM参数、main方法的args参数使用
-
一、前言我们知道JVM参数分为自定义参数、JVM系统参数,Javamain方法的参数。今天就谈谈怎么使用吧。二、查看jvm参数定义自定义参数我们打开cmd窗口,输入java,就能看到自定义参数的格式...
- Maven项目如何发布jar包到Nexus私服
-
Maven项目发布jar包到Nexus私服在编码过程中,有些通用的代码模块,有时候我们不想通过复制粘贴来粗暴地复用。因为这样不仅体现不了变化,也不利于统一管理。这里我们使用mavendeploy的方...
- 干货丨Hadoop安装步骤!详解各目录内容及作用
-
Hadoop是Apache基金会面向全球开源的产品之一,任何用户都可以从ApacheHadoop官网下载使用。今天,播妞将以编写时较为稳定的Hadoop2.7.4版本为例,详细讲解Hadoop的安...
- 一周热门
-
-
Python实现人事自动打卡,再也不会被批评
-
【验证码逆向专栏】vaptcha 手势验证码逆向分析
-
Psutil + Flask + Pyecharts + Bootstrap 开发动态可视化系统监控
-
一个解决支持HTML/CSS/JS网页转PDF(高质量)的终极解决方案
-
再见Swagger UI 国人开源了一款超好用的 API 文档生成框架,真香
-
网页转成pdf文件的经验分享 网页转成pdf文件的经验分享怎么弄
-
C++ std::vector 简介
-
系统C盘清理:微信PC端文件清理,扩大C盘可用空间步骤
-
10款高性能NAS丨双十一必看,轻松搞定虚拟机、Docker、软路由
-
python使用fitz模块提取pdf中的图片
-
- 最近发表
-
- 使用Assembly打包和部署Spring Boot工程
- java高级用法之:调用本地方法的利器JNA
- Linux中如何通过Shell脚本来控制Spring Boot的Jar包启停服务?
- 牛逼!自己手写一个热加载(人民币手写符号一个横还是两个横)
- java 错误: 找不到或无法加载主类?看看怎么解决吧!
- 如何将 Spring Boot 工程打包成独立的可执行 JAR 包
- class 增量发包改造为 jar 包方式发布
- Jar启动和IDE里启动Sprintboot的区别
- Java 20年,以后将往哪儿走?(java还能流行多久)
- Spring Boot Jar 包秒变 Docker 镜像实现多环境部署
- 标签列表
-
- 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)
- python判断元素在不在列表里 (34)
- python 字典删除元素 (34)
- vscode切换git分支 (35)
- python bytes转16进制 (35)
- grep前后几行 (34)
- hashmap转list (35)
- c++ 字符串查找 (35)