跟着CSDN某不良文章操作后kali崩了(恼,又没保存快照。要养成经常保存快照的习惯。在重装的过程中随手水下第一篇博客。

镜像下载

下载kali linux镜像,我这里选择23年2月的最新版

https://www.kali.org/

创建虚拟机

选择Debian 8.x 64(kali基于Debian)

选择虚拟机创建路径,建议放在空间较大的地方

这里根据自己宿主机的内核总数来选,理论上只要小于宿主机内核总数就好,我这里选2+2。

打开任务管理器,打开“性能”。我的是16个逻辑处理器,所以理论上小于16就好(这块还不太懂)

内存根据自己宿主机来选,推荐4G以上,我记得John爆破需要至少4G的内存

选择存储为单个文件,选择磁盘大小,我这里选择100G。建议选大些,可以省去以后扩容磁盘的麻烦(不过学一下还是有必要的)。之前选20G实在是不够用,后面又扩容了。

像打印机这种没什么用的可以移除,然后新CD/DVD,选择下好的kali镜像文件

发现虚拟机已经创建好了,虚拟机的名称可以自己重命名。开启虚拟机。

安装

选择第一个图形化安装,回车

语言自行选择

主机名随意

域名不用填

这里设置一个非root的用户,Linux中root用户是管理员用户,具有很大的权限,有时候容易对系统造成无法挽回的损坏(。所以需要创建一个权限没那么大的普通用户。

用户名和密码自定

然后是漫长的等待

选择继续,然后系统会自动重启。

在登录界面用之前注册的普通用户身份的用户名和密码登录。因为kali中root用户初始是没有设定密码的。

到此为止,初始化完成(这个桌面背景好丑。

初始化配置

设置root用户密码

给我们的root用户设置密码

打开终端

可以看到我们当前是自己设定的普通用户

sudo passwd root

“sudo”命令以普通用户的身份,暂时使用root身份的权限,因为更改用户密码需要root权限。

要先输入我们普通用户的密码(注:linux中密码是不显示的,所以不是没输入是没显示。)回车

自定义root用户密码,回车,重复输入,回车。

su root

“su”命令是切换用户,我们切换到root用户看看,输入设定的root用户密码。回车。

发现我们以root用户登陆了

要切换回普通用户只要su 用户名

更换下载源

kali默认的官方源在国内使用会比较慢,所以我们一般会更换使用国内的镜像站。我这边使用中科大源。

打开终端

sudo vim /etc/apt/sources.list

使用的是“vim”编辑器,按下键盘上的“i”进入编辑模式。

在kali默认源前加上“#”注释掉,然后在下面粘贴中科大源

deb http://mirrors.ustc.edu.cn/kali kali-rolling main non-free non-free-firmware contrib
deb-src http://mirrors.ustc.edu.cn/kali kali-rolling main non-free non-free-firmware contrib

linux中默认Ctrl+Shift+V粘贴

按下键盘上的“Esc”键退出编辑模式,再按下键盘上的“Shift”键加冒号键。输入”wq”回车保存退出。

最终结果像是:

# 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

# Additional line for source packages
# deb-src 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 non-free-firmware contrib
deb-src http://mirrors.ustc.edu.cn/kali kali-rolling main non-free non-free-firmware contrib

更新系统程序和软件

在终端中输入

sudo apt update #更新软件列表
sudo apt upgrade #更新软件
sudo apt dist-upgrade #更新并且安装依赖
sudo apt clean #删除缓存包
sudo apt autoclean #删除未安装的deb包

回车

输入Y,回车。后面碰到也是如此。

一些自用的推荐配置

设置终端

默认的字体实在有点小,打开终端

记录一下自己的一些习惯配置

Appearance中

字体个人选择30号大小的Fira Code SemiBold

Fix Tab width 选择300px,应用透明度改成0%

Behavior中全屏终端之后获取当前大小,设置成默认

建立locate索引

locate指令需要更新当前的目录索引至数据库

┌──(mikannse㉿kali)-[~/tools/web]
└─$ sudo updatedb

JAVA

有些工具的运行会报openjdx缺少的错误,因为在高版本jdk中被分离了,需要额外安装

sudo apt-get install openjfx

环境变量设置

为了快速打开impacket这个工具,可以通过引入环境变量来快速打开,在~/.zshrc中最后追加

export PATH="$PATH:/usr/share/doc/python3-impacket/examples"

volatility的快捷

仍然在上面那个文件追加

alias vol2="python2 /home/mikannse/tools/other/volatility/vol.py"
alias vol3="python3 /home/mikannse/tools/other/volatility3/vol.py"

快速打开jar包工具

alias jarr="java --module-path /usr/share/openjfx/lib --add-modules=javafx.controls,javafx.fxml -jar"

proxychains配置

一个代理工具

sudo vim /etc/proxychains4.conf

strict_chain进行注释,dynamic_chain取消注释

python配置

安装pip2

wget https://bootstrap.pypa.io/pip/2.7/get-pip.py
sudo python2 get-pip.py -i https://pypi.tuna.tsinghua.edu.cn/simple

pip配置清华源为默认

pip config set global.index-url https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple
pip2 config set global.index-url https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple

PWN环境配置

安装pwntools

sudo update
sudo apt install python3-pwntools python-pwntools-doc

安装pwndbg

git clone https://github.com/pwndbg/pwndbg
cd pwndbg
./setup.sh