Lỗi này xảy ra hầu hết ở phiên bản Winrar 4.xx với định dạng zip format giúp kẻ xấu có thể giả mạo một file thực thi nhìn như một file ảnh, hoặc một file text nhưng lại có khả năng thực thi khi người dùng double click để thực thi trên giao diện Winrar.

Bài viết này, Kevin sưu tầm, dịch và biên soạn lại chia sẻ cho thành viên diễn đàn cộng đồng C Việt. Nếu bạn thấy nội dung này ở một site khác không phải là ở congdongcviet.com, vui lòng thông báo cho ban quản trị để kiểm tra

Để tìm hiểu lỗi này, chúng ta có thể xem qua về cấu trúc của file .zip


Nhìn vào cấu trúc file zip, chúng ta có thể thấy offset 30 là tên của file nén. Khi nén bằng Winrar ở dạng file zip, cấu trúc sẽ giữ nguyên, tuy nhiên winrar đưa thêm một số thuộc tính riêng.

Ví dụ nén một file đặt tên "TEST1.txt" có nội dung là "AAAA" khi nén bằng Winrar 4 sẽ có dạng như sau:


Như ví dụ trên sẽ thấy Winrar chia làm 2 phần, cả 2 đều có tên file nén. Tên file ở phần đầu sẽ được hiển thị ở Winrar GUI, tên file ở phần thứ 2 sẽ là tên khi bạn giải nén.

Vậy điều gì sẽ xảy ra ở đây?
Winrar có thể hiển thị một tập tin giả mạo khi người dùng mở file nén thông qua giao diện Winrar. Khi giải nén người dùng sẽ nhận được tập tin thực sự được nén.

Điều này sẽ rất nguy hiểm, nếu hacker sửa đổi tên file thực thi thành "ReadMe.txt" hoặc "Huong dan cai dat.txt", khi người dùng click trên Winrar GUI, một trojan sẽ có thể thực thi.

Quá trình thực hiện khai thác như sau:

1. Tạo ra một file chạy bất kỳ, và chắc chắn chúng có thể chạy, ví dụ là sẽ show nên một MessageBox


2. Nén lại thành dạng .zip bằng sử dụng Winrar 4


3. Mở file nén bạn vừa tạo bằng một Hex Editor, và sửa file name ở phần đầu như đã nói ở trên (Nếu sửa tên file có độ dài khác với độ dài tên file gốc bạn cần một chút kỹ thuật nữa, ở bài này sẽ không giới thiệu)


4. Cuối cùng mở lên và sẽ thấy winrar hiển thị là một file ảnh, nhưng khi bạn double click thì file thực thi sẽ chạy


Nếu người dùng không double click để mở file mà giải nén(extract here...) ra rồi mới mở thì sẽ nhìn thấy chính xác file đã được nén. Tuy nhiên, hacker kết hợp lỗi này với lỗi Unicode RLO Spoofing của Windows bằng sử dụng ký tự unicode (U+202E). Ký tự này sẽ làm cho Windows nhầm lẫn trong việc hiển thị file "Fede.jpg.exe" thành "Fedexe..jpg" sẽ cho bạn một file giả mạo gần như hoàn hảo. (Mở bằng giao diện Winrar bạn sẽ thấy tên file là Fede.jpg, còn extract ra bạn sẽ thấy tên file là Fedexe..jpg)

Hi vọng giúp mọi người có thể hiểu để tự bảo vệ máy tính của mình trước nguy cơ tấn công của Malware