把Kali安装到USB并实现数据可存储

小提示:本文使用的操作系统为Linux,所有命令都在 root 用户下执行

在计算机硬件越来越NB的时代下,把Kali安装到USB中对我们来讲然意义并不是太大,那为什么还要介绍Kali的U盘安装方法呢?

  • 便携
  • 从USB启动Kali完全不影响主机的操作系统(虚拟机运行在宿主机上,总有种不安全的感觉)

以上纯属个人观点

1、材料准备

  • Kail Linx 镜像,Kali Linux 官方下载地址
  • 一个容量为8GB的U盘(建议U盘大小为16GB以上,8GU盘太小,我这里使用8GB容量U盘只是出于演示目的)
  • 一台安装了Linux操作系统的主机(我这里使用的Debian9)

准备Kali镜像:这是我所下载的Kali镜像

准备U盘:
a. 插入U盘,确认设备名称以及分区
使用以下命令查看:

fdisk -l
3.png

由上面可以看出,目前我的系统有三个磁盘:

  • 一个465.8G,设备名称为 sda ,路径是 /dev/sda(这是我本机的系统盘)
  • 一个111.8G,设备名称为 sdb ,路径是 /dev/sdb(这是我额外挂载的用于存储家目录数据的磁盘)
  • 一个7.5G,设备名称为 sdc,路径是 /dev/sdc (这就是我们刚刚插入的8GU盘)

现在我们不管另外两个磁盘,来看下U盘,可以看到,目前我的U盘上有三个分区

  • /dev/sdc1
  • /dev/sdc2
  • /dev/sdc3

b. 清除分区(如果你的U盘没有分区,那你可以直接跳到下一步)
以下是分区清除过程

# 进入U盘(操作U盘)
root@c5:/home/code5# fdisk /dev/sdc

Welcome to fdisk (util-linux 2.29.2).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.

# 输入指令 d ,表示删除分区
Command (m for help): d
# 输入3 表示删除分区3,也就是 /dev/sdc3 这个分区
Partition number (1-3, default 3): 3

Partition 3 has been deleted.

# 删除分区 2
Command (m for help): d   
Partition number (1,2, default 2): 2

Partition 2 has been deleted.

# 删除分区 1,由于上面删除了两个分区,U盘中只剩下一个分区,所以不用选择分区号,fdisk会直接删除分区1
Command (m for help): d
Selected partition 1
Partition 1 has been deleted.

# 写入对U盘的修改
Command (m for help): w

再次查看分区

fdisk -l

从上面可以看到,我们的U盘已经没有任何分区了
所以我们现在拥有了一个没有任何分区的纯净U盘

2、制作启动盘

现在我们的Kali镜像以及纯净U盘准备好了,开始制作kali的启动盘。
要制作Kali的启动盘很简单,使用dd命令即可

# 把 kali 镜像写入到我们的U盘中
dd if=./kali-linux-2019.1a-amd64.iso of=/dev/sdc bs=1M
# if(input file) :  输入
# of(output file):  输出
# bs(bytes)      :  输入/输出块大小

写入完成后,你U盘会多出两个分区,一个是引导分区,一个是Kali的系统分区。


所以,你的U盘看起来应该是这样的


使用 dd 命令制作Kali启动盘后就是可直接使用的 Live 系统了,插上到USB中,把电脑设置为USB启动即可使用。

3、为启动盘做持久化处理

第二步中我们已经把Kali的启动盘制作好了,但还不能持久化存储数据,一旦重启,你对Kali的所有修改都会复原,所以我们要对启动盘做一些持久化的处理,让其可以存储我们的修改和数据。

做持久化处理说白了就是在启动盘中:划分存储分区,配置存储分区,用于存储数据。

所以,我们先使用 parted命令 在U盘中新建一个分区,以下是新建分区步骤:

# 进入U盘(操作U盘)
root@c5:/home/code5# parted /dev/sdc
GNU Parted 3.2
Using /dev/sdc
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted)                                                                  
(parted)
# 使用print指令查U盘所有分区                                                                  
(parted) print                                                            
Model: Generic Flash Disk (scsi)
Disk /dev/sdc: 8053MB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags: s

# 未划分前有两个分区
Number  Start   End     Size    Type     File system  Flags
 1      32.8kB  3483MB  3483MB  primary               boot, hidden
 2      3483MB  3484MB  721kB   primary

# 把剩余空间划分为存储分区
# 3484: 第二个分区的起点
# 8053: U盘总大小
(parted) mkpart primary 3484 8053                                         
(parted) print                                                            
Model: Generic Flash Disk (scsi)
Disk /dev/sdc: 8053MB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags: 

# 划分存储分区后
Number  Start   End     Size    Type     File system  Flags
 1      32.8kB  3483MB  3483MB  primary               boot, hidden
 2      3483MB  3484MB  721kB   primary
 3      3484MB  8053MB  4569MB  primary               lba

# 退出 parted
(parted) quit                                                             
Information: You may need to update /etc/fstab.

root@c5:/home/code5#                                                      

现在,你的U盘看起来应该是这样

分区划分好了,向分区写入 ext3 文件系统, 并命名为 persistence(这一步很重要!这一步很重要!这一步很重要!)

mkfs.ext3 -L persistence /dev/sdc3

写入文件系统后,为存储分区分配一个名为 persistence 的卷标(这一步很重要!这一步很重要!这一步很重要!)

e2label /dev/sdc3 persistence

现在你可以从U盘启动你的Kali,并在Kali的设置中把语言改为中文,重启Kali。

重启后你会发现,语言是英文而不是我们重启前所设置的中文,这说明我们的Kali启动盘还没有实现数据的持久化存储。

那是因为我们还未配置我们的存储分区。

现在,让我们重新插入U盘。

挂载我们的存储分区(因为我们要向存储分区写入配置文件)

# 在挂载目录下新建 my_usb 目录用于挂载我们的存储分区
mkdir -p /mnt/my_usb

# 挂载存储分区到 /mnt/my_usb
mount /dev/sdc3 /mnt/my_usb

写入配置文件

# 在存储分区创建配置文件 persistence.conf 并写入内容: / union
echo "/ union" > /mnt/my_usb/persistence.conf

卸载存储分区

umount /dev/sdc3

持久化的处理到这里已经结束了,现在!你可以弹出你的U盘,再次尝试修改Kali的使用语言 <*_*>

关于启动选项问题

在启动过程中你会发现Kali给出了许多个启动选项

其中关于 持久化 的选项有两个

  • Live system (persistence, check kali.org/prst)
  • Live system (encrypted persistence, check kali.org/prst)

Live system (persistence, check kali.org/prst):这个选项用于启动可持久化的Kali
Live system (encrypted persistence, check kali.org/prst):这个选项用于启动可持久化的加密kali(也就是把存储分区加密后的kali),关于如何制作加密Kali,请看Kali官方教程,这里不再赘述。

什么,你不想看官方教程,那我在这里把命令简单的复制并解释一下下

# 首先把你的U盘搞成纯净U盘
# 假设你的U盘设备为 /dev/sdc
# 假设你使用的Kali镜像为 kali.ios



### 把镜像写入到到U盘,得到两个分区 /dev/sdc1 /dev/sdc2
dd if=kali.iso of=/dev/sdb bs=1M


### 划分存储分区 /dev/sdc3
# 选择操作的设备
parted /dev/sdc
#划分一个 start~end 大小的分区,根据你的U盘大小来设置
mkpart primary start end
# 退出 parted
quit


### 加密存储分区 /dev/sdb3
# LUKS加密 存储分区 /dev/sdc3
cryptsetup --verbose --verify-passphrase luksFormat /dev/sdc3
# 映射 /dev/sdb3 存储分区为 my_sub
cryptsetup luksOpen /dev/sdc3 my_usb
# 向分区写入 ext3 文件系统
mkfs.ext3 /dev/mapper/my_usb
# 为存储分区分配卷标 persistence
e2label /dev/mapper/my_usb persistence


### 写入配置文件
# 创建挂载目录
mkdir -p /mnt/my_usb
# 挂载存取分区到 /mnt/my_usb
mount /dev/mapper/my_usb /mnt/my_usb
# 向存储分区写入配置文件 persistence.conf ,内容为:/ union
echo "/ union" > /mnt/my_usb/persistence.conf
# 卸载存储分区
umount /dev/mapper/my_usb
# 关闭映射
cryptsetup luksClose /dev/mapper/my_usb

其实制作加密版的可持久化Kali只是多了一个 LUKS加密 的步骤,和普通的可持久Kali的制作差不多。

后语

后语?没想好,下回补上


©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 218,122评论 6 505
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,070评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,491评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,636评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,676评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,541评论 1 305
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,292评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,211评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,655评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,846评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,965评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,684评论 5 347
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,295评论 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,894评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,012评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,126评论 3 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,914评论 2 355

推荐阅读更多精彩内容