SaltStack常用组件使用 SaltStack配置文件说明 轻量级DNS、DHCP服务软件DNSMASQ 千万级PV(日)的移动应用架构如何实现 高效运维最佳实践-运维自动化之殇 Ubuntu 14.04 Linux如何配置静态IP地址和DNS服务器 ELK 常见错误与解决办法 Elasticsearch 集群配置管理常用操作 常用数字证书格式相互转换-OpenSSL/Keytool/Jks2pfx ELK 综合日志归档分析系统(2)-Logstash安装配置 Elasticsearch之Shield认证与权限管理 ELK 综合日志归档分析系统(1)-Elasticsearch-Redis安装配置 Redmine 3.2 安装配置指南 CentOS6 大型web系统数据缓存设计 Redis 集群方案 Linux 内核TCP优化详解 SaltStack初始化安装配置 OpenLDAP常用操作 OpenLDAP统一身份认证 [CentOS6/7] 构建Linux Skype Message消息推送API服务(Zabbix集成告警) Tomcat 生产服务器性能优化 Zabbix结合iptables监控网络流量 Linux操作系统环境配置与优先级问题 深入 NGINX: 我们如何设计性能和扩展 Windows SQL Server 性能计数器详细说明 Windows性能计数器说明 Ubuntu安装openntpd报错:Starting openntpd: /etc/openntpd/ntpd.conf: Permission denied locale: Cannot set LC_ALL to default locale: No such file or directory OpenSSL拆解p12证书公约和私钥 Linux sar 统计系统性能(网卡、内存和交换空间、CPU资源等) Linux Shell /dev/null 2>&1 含义 Windows 2003操作系统网络不通 构建私有yum安装源镜像站点(openstack) CentOS6/RedHat6新增网卡识别问题 Ubuntu 14.04 Server优化与使用问题解决 Redhat/CentOS6系统使用ntfs-3g挂载NTFS分区 Linux GPT挂载超过2TB磁盘 Linux系统性能优化、测试和监控工具梳理 修复WIN2003远程桌面服务无法访问 解决CentOS“Zabbix discoverer processes 75% busy”的问题 REHL/CentOS安装phpMyadmin

Kali Linux USB多分区持久存储设备

2015年06月27日

Kali Linux是一款 集合多种安全测试工具的Linux发行版本,本文将介绍如何在USB移动存储设备中建立“加密分区”和“非加密普通分区”用来持久保存系统运行时创建的数据。如下图所示:

kali-multi-usb-persistence

为了完成本次工作,需要准备kali linux iso镜像、U盘8G或16GB。本文使用32GB的U盘。

1.创建Kali Linux U盘启动分区

首先需要从www.kali.org下载kali Linux ISO镜像,将干净的U盘插入Linux系统中。使用DD命令将ISO镜像写入U盘,创建启动分区,如:

dd if=kali-linux-1.0.9a-amd64.iso of=/dev/sdb bs=1M

完成,U盘将会有一个可用于启动Kali Linux的启动分区,用于live 方式启动,在此启动方式的系统数据将不会被保存。

2.创建加密工作分区

在U盘中使用parted创建7GB的普通非加密的分区,并标记为work.

root@kali:~# parted
GNU Parted 2.3
Using /dev/sda
Welcome to GNU Parted! Type 'help' to view a list of commands.

(parted) print devices
/dev/sda (480GB)
/dev/sdb (31.6GB)

(parted) select /dev/sdb
Using /dev/sdb

(parted) print
Model: SanDisk SanDisk Ultra (scsi)
Disk /dev/sdb: 31.6GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos

Number Start End Size Type File system Flags
1 32.8kB 2988MB 2988MB primary boot, hidden
2 2988MB 3053MB 64.9MB primary fat16

(parted) mkpart primary 3053 10000
(parted) quit
Information: You may need to update /etc/fstab.

磁盘分区创建完成后,使用LUKS进行加密、格式化,并新增标记:

cryptsetup --verbose --verify-passphrase luksFormat /dev/sdb3
cryptsetup luksOpen /dev/sdb3 my_usb
mkfs.ext3 /dev/mapper/my_usb
e2label /dev/mapper/my_usb persistence

在分区中创建persistence.conf,让在重启数据持久保存。

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

执行完上面的步骤,如果正确的情况下,将创建了一个常规分区、并对分区的中数据进行了加密,在选择该分区启动时,将要求提供分区的密码。

3.创建普通5GB分区

接下来,我们将创建一个普通的非加密分区。

root@kali:~# parted /dev/sdb
GNU Parted 2.3
Using /dev/sdb
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) print
Model: SanDisk SanDisk Ultra (scsi)
Disk /dev/sdb: 31.6GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos

Number Start End Size Type File system Flags
1 32.8kB 2988MB 2988MB primary boot, hidden
2 2988MB 3053MB 64.9MB primary fat16
3 3053MB 10.0GB 6947MB primary

(parted) mkpart primary 10000 15000
(parted) quit
Information: You may need to update /etc/fstab.

为分区新增标签,并命名为:work

mkfs.ext3 /dev/sdb4
e2label /dev/sdb4 work

mkdir -p /mnt/usb
mount /dev/sdb4 /mnt/usb
echo "/ union" > /mnt/usb/persistence.conf
umount /mnt/usb

4.U盘启动Kali Linux

插入U盘后,需要选择从U盘启动,在出现启动界面boot menu,按TAB键编辑启动菜单。通过输入不同的persistence-label=work 或 persistence-label=persistence来启动普通分区或加密分区。

[persistence-work

](http://images.wanglijie.cn/public/img/posts/2015/06/persistence-work.png)

原文链接

转载请注明:自动化运维 » Kali Linux USB多分区持久存储设备