最近正在研究Kali Linux,一个集成了各种渗透测试工具的Linux发行版。虽然Kali也是一个功能齐全的Linux发行版,但是官方并不建议我们作为日常使用。因为很多工具运行的时候都需要root权限,所以Kali在设计的时候就是主要以root用户运行,因而安全性不是很高。官方文档也做了说明:Kali是一个进攻的武器,没有防御作用。所以一般来说,我们可以使用虚拟机或者USB Live镜像来运行Kali。
首先自然要安装一个虚拟机软件,我这里使用的是VMware,当然使用VirtualBox也是可以的。有了虚拟机软件,就可以到官网下载Live镜像自己安装,或者像我这样,直接下载虚拟机镜像开箱即用。官网直链下载速度比较慢,推荐使用BT下载。
下载完成之后,别忘了校验SHA256的值,避免文件下载错误。完成之后,解压压缩文件,然后在VMware中打开虚拟机文件,选择vmx文件,即可导入虚拟机系统。
这是一个预安装的系统,我们直接启动,就可以得到一个马上可用的系统,而且已经安装了虚拟机工具,所以剪贴板共享、自适应屏幕等特性已经支持了。Kali预制虚拟机的用户名是kali,密码也是kali,root密码需要我们手动设置。
除了在虚拟机中运行以外,还有一种运行方式,就是将Kali安装到U盘里面。Kali提供了USB持久化的方式,可以让我们将数据永久保存在U盘中。
下载并校验之后,使用balenaEtcher或者rufus等软件制作USB启动盘。
为了在U盘创建持久化空间,还需要下面的步骤。
首先将下载的ISO镜像复制到Linux虚拟机中,然后将U盘连接到虚拟机上。然后用下面的命令获取ISO的大小,并在U盘上创建一个新的持久化分区。这里需要你的U盘容量大于8G,假设U盘是sdb。
end=7gb
read start _ < <(du -bcm kali-linux-2020.1-live-amd64.iso | tail -1); echo $start
parted /dev/sdb mkpart primary $start $end
然后将分区格式化为ext3.
mkfs.ext3 -L persistence /dev/sdb3
e2label /dev/sdb3 persistence
最后在持久化分区中写入配置文件,这样就成功了。
mkdir -p /mnt/my_usb
mount /dev/sdb3 /mnt/my_usb
echo "/ union" > /mnt/my_usb/persistence.conf
umount /dev/sdb3
这样一来,就可以在用U盘启动Kali的时候选择持久化选项。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HJvAgLwR-1582207425057)(https://www.kali.org/docs/usb/kali-linux-live-usb-persistence/kali-live-usb-persistence.png)]
安装完Kali之后,如果喜欢的话还可以进行一些个性化配置,我个人感觉还是很有必要的。因为以后要经常用Kali执行各种命令,如果没有一个好用的环境的话,命令用起来也不会太顺手。以下命令大部分需要root权限运行,使用时请注意。
首先设置root密码。
sudo root
然后将用户添加到/etc/sudoers
文件中。我这里用的是默认用户kali,如果你是自己安装的系统,将这里改为你设置的用户名。
echo 'kali ALL=(ALL:ALL) NOPASSWD: ALL' >>/etc/sudoers
接下来一些命令可能要在root下执行,用下面的命令切换到root用户,Ctrl+D退出root用户。
su
首先是中文设置,我觉得还是很有必要的。
sed -i 's/^# zh_CN.UTF-8 UTF-8/zh_CN.UTF-8 UTF-8/g' /etc/locale.gen
locale-gen
localectl set-locale zh_CN.UTF-8
echo 'LANG=zh_CN.UTF-8' >/etc/locale.conf
timedatectl set-timezone Asia/Shanghai
保持系统处于最新状态同样是非常有必要的,如果你配置了中文,可能无法显示汉字,所以顺便安装一下中文字体。
apt update
apt upgrade -y
apt dist-upgrade -y
apt install -y docker.io zsh fonts-wqy-microhei fonts-wqy-zenhei
如果你有代理的话,还可以顺便配置一下ohmyzsh。如果没有的话,就不用试了。下面的命令基本一条也执行不成功。
首先设置代理环境变量,假设代理是localhost:10800
。顺便提一下,这里的配置是用户级别的配置,所以不需要root账户,直接使用当前用户运行命令即可,自然也不需要加sudo
。
export http_proxy=http://localhost:10800
export https_proxy=http://localhost:10800
然后就可以配置antigen+ohmyzsh+powerline10k主题了。
# 设置用户Shell
chsh -s /bin/zsh
# 安装antigen和ohmyzsh
curl -L git.io/antigen >.antigen.zsh
wget https://raw.githubusercontent.com/techstay/dotfiles/master/zsh/.zshrc
wget https://raw.githubusercontent.com/techstay/dotfiles/master/zsh/.p10k.zsh
这时候如果你手动输入zsh
进入ZShell,可能会发现出现了乱码。因为powerline10k是一个启用了powerline字体的主题,所以我们还需要下载安装powerline字体,这里推荐Meslo字体。
wget https://github.com/ryanoasis/nerd-fonts/releases/download/v2.1.0/Meslo.zip
unzip Meslo.zip
rm Meslo.zip
mkdir -p ~/.fonts
mv Meslo* ~/fonts
fc-cache -f
全部配置完成之后,就可以sudo reboot now
重启系统了。系统重启之后,应该就可以看到类似下图的Shell界面了。菜单等全部汉化了,shell也改为了zsh,带有自动补全、提示等功能。这样,我们就可以用Kali开始搞事情了。