[P5] Cách mã độc hiện đại hoạt động
Mở bài
Tiếp tục chuỗi series về mã độc hiện đại thì hôm nay mình sẽ nói về một cách mà mã độc thực hiện trong quá trình ẩn mình. Lưu ý, bài viết này nhằm mục đích nghiên cứu về mã độc hiện đại, không chịu trách nhiệm cho bất kì hành vi sử dụng kiến thức trong đây để tấn công người khác hay thực hiện các hành vi vi phạm pháp luật,
Thân bài
-
Việc hiểu rõ hơn về cách mã độc ẩn mình giúp người phòng thủ có thể triển khai các biện pháp bảo mật đúng đắn. Kẻ tấn công luôn luôn tìm kiếm các cách thức mới hoặc đôi khi chỉ là các tính năng cũ để triển khai các stage độc hại, một trong số đó là sử dụng định dạng file .slk
-
.slk là đuôi file của Symbolic Link - SYLK, đây là định dạng tệp do Microsoft phát triển dùng để trao đổi dữ liệu giữa các ứng dụng đặc biệt là bảng tính bằng các kí tự ANSI có thể hiển thị. Phần mở rộng .slk vẫn còn ánh xạ đến Excel theo mặc định của Microsoft Office trong các phiên bản 2010, 2013, 2016 và các phiên bản sau này. Đã có nhà nghiên cứu bảo mật tên Matt Nelson đã chứng minh phương pháp tấn công kết với DDE (Dynamic Data Exchange) cùng với SYLK, và trong thực tế, rất nhiều phần mềm độc hại cũng đã vũ khí hóa cách thức này.
1. Bypass Protected View
Đối với các tệp tin Office thông thường khi download từ internet xuống sẽ kích hoạt Protect View, giúp ngăn chặn thực thi marco và hiển thị hộp thoại

Tuy nhiên với định dạng .slk thì sẽ được bỏ qua

Khi người dùng click chuột vào xem, Protected View sẽ được bỏ qua
2. Tải xuống mà không hề vấp phải bất kì trở ngại
- Danh sách tệp đính kèm bị chặn của MS Outlook: không bao gồm định dạng .slk.
- OWA (Outlook Web Access) chặn theo mặc định các phần mở rộng sau: .slk cũng không năm trong đó .
- Blackist các loại tệp an toàn khi duyệt web của Chrome: .slk không được đánh dấu là loại tệp nguy hiểm.

3. Ưu điểm
- Giả mạo thành file CSV vô hại Một điểm cực kì nguy hiểm của cách tiếp cận này là Excel nhận định file .slk bằng nội dung chứ không thông qua extension. Nếu một tệp bắt đầu bằng "ID;P", ngay cả khi phần mở rộng của nó là ".csv", Excel sẽ nhận ra đó là tệp SYLK và hiển thị hộp thoại cho người dùng như bên dưới

Và khi người dùng click Yes nó sẽ tiến hành phân tích như các tệp SYLK. Và khi này, marco độc hại được đính kèm sẽ được kích hoạt hành vi của mình
4. Nhược điểm
Để thực hiện trick này vẫn cần yêu cầu người dùng Enable Content. Tuy nhiên với Microsoft Office cho Mac 2011 chứa một lỗi bảo mật đã công khai nhưng chưa vá, khi mở tệp SYLK có chứa macro, không có cảnh báo bảo mật nào được hiển thị và macro sẽ chạy ngầm. Vì phiên bản này đã hết thời hạn hỗ trợ, lỗ hổng này là một lỗ hổng 0-day vĩnh viễn.

5. Demo
Dưới đây là mã độc được giả mạo thành file.csv và kích hoạt calc.exe

Code mẫu
ID;P
O;E
NN;NAuto_open;ER101C1
C;X1;Y101;EEXEC("CALC.EXE")
C;X1;Y102;EHALT()
E
All rights reserved