用 Kali Linux 创建U盘随身系统

之前,想通过 Linux 上的 hdparm 命令,擦除降速了的 SanDisk CZ80,然而装在 VirtualBox 里的 Linux 是没法对宿主机的 USB 设备进行 ATA Secure Erase 操作的。于是萌生了制作 Linux Live USB 的想法。

曾经也用过 ubuntu 的 Live CD。既然是 CD 嘛,那整个系统都是只读的,所做的任何修改、安装的任何软件都是重启就丢,即便把 .iso 制作成U盘,也还是这样。

也有各种第三方制作工具,可以实现修改持久化,就是所谓 persistence。比如 LinuxLive USB,实现持久化的方法,是在U盘的 FAT32 文件系统上创建一个文件,用来保存修改。由于 FAT32 不支持 4GB 以上的大文件,持久化的存储空间最多也就只能是 4GB。现在 USB 3.0 接口的U盘动辄 16GB 起步,4GB 的限制浪费了大部分空间。那能把U盘格式化成 exFAT,突破限制吗?对不起,不行。并且,这些第三方的持久化模式对 Mac 的支持也不好,要么直接不能启动,要么只能启动为非持久模式。

归根结底,像 ubuntu 之类的发行版提供的 Live 模式,只是为了让新用户体验,从设计上就没打算让你装U盘上带着干活。

还有一种办法,就是把系统直接安装在U盘上。这样做对发行版没有多少要求,也不用担心数据关机就丢,但是兼容性差:这台机器上用得好好的,到了另外一台上面可能就出现各种驱动问题。

有没有这么一种发行版,可以从U盘启动,支持持久化,还不挑计算机呢?

ubuntu ubuntu ubuntu Kali
制作工具 LinuxLive USB UNetbootin dd Win32 Disk Imager/dd
制作平台 Windows Windows/Linux/macOS Linux/macOS Windows/Linux/macOS
持久化 仅限PC 仅限PC PC/Mac
4GB 限制

Kali Linux

Kali Linux 是一个基于 Debian 的、用于数字取证和渗透测试的发行版。其用户的使用场景往往是,绕过目标机原操作系统,直接从安装了 Kali 的U盘或光盘启动,事了拂衣去,深藏身与名。Live USB系统是 Kali 用户很常用的一种方式,发行版设计的时候就考虑到了持久化等问题。官方文档上直接提供了制作U盘系统创建持久化分区的教程,不用再去搜索第三方工具了。

制作U盘系统

下载并验证得到的 .iso 文件。官方特别强调,应当从官方来源下载,并且必须进行 SHA256 验证。考虑到速度问题,我是从科大源下载的(好像并不是官方来源?),但是下载后按照文档要求进行了验证。在下载文件里植入恶意内容的事情已经发生过很多次了,Kali 作为一款取证和渗透用的发行版,如此要求并不是杞人忧天。

Windows 上还需要第三方工具 Win32 Disk Imager,Linux/macOS 只要 dd 命令即可。

当然,首先你得认准了要写入的设备才行。在 Windows 上,好像并不是件难事,毕竟谁也不会把 ISO 文件写到 C 盘去。Linux 和 macOS 上就困难一些,sdadisk2 之类的设备太多,一不留神真的错把主机硬盘给覆写了,哭都来不及。建议先把计算机上能拔掉的 USB 设备全都拔掉,也包括制作系统的U盘,然后 Linux 用 fdisk -l 、macOS 用 diskutil list,列出所有存储设备;插入U盘,再列出设备。两相对照,新增的 /dev/sdd 或者 /dev/disk2 之类,就是你要写的U盘了。

如果是 macOS,还需要把刚刚插入的U盘卸载:

diskutil unmountDisk /dev/diskN

为了防止有人直接复制命令酿成惨剧,我用 diskN 来指代设备, diskN 不是正常的设备名,万一执行了也会因为找不到设备而退出。使用时应该把 N 替换成U盘设备实际对应的数字。

然后就是写入。cd 到 ISO 文件所在目录,

dd if=kali-linux-2017.1-amd64.iso of=/dev/diskN bs=1m

可能会需要 root 权限。

其中 bs 是一次读写的字节数上限。Linux 建议设置为 bs=512k。如果 macOS 出现 Invalid number '1m' 的提示,那你可能用的是 GNU 版本的 dd, 改成 bs=1M 即可。

macOS 上把设备名称从 /dev/diskN 改为 /dev/rdiskN (其中 r 代表 raw),可以显著提高写入速度。

然后就是漫长的、无响应的阻塞和等待。直到出现类似下面的提示时,U盘系统就制作完成了。

2911+1 records in
2911+1 records out
3053371392 bytes transferred in 2151.132182 secs (1419425 bytes/sec)

持久化

但是这时的 Live 系统还不支持持久化。

Kali 的持久化是直接在U盘上开辟分区的,大小仅受U盘容量限制,还支持加密。持久化操作应当在 Linux 上进行,因为其他系统不方便建立 ext3 文件系统。我是在 ubuntu Live 上操作的,这样总共就需要 2 块U盘,似乎直接在刚才建立的 Kali Live 系统上操作也可行。

为了便于说明,我们作如下假设:

  • 你拥有系统的 root 权限,
  • U盘的设备名为 /dev/sdb
  • U盘容量为 8GB

先用 fdisk -l 检查查看一下U盘,应该能看到 2 个分区,/dev/sdb1/dev/sdb2,我们将要创建的是 /dev/sdb3

然后用 parted 划分分区:

end=7gb
read start _ < <(du -bcm kali-linux-2016.2-amd64.iso | tail -1); echo $start
parted /dev/sdb mkpart primary $start $end

Shell 变量 startend 代表分区的起始点。因为U盘容量只有 8GB,我们把分区的 end 设为 7GB;start 是通过 ISO 文件的大小算出来的,所以这时的工作目录下需要有一份和制作U盘系统一致的 ISO 文件。如果 ISO 文件的大小是 3GB,新分区的大小大约就是 end - start = 4GB。如果U盘容量更大,end 也可以设得大些。

parted 可能会提示,无法使用你指定的 start,接受它建议的数值就好;还会提示分区没有放在 optimal location,忽略即可。gpartedparted 的图形界面版本,也可以使用。

第三步,创建 ext3 文件系统并命名为 persistence

mkfs.ext3 -L persistence /dev/sdb3
e2label /dev/sdb3 persistence

第四步,挂载新的 /dev/sdb3,创建配置文件。

mkdir -p /mnt/my_usb
mount /dev/sdb3 /mnt/my_usb
echo "/ union" > /mnt/my_usb/persistence.conf
umount /dev/sdb3

完成!

使用的时候,PC 在 BIOS 里选择从U盘启动,Mac 按住 Option 启动即可。选择进入 Live USB Persistence ,创建的修改就都会被保存在U盘上了。

参考资料:

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

推荐阅读更多精彩内容