Có thể khai thác lỗ hổng trên mã độc Emotet để ngăn chặn sự lây lan của chính nó

Khai thác lỗi bảo mật trên Emotet

Đầu năm nay, các nhà nghiên cứu an ninh mạng đã phát hiện ra một lỗi bảo mật trên hệ thống của Emotet – mã độc email spam khét tiếng từng gây ra một loạt các cuộc tấn công botnet và ransomware trên toàn cầu. Được biết lỗ hổng này đã giúp họ kích hoạt một công tắc ngắt (kill-switch) và ngăn mã độc thực hiện lây nhiễm trên các hệ thống trong vòng 6 tháng.

“Thường thì mỗi khi lỗ hổng mới xuất hiện sẽ là tin tốt với những kẻ tấn công, và ngược lại, tin xấu với hầu hết tất cả chúng ta,” James Quinn, chuyên gia bảo mật từ Binary Defense cho biết.

“Tuy nhiên, chúng ta cần phải hiểu rằng mã độc cũng là phần mềm, và phần mềm thì luôn đối mặt với nguy cơ có chứa lỗ hổng. Cũng như việc tin tặc có thể khai thác các lỗi bảo mật trên các phần mềm hợp pháp để gây hại, chúng ta cũng có thể phân tích đảo ngược mã độc (reverse-engineer) để tìm ra những yếu điểm của chúng, khai thác ngược và đánh bại chúng.”

Trước khi bị kẻ tấn công phát hiện và tung ra bản vá lỗi, công tắc ngắt này đã được kích hoạt và hoạt động trong vòng 182 ngày, từ ngày 6 tháng 2 năm 2020 cho đến ngày 6 tháng 8 năm 2020.

Bị phát hiện lần đầu vào năm 2014, Emotet đã phát triển từ một mã độc ngân hàng dần trở thành một “con dao Thụy Sĩ đa năng”, vừa có thể hoạt động như một trình tải xuống, một công cụ đánh cắp thông tin, vừa hoạt động như một spambot, tùy thuộc vào cách mà nó được triển khai.

Cũng mới đầu tháng 2 qua, mã độc này bị phát hiện phát triển thêm một tính năng mới, cho phép nó lợi dụng các thiết bị đã bị nhiễm độc trước đó để lây nhiễm chéo trên thiết bị mới thông qua các mạng Wi-Fi lân cận.

Cùng với tính năng mới cập nhật trên, kẻ tấn công còn bổ sung thêm một cơ chế duy trì xâm nhập khác. Theo Binary Defense, cơ chế này của chúng sẽ “tạo ra một filename để lưu giữ mã độc trên hệ thống của từng nạn nhân, bằng cách sử dụng một filename exe hoặc dll được chọn ngẫu nhiên từ thư mục system32.”

Mã độc này mã hóa filename bằng một XOR key, sau đó lưu trữ filename này trên Windows registry value cho một số seri ổ cứng của nạn nhân (volume serial number).

Phiên bản đầu tiên của kill-switch là do Binary Defense phát triển. Nó được ra mắt khoảng 37 giờ sau khi Emotet tiết lộ những thay đổi trên mã độc của chúng. Được biết nhóm nhà nghiên cứu đã sử dụng một PowerShell script để tạo ra registry key value cho từng nạn nhân và khiến dữ liệu của mỗi value trở nên vô hiệu (null).

emotet botnet malware

Kết quả là, khi mã độc kiểm tra registry cho filename, nó sẽ tải một tệp exe trống “.exe”, từ đó ngăn chặn mã độc chạy trên hệ thống của nạn nhân.

“Dù mã độc này có cố gắng thực thi tệp ‘.exe’, nó cũng không thể khởi chạy bởi vì phần ‘.’ sẽ dịch sang thư mục làm việc hiện tại của nhiều hệ điều hành khác nhau,” Quinn lưu ý.

EmoCrash giúp vô hiệu hóa Emotet

Nhưng đó chưa phải là tất cả. Trong một phiên bản ứng biến của kill-switch, tên là EmoCrash, Quinn đã  khai thác một lỗ hổng tràn bộ nhớ đệm xuất hiện trong quy trình cài đặt của mã độc. Lỗ hổng này có thể làm sập Emotet trong khi nó tiến hành cài đặt, từ đó giúp ngăn chặn hiệu quả sự lây lan của mã độc nguy hiểm này. 

Vậy nên, thay vì đặt lại registry value, tập lệnh này hoạt động bằng cách xác định kiến ​​trúc hệ thống để tạo ra registry value cho số seri ổ cứng của người dùng, và sử dụng nó để lưu trữ một bộ nhớ đệm 832 byte.

“Bộ đệm dữ liệu nhỏ bé này là tất cả những gì cần thiết để làm sập Emotet. Nó thậm chí có thể triển khai trước khi hệ thống bị nhiễm độc (như vắc-xin) hoặc đang trong giai đoạn nhiễm độc (như killswitch). Hai crash log sẽ xuất hiện với event ID là 1000 và 1001, và được dùng để xác định các endpoint có mã nhị phân Emotet bị vô hiệu hóa sau khi killswitch đi vào hoạt động (hoặc khởi động lại máy tính),” Quinn nói.

Để tránh bị những kẻ tấn công đằng sau mã độc này phát hiện và thực hiện vá lỗ hổng, Binary Defense cho biết họ đã phối hợp với Trung tâm ứng cứu khẩn cấp không gian mạng (CERTs) và Team Cymru để giúp phân phối EmoCrash script tới những tổ chức bị ảnh hưởng.

Mặc dù Emotet đã ngưng sử dụng kỹ thuật cài đặt dựa trên registry key vào giữa tháng 4, nhưng phải đến khi những kẻ tấn công này phát triển một bản cập nhật malware loader vào ngày 8 tháng 6 thì chúng mới có thể loại bỏ hoàn toàn mã registry value có chứa lỗ hổng.

“Vào ngày 17 tháng 7 năm 2020, Emotet cuối cùng đã quay trở lại và tiếp tục chiến dịch spamming của mình sau khoảng thời gian phát triển kéo dài trong nhiều tháng,” Quinn nói. “Cho đến khi bị vá vào ngày 6 tháng 8, EmoCreash đã hoàn thành nhiệm vụ bảo vệ người dùng khỏi Emotet và  nó vẫn hoạt động khi mã độc này bắt đầu tấn công trở lại.”

“Đây là một thành tích không tồi với một bộ nhớ đệm chỉ có 832 byte!,” chuyên gia bảo mật này nói thêm.

Theo The Hacker News