Cách khôi phục tệp đã xóa trong Linux

Tác giả sysadmin, T.M.Hai 19, 2022, 04:47:57 CHIỀU

« Chủ đề trước - Chủ đề tiếp »

0 Thành viên và 1 Khách đang xem chủ đề.

Cách khôi phục tệp đã xóa trong Linux


Nếu bạn vô tình xóa một tệp trong Linux, đừng lo lắng, bạn vẫn có thể khôi phục tệp đó miễn là vùng đĩa đó chưa bị ghi đè. Bài đăng này sẽ chỉ cho bạn cách dễ dàng khôi phục tệp đã xóa trong Linux.

Foremost có thể tìm kiếm đĩa hoặc tệp hình ảnh thô để khôi phục tệp dựa trên tiêu đề, chân trang và cấu trúc dữ liệu nội bộ của chúng.

1. Cài đặt quan trọng nhất

Foremost có sẵn trong nhiều bản phân phối khác nhau của Linux.

Mint/Debian/Ubuntu

Chúng ta có thể cài đặt Foremost trong Linux Mint, Debian hoặc Ubuntu bằng cách chạy lệnh sau.

Mã nguồn [Chọn]
apt-get install foremost
CentOS/RHEL

Theo mặc định, Foremost không có sẵn trong bất kỳ kho lưu trữ CentOS/RHEL tiêu chuẩn nào, vì vậy chúng tôi sẽ cài đặt nó trực tiếp từ RPM.

Mã nguồn [Chọn]
yum install https://forensics.cert.org/centos/cert/7/x86_64//foremost-1.5.7-13.1.el7.x86_64.rpm -y
RPM này dành cho el7, el6 có thể được tìm thấy ở đây.

Không thực hiện được các tùy chọn này, bạn có thể tải xuống nguồn Quan trọng nhất tại đây.

Trong ví dụ này, chúng tôi đang sử dụng CentOS 7, tuy nhiên, sau khi bạn đã cài đặt Foremost, các bước còn lại sẽ giống nhau trong bất kỳ bản phân phối Linux nào.

2. Xóa một tập tin

Bây giờ Foremost đã được cài đặt, hãy xóa một tệp. Điều đáng chú ý là Foremost không cần phải cài đặt khi tệp bị xóa, đó chỉ là thứ tự tôi tình cờ thực hiện.

Trong ví dụ này, chúng tôi sẽ xóa tệp image.jpg được hiển thị bên dưới.

Mã nguồn [Chọn]
[ root@centos7 ~]# file image.jpg
image.jpg: JPEG image data, JFIF standard 1.01

[ root@centos7 ~]# md5sum image.jpg
f2b6f5c9f3795363cddfd6aae6d1ba0d image.jpg

Chúng tôi sẽ sử dụng thông tin này sau để xác minh rằng tệp đã được khôi phục thành công. Bây giờ chúng ta sẽ xóa tệp bằng lệnh rm.

Mã nguồn [Chọn]
[ root@centos7 ~]# rm -f image.jpg
3. Khôi phục tệp đã xóa

Tiếp theo, chúng tôi sẽ tạo một thư mục để khôi phục các tệp của chúng tôi. Trước hết yêu cầu một thư mục trống cho mục đích này, vì vậy chúng tôi sẽ tạo /root/restored/.

Mã nguồn [Chọn]
[ root@centos7 ~]# mkdir /root/restored
Bây giờ chúng tôi đã sẵn sàng chạy lệnh Foremost và khôi phục tệp hình ảnh của mình. Công tắc -i được sử dụng để chỉ định đĩa hoặc tệp hình ảnh mà chúng tôi muốn tìm kiếm, trong khi -t được sử dụng để khôi phục các tệp thuộc loại đã chỉ định. Foremost hỗ trợ nhiều tệp khác nhau, hãy kiểm tra trang hướng dẫn quan trọng nhất để biết danh sách đầy đủ. Điều này là bắt buộc vì trước hết tìm kiếm trên đĩa dựa trên các tiêu đề mà loại tệp đó sử dụng.

Mã nguồn [Chọn]
[root@centos7 ~]# foremost -i /dev/sda3 -t jpg -o /root/restored/
Processing: /dev/sda3
|*************************************************** *************************************************** *************************************************** *********************************|

Quá trình này mất khoảng 2 phút để hoàn thành trên đĩa 18gb. Thao tác này sẽ tìm bất kỳ tệp.jpg nào trong /dev/sda3 và khôi phục chúng vào thư mục /root/restored/, miễn là dung lượng chúng đang sử dụng trên đĩa chưa bị ghi đè bởi bất kỳ thứ gì khác.

Nếu chúng ta nhìn vào bên trong thư mục /root/restored của mình, chúng ta có thể thấy rằng tệp hình ảnh của chúng ta đã được khôi phục thành công. Hàm băm md5 của tệp hoàn toàn giống với tệp trước khi chúng tôi xóa tệp.

Mã nguồn [Chọn]
[ root@centos7 ~]# md5sum /root/restored/jpg/18608472.jpg
f2b6f5c9f3795363cddfd6aae6d1ba0d /root/restored/jpg/18608472.jpg

Vì tên tệp không được lưu trữ trong chính tệp nên không thể khôi phục tệp bằng tên tệp ban đầu, tuy nhiên, tất cả dữ liệu đều ở đó.

Chúng tôi đã cài đặt công cụ Foremost trên máy CentOS 7 của mình và sử dụng công cụ này để khôi phục tệp đã xóa. Bằng cách sử dụng hàm băm md5 của tệp trước và sau khi khôi phục, chúng tôi có thể xác nhận rằng chính tệp đó đã được khôi phục thành công.

Trước hết là một công cụ khá đơn giản để sử dụng để thực hiện khắc dữ liệu, tôi đã sử dụng nó với một số thành công trong một số thử thách kiểu Capture The Flag (CTF).