Kali Linux速查手记(长期更新)

以下内容请善用Ctrl+F

本篇博文记录了博主从选择、安装、到使用Kali Linux的所有重要细节,有问题的你如果需要交流可以加群174533002。

1.为什么要选择Linux而不是Windows

Windows应用虽便捷,但是不去理解根源,长期处于这种半使用者状态(是的,很大一部分细节操作都被GUI掩盖了,作为一个用户只需要很简单的点击操作,只要不是文盲,就能基本会用),会使得自己的水平止步不前,甚至退步,进而颓废。

作为一个IT界的常客,要不断保持独特的思维,使用Linux系统是最好的选择,不管在程序的运行机理,抑或是激发源源不断的创造灵感,都有非常大的帮助。

Linux是一个高效稳定的系统代名词。不管是作为服务器应用还是个人使用,精炼的系统内核,高效的运行效率,Linux总是能代表Hacker想说的一切。

2.Linux系统系列的简单分类

Linux起源于Unix,由Linus开启了Linux项目计划,从而普及。由于其开源的特性,由之后的各路黑客发展壮大。

有些是商业性的改造,代表为MacOS系列(包括IOS),Ubuntu,RedHat等,原因为系统的背后涌现了各个盈利支持的公司。

有些是持续发展开源运动的产物,代表为CentOS,Debian等。

Linux系统的大分类大致可以按安装包的后缀名来进行划分:

系统类别 安装包后缀名
Windows exe、msi等
MacOS dmg
Debian、Ubuntu、Deepin、Kali deb
RedHat、CentOS rpm
... ...

相近的系统有着基本一致的操作方式,例如Kali和Ubuntu在操作上就是基本一致的。

3.Kali Linux的实体机安装

官方下载地址:https://www.kali.org/downloads/

若无特别需求下载第一个即可,各安装包从上到下配置需求依次降低,当然损失的是一些美观性。

下载完成之后得到ISO文件,这表明需要通过U盘等介质进行安装。做过启动盘的同学可能联想到使用UltraISO进行,但底层度达不到要求,写入后也不能启动。可以在官方文档中找到推荐的DiskImager字样,百度下载后选择ISO文件全部写入U盘即可引导。

注:如果不小心做坏了U盘,可以参照此篇博文恢复U盘容量:https://blog.csdn.net/stephen_yu/article/details/53363856

之前博主在树莓派上安装过Kali Linux,但比较卡顿,没有其他版本可以选择,遂改用笔记本安装。

另外,如果你用的是虚拟机,只需要把光盘镜像路径指向下载的ISO文件即可引导。

补充:后来偶然看见过一个把GHOME改成xfce的做法,实在想低配设备使用kali的同学可以搜搜关键字,自己动手,丰衣足食。

4.Kali Roll升级所有软件到最新版

跟着最新版总没错,新特性,易用性都在提升。

在升级之前,可以将apt源地址更换成国内的镜像站,这样速度会快很多

vim /etc/apt/sources.list,然后在空白处加入以下两行,:wq

#中科大kali源
deb http://mirrors.ustc.edu.cn/kali kali-rolling main non-free contrib

#阿里云kali源

deb http://mirrors.aliyun.com/kali kali-rolling main non-free contrib

最后执行 apt-get update && apt-get upgrade即可,升级过程中会有一些需要交互的地方,需要确认按键。在某个全屏发行说明的地方(左下角有:符号),按q即可退出。

5.Kali-Rolling安装中文输入法

apt-get install fcitx fcitx-googlepinyin

安装完成后shutdown -r now重启系统。

此时fcitx已经安装在系统中,在Application(屏幕左侧快捷栏最下面的点点图标)搜索fcitx,选择Configuration,点击添加按钮,取消勾选Only show current language选项,搜索google并添加。

最后按Ctrl+Space即可切出输出法。(Ctrl+Space的设置出处在Configuration程序的Global Settings面板中可以看到)

附:sougou拼音输入法的安装

在2中我们提到,相近的系统具有几乎一致的操作方式。

搜狗拼音提供的是Ubuntu的安装方法,那么也可以用在Kali上。https://pinyin.sogou.com/linux/?r=pinyin

下载相应版本后用 dpkg -i 安装包.deb 进行安装,当然不成功,会有缺少依赖包的错误。此时再用 apt-get -f install -y再次安装即可。前者用于尝试安装deb安装包,后者用于修复依赖错误。

重启后搜狗拼音默认就会添加到fcitx中,可再次管理。

6.Kali-Rolling分区容量调整

博主一开始给几个关键的地方分了区:/ home root usr tmp var ,最后发现var给少了,才给了2G导致很多大软件装不上,遂调整。

在原分区基础上进行分区1容量缩小,分区2容量增加,这种操作是比较繁琐的。所涉及到的resize2fs、lvextend、mkfs.ext等命令如果大家有兴趣可以自行搜索学习。

警告:以下内容不无损,极有可能丢失文件,如照记录操作请先备份文件。

博主采用的是删除容量不够分区和又新增分区的做法,首先看一下分区的使用情况:

root@DXCyber409:~# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/nvme0n1p8  2G   1.1G  868M   54% /var

/dev/nvme0n1p9  10G   376M  9.6G   1% /tmp

可以看到,/tmp挂载的容量绰绰有余,而var已经用了许多。平衡一下两边的空间,即/var有6G,/tmp也有6G,就舒服多了。

在进行操作前,你可以重启系统在grub菜单进入recover模式,或是使用3中制作的启动盘进行启动,这样会没有第三方程序占用分区。

root@DXCyber409:~# parted  //parted工具能够很方便的进行分区
GNU Parted 3.2
Using /dev/nvme0n1
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) print  // print 命令输出磁盘分区信息                          
Model: NVMe Device (nvme)
Disk /dev/nvme0n1: 256GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:
Number  Start   End     Size    Type      File system     Flags
 1      1049kB  20.0GB  20.0GB  primary   ext4
 2      20.0GB  256GB   236GB   extended
 5      20.0GB  100GB   80.0GB  logical   ext4
 7      100GB   236GB   136GB   logical   ext4
 6      236GB   244GB   8000MB  logical   linux-swap(v1)
 9      244GB   246GB   2GB  logical   ext4
 8      246GB   256GB   10GB  logical   ext4

(parted)  rm 9  // 回车后再次rm 8,删除两个分区

(parted) mkpart  // 创建分区
Partition type?  primary/logical? logical   // 创建逻辑分区                            
File system type?  [ext2]? ext4  // 和其他盘统一,这里为ext4                                          

Start? 244GB  //起始扇区位置,用大小表示,正如你所想,我们要使用的是上面linux-swap(v1)后面的空白位置

End?  250GB  //结束扇区位置,250 - 246 = 6GB,正是我们想要的第一个分区

随后再次重复创建一个分区即可,quit退出parted。

由于我们改动了分区信息,原来的分区挂载信息会失效导致系统无法启动,需要修改/etc/fstab文件的分区挂载记录。

cp /etc/fstab /etc/fstab.bak // 备份文件

sudo blkid  //查看磁盘UUID信息

最后在/etc/fstab文件中把新的分区UUID覆盖掉旧的/tmp和/var分区UUID,重启即可。

7.Kali-Rolling Shadowsocks客户端的使用及配置

apt-get install python-pip  # 安装python的pip插件管理工具

pip install shadowsocks # 安装python版本的shadowsocks套装,包含服务端和客户端

vim /etc/shadowsocks.json # 创建一个客户端配置文件。

{
    "server":"服务器IP地址",
    "server_port":8080,
    "local_port":1080,
    "password":"服务器密码",
    "timeout":300,
    "method":"aes-256-cfb"
}

#将以上内容填入vim中, :wq保存

sslocal -c /etc/shadowsocks.json #启动ss客户端,当然也可以通过参数来直接指定内容,如有需要可搜寻其他的博客

第一次启动时会有SSL库的版本兼容性错误,将关键的英文字符输入百度即可看到解决方法。

随后在浏览器代理设置SOCKS5代理,或者在系统中设置然后浏览器沿用系统代理,即可google.com测试。

7.Kali-Rolling NTFS格式下rm命令出现cannot access folder Input/Output error

强行终止文件写入操作就会出现,例如写入的过程中强行拔硬盘。

不仅百度刷排名的文章没法解决,Google大军搜出来的结果也是不尽人意,请出了ext.ntfs,ntfsfix,fsck等命令仍然解决不了。

特别是ntfsfix命令,号称3秒就可以完成扫描,而windows的工具要几小时,结果TM没个卵用。

结果后来放到Windows系统上用chkdsk /F J: 瞬间就修复掉了。淦!辣鸡Linux。

8.Kali-Rolling安全弹出USB移动硬盘,断电后移除

反正移动硬盘要断电之后移除才不会对硬件造成意外损坏。

umount缺少断电工作,eject只针对光驱。

udisksctl power-off -b /dev/sdX # 完美解决问题

9.Kali-Rolling CrossOver安装QQ(crossover_16.2.0-1.deb版本)

官网:https://www.codeweavers.com/products/

教程:https://segmentfault.com/a/1190000008507051

下载:https://pan.baidu.com/s/1-mHkxCVYPugeh9bxcoSxFQ  nkbr

有能力请支持正版,不过他们客服系统真的垃圾,休息日点进去连个咨询留言的地方都没有。

Ps.运行CrossOver需要普通账户,如何创建参照11。

10.Kali-Rollingevince(PDF阅读器)中文乱码

apt-get install poppler-data  #安装PDF字体渲染组件库,不仅限于evince使用

如果仍然出现乱码则是缺少字体:http://dl.pconline.com.cn/html_2/1/82/id=50601&pn=0.html(微软雅黑)

解压后的ttf文件放入/usr/share/fonts/local目录下,最后一级目录自行新建。

cd /usr/share/fonts/local

mkfontscale

mkfontdir

fc-cache -fv

执行完毕后乱码解决,不用修改其他文件。

11.Kali-Rolling新增普通用户

有些应用为了安全考虑,如steam、CrossOver、Chrome等,是不让root账户运行的。

这些设计自有本身的道理,因此创建普通账户并用于日常使用,是一种好习惯。

useradd nuser -m # -m参数用于创建 /home/nuser 文件夹

passwd nuser # 设置密码

usermod -a -G sudo  nuser # 将nuser加入root群组,在需要时可以临时切换sudo权限

chsh -s /bin/bash nuser # 修改登录bash为nuser

有一个小缺点是在非root权限下terminal执行的ls结果全部都是白色字符,很难看。

vim ~/.bashrc # 该文件每次打开bash之前都会前置执行

文件内容:

alias l='ls -CF'
alias la='ls -A'
alias ll='ls -alF'
alias ls='ls --color=auto'

至此ls已经会显示彩色,ll、la等便捷命令也一并添加

12.Kali-Rolling下Steam的安装

JOJO我不做人了

以下操作建议在普通账户下完成,因为你在root下装好了还是得跑普通账户下运行。

https://store.steampowered.com/about/  网站会自动识别系统并给出相应安装包。

sudo dpkg -i steam.deb

sudo apt-get -f install

安装完成后在桌面上会有快捷方式,vim ~/Desktop/steam.desktop

将Exec=/usr/bin/steam %U

修改为Exec=env LIBGL_DRI3_DISABLE=1 /usr/bin/steam %U

双击运行即可正常弹出界面。

后续的游戏会中文显示不出来,安装文泉驿字体大包即可(感谢文泉驿字体包制作组)。

apt-get install fonts-wqy-microhei fonts-wqy-zenhei xfonts-wqy

最后修改一处配置文件:vim /etc/fonts/conf.d/49-sansserif.conf

在倒数几行处,把sans-serif修改为WenQuanYiZen Hei,我采用注释的方式修改,你直接改也可以
<!--<string>sans-serif</string>-->
<string>WenQuanYiZen Hei</string> 
保存后重启

13.Kali-Rolling安装NetBeans

相比Eclipse,NetBeans的使用更为便捷一些,像项目部署发布之类的一个右键就可以全部搞定。对于经常重新编译发布运行看效果的Java项目而言,更实用一些。

官网下载,版本推荐All,任意项目都可以处理:http://www.oracle.com/technetwork/java/javase/downloads/index.html

安装时如果需要Tomcat注意勾选。

安装完成后当然不能正常使用,新建项目和新建文件不可点开。(什么?!Linux的不可用性已经成了常态么...)

经测试是JDK版本问题,最新的NetBeans配套JDK9版本,结果不兼容有些功能的错误就被拦截忽略,表现就是点了没反应。(官方BUG,最为致命)

重新下载JDK8完整版本:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

解压后将jdk1.8.0_171文件夹丢入/usr/lib/jvm下。

最后修改netbeans配置文件,点一下ESC按键, 输入 /关键字 可以快速查找,按n键查找下一个,很实用。

vim NetBeans根目录/etc/netbeans.conf
netbeans_jdkhome="/usr/lib/jvm/java-1.9.0-openjdk-amd64"  #找到这一行替换为下面一行的内容
netbeans_jdkhome="/usr/lib/jvm/jdk1.8.0_171"

:wq保存退出,重启NetBeans,一切正常。

14.Kali-Rolling下安装VirtualBox

虚拟机可以运行跨系统应用,可以做沙箱隔离。

连系统都可以更改的虚拟机方案主要有VMware和VirtualBox,本文介绍后者。Docker只适用于同系统的虚拟化方案。

virtualbox在官网下载安装包或使用apt下载现成包都可以。

懒人一件安装包:apt-get install virtualbox  (用这个命令的下面就不用看了,懒人包完美运行)


折腾开始

官网可以下到最新的二进制安装包:https://www.virtualbox.org/wiki/Linux_Downloads

sudo dpkg -i virtualbox.deb

sudo apt-get -f install

出错的关键提示:

This system is currently not set up to build kernel modules.
Please install the Linux kernel "header" files matching the current kernel
for adding new hardware support to the system.
The distribution packages containing the headers are probably:
    linux-headers-amd64 linux-headers-4.15.0-kali2-amd64

There were problems setting up VirtualBox.  To re-start the set-up process, run
  /sbin/vboxconfig

友好的提示让我们有了一些线索。

sudo apt-get install linux-headers-amd64 linux-headers-4.15.0-kali2-amd64

E: Unable to locate package linux-headers-4.15.0-kali2-amd64
E: Couldn't find any package by glob 'linux-headers-4.15.0-kali2-amd64'
E: Couldn't find any package by regex 'linux-headers-4.15.0-kali2-amd64'

linux-headers-amd64是安装成功了,但后面的那个在公共发行的apt库中并没有出现,看来需要另外去寻找。

先看看系统版本。

DXCyber409@DXCyber409:~/Downloads$ uname -a
Linux DXCyber409 4.15.0-kali2-amd64 #1 SMP Debian 4.15.11-1kali1 (2018-03-21) x86_64 GNU/Linux

来到Kali官网的系统模块池中搜索一下找不到包的包名:linux-headers-4.15.0-kali2-amd64

http://http.kali.org/kali/pool/main/l/linux/

下载之后立马dpkg安装,出现这些关键提示:

Unpacking linux-headers-4.15.0-kali2-all-amd64 (4.15.11-1kali1) over (4.15.11-1kali1) ...
dpkg: dependency problems prevent configuration of linux-headers-4.15.0-kali2-all-amd64:
 linux-headers-4.15.0-kali2-all-amd64 depends on linux-headers-4.15.0-kali2-amd64 (= 4.15.11-1kali1); however:
  Package linux-headers-4.15.0-kali2-amd64 is not installed.

原来是还有相应的依赖包还有安装,按照提示同样再去刚刚的下载页中搜索下载,一共需要这些包:

linux-headers-4.15.0-kali2-all_4.15.11-1kali1_amd64.deb
linux-headers-4.15.0-kali2-all-amd64_4.15.11-1kali1_amd64.deb
linux-headers-4.15.0-kali2-amd64_4.15.11-1kali1_amd64.deb
linux-headers-4.15.0-kali2-cloud-amd64_4.15.11-1kali1_amd64.deb
linux-headers-4.15.0-kali2-common_4.15.11-1kali1_all.deb

安装顺序自行调整,至此headers系列依赖全部解决。

回到virtualbox最开始的提示,我们还需要执行sudo /sbin/vboxconfig

DXCyber409@DXCyber409:~/Downloads$ sudo /sbin/vboxconfig 
vboxdrv.sh: Stopping VirtualBox services.
vboxdrv.sh: Building VirtualBox kernel modules.
vboxdrv.sh: Starting VirtualBox services.
至此使用virtualbox命令试运行,bash中已经没有了错误提示,完结撒花。

参考文献

http://www.kali.org.cn/thread-21833-1-1.html


Ps.virtualbox主机和虚拟机通讯

装了CentOS,正想另开一篇博文记录服务器应用套装的快速安装配置。

CentOS原生界面不可复制粘贴,于是想在外部用Putty一类的软件进行操作,发现主机不能ping通虚拟机。

方法一:端口转发

虚拟机运行后在菜单栏选择Devices(设备)->Network(网络)->Network Settings(网络设置)


点一下Advanced(高级)会出现端口转发。

其中Guest(客户端)IP可以在虚拟机中使用ifconfig看到

确定后在主机中使用telnet 127.0.0.1 22 测试一下。

遗憾的是在linux下的软件Bug众多,例如上面的设置在Windows下确定后即可使用,但在Linux下没有效果,探测端口占用后发现virtualbox没有开启监听转发进程,懒得去修补了用双网卡法绕过吧。


方法二:双网卡

一张NAT卡共用网络,另一张网卡使用Host-Only进行主机和虚拟机主动通讯,这样可以绕过virtualbox端口监听不生效问题,也更通用一些,例如博主在另一篇配置树莓派内外网双线访问的教程中也使用了该套方法。

https://blog.csdn.net/dxcyber409/article/details/80102941

让我们回到主题。

首先在主界面的右上角附近选择Global Tools(全局设置),再选择下面的Host Network Manager(主机网络管理)


之后点Create创建一块虚拟网卡,记得勾选启动DHCPServer选项,否则后面的虚拟机将获取不到IP地址,确定后返回主界面。


在客户机关机的情况下,右键设置,在网络中选择Adapter2,绑定Host-Only配置,同时使用我们刚刚创建的vboxnet0网卡。

开机,ifconfig可以看到客户机已经可以获得网络。

回到主机,ping 192.168.56.101,发现不能通。

使用ifconfig查看网卡,发现缺少带有vboxnet0字样的网卡,再使用ifconfig -a发现是有vboxnet0网卡的。

说明该网卡没有启用。

sudo vim /etc/network/interfaces,找块空地填入下面内容

auto vboxnet0
iface vboxnet0 inet static
address 192.168.56.1
netmask 255.255.255.0
#gateway 192.168.1.1  #这行用于配置网关,此处不需要

填写完毕后关闭虚拟机,sudo /etc/init.d/networking restart 重启网络。

再次在主机ifconfig发现网卡已经出现,启动虚拟机查看IP地址后,在主机已经可以Ping通。

参考资料

interfaces配置详解:https://blog.csdn.net/mountzf/article/details/52035499

15.Kali-Rolling安装网易云音乐

在官网下载deb包后,dpkg安装,apt-get -f install 解决依赖。

点击Applications中的启动图标没有反应,sudo netease-cloud-music后成功运行出界面,确认是需要root权限导致。

Kali使用的桌面环境是GHOME,继而得知我们需要gksu来让软件能够弹出root密码索取框。

*一个北桑的故事:

http://pkg.kali.org/pkg/gksu

[2018-01-21] gksu 2.0.2-9 removed from kali-rolling (Kali Repository) 

看来又得折腾自己配个包了...以后补充。


猜你喜欢

转载自blog.csdn.net/dxcyber409/article/details/80258923