Live Mode Persistence – Hệ thống Kali Linux di động

Bắt đầu từ phiên bản Kali 1.0.7, nhà phát triển Offensive Security đã thêm vào một hai tùy chọn mới cho Kali Linux Live USB, đó là Persistence và Encrypted Persistence.

USB PERSISTENCE LÀ GÌ?

Persistence là một tính năng cho phép ta lưu lại dữ liệu và các thay đổi hệ thống đã thực hiện ở chế độ Live Mode khi boot từ USB lên một phân vùng khác trên USB. Với tùy chọn Encrypted Persistence thì phân vùng dữ liệu này còn được mã hóa bằng một mật khẩu lúc đăng nhập để tăng thêm tính bảo mật dữ liệu của bạn.
Tính năng này mở ra một kỷ nguyên mới về khả năng di động của một chiếc USB Kali Linux, cho phép bạn khởi động đến một hệ thống của chính bạn, thêm vào đó là phân vùng dữ liệu được mã hóa liên tục, tất cả điều đó đều nằm gọn trong cùng một ổ USB.

HƯỚNG DẪN TẠO USB LIVE PERSISTENCE

Bạn hãy thực hiện tạo USB Boot như bình thường.

Sau khi đã hoàn tất. Bạn hãy dùng một phần mềm quản lý phân vùng, tạo một phân vùng ext trên USB và đặt cho nó cái nhãn (label) là persistence. Dưới đây mình dùng các lệnh có sẵn trên Kali để tạo phân vùng hướng dẫn chi tiết.

XÁC ĐỊNH VỊ TRÍ KẾT THÚC PHÂN VÙNG:

Ví dụ trường hợp USB của mình có dung lượng là 16 GB, thì mình sẽ tạo một phân vùng ext từ vị trí kết thúc vùng Boot đến mốc 15 GB trên USB, ta đặt biến end là 15 GB:

$ end=15gb

Nếu USB 8 GB thì đặt là 7 GB thôi nhé!

XÁC ĐỊNH VỊ TRÍ BẮT ĐẦU PHÂN VÙNG:

$ read start _ < <(du -bm kali-linux-2016.2-amd64.iso | tail -1); echo $start

Mình sẽ giải thích đoạn lệnh này:
read var _ < <(command): Lệnh read này sẽ đọc kết quả của lệnh command và gán cho biến var.
du -bm <file>: Lệnh du dùng để tính toán dung lượng file, tùy chọn -b để xuất kết quả với đơn vị byte, tùy chọn -m để xuất kết quả với đơn bị MB nếu có thể. Vì kết quả có thể có nhiều dòng, nên kết hợp với lệnh tail -1 sẽ chỉ xuất ra kết quả cuối cùng là 1 dòng từ dưới đếm lên.
echo [tham-số]: Xuất ra kết quả của biến hoặc chuỗi yêu cầu.

TẠO PHÂN VÙNG:

Bạn hãy dùng lệnh fdisk -l để xác định thiết bị nào là USB của bạn. Ví dụ của mình là sdc. Sau đó chạy lệnh:

$ parted /dev/sdc mkpart primary $start $end

Lệnh parted sẽ sử dụng hai tham số là điểm bắt đầu và điểm kết thúc, ta đã gắn hai giá trị đó cho hai biến start và end, và bây giờ ta đem ra sử dụng.
Sau khi Enter, nó có thể thông báo rằng nó không thể sử dụng các giá trị bắt đầu chính xác bạn chỉ định; nếu có, hãy nhâp Yes giá trị đề xuất thay thế. Và tiếp theo, nếu thông báo rằng phân vùng đó không được đặt ở vị trí tối ưu, hãy trả lời Ignore. Ví dụ:

[email protected]: ~# parted /dev/sdc mkpart primary $start $end
Warning: You requested a partition from 2881MB to 15.0GB (sectors
5626953..29296875).
The closest location we can manage is 3021MB to 15.0GB (sectors
5899648..29296875).
Is this still acceptable to you?
Yes/No? yes
Warning: The resulting partition is not properly aligned for best performance.
Ignore/Cancel? ignore

CẤU HÌNH PHÂN VÙNG PERSISTENCE:

Vậy là bạn đã tạo xong phân vùng, hãy tiếp tục thực hiện format và đặt label cho phân vùng đấy.

mkfs.ext3 -L persistence /dev/sdc3

Nếu nó hỏi xác nhận Proceed anyway?, cứ nhập y và Enter. Quá trình này sẽ mất khoảng vài phút, hãy kiên nhẫn chờ đợi.
Ví dụ:

[email protected]: ~# mkfs.ext3 -L persistence /dev/sdc3
mke2fs 1.42.13 (17-May-2015)
/dev/sdc3 contains a ext3 file system labelled ‘persistence’
last mounted on /mnt/my_usb on Sat Oct 28 12:06:10 2017
Proceed anyway? (y,n) y
Creating filesystem with 2924653 4k blocks and 731520 inodes
Filesystem UUID: cdff0341-009f-452c-87d1-d25f4b25d8d4
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208

Allocating group tables: done
Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done

Gắn label lại một lần nữa:

e2label /dev/sdc3 persistence

Mount phân vùng đó vào và tạo file persistence.conf cho nó:

$ mkdir -p /mnt/my_usb
$ mount /dev/sdc3 /mnt/my_usb
$ echo “/ union” > /mnt/my_usb/persistence.conf
$ umount /dev/sdc3

THIẾT LẬP MẬT KHẨU ĐĂNG NHẬP:

Để khởi động vào chế độ Persistence, bạn hãy chọn vào Live USB Persistence hay Live System (Persistence) ở Menu Boot của USB nhé.
Không biết rằng các bạn có gặp phải trường hợp này không, nhưng lần đầu mình khởi động Persistence lên thì phải đăng nhập. Hãy thử root/toor.
Nếu không được, bạn hãy ấn tổ hợp Ctrl + Alt + F2 để vào CLI và gõ lệnh passwd để đặt lại mật khẩu nhé!
Và đây là thành quả:

Hệ thống được khởi động từ USB.

Vậy là hoàn thành rồi đấy, hãy thử và trải nghiệm!

 

1 thought on “Live Mode Persistence – Hệ thống Kali Linux di động

Leave a Reply

Your email address will not be published. Required fields are marked *