Mã độc Petya hoành hành khắp châu Âu

16:08 | 28/06/2017

Ngày 27/6/2017, các hãng thông tấn trên thế giới đồng loạt đưa tin về một mã độc mới thuộc họ ransomware Petya (đôi khi gọi là Petrwrap) lần đầu tiên được phát hiện trên các máy tính ở Ukraine và sau đó là các hệ thống ở Tây Ban Nha, Đức, Israel, Anh, Hà Lan và Hoa Kỳ.

Vào tháng 5/2017, một loại ransomware với tên gọi là WannaCry đã lan truyền khắp thế giới lây nhiễm hàng trăm nghìn máy tính và mã hóa các tệp tin người dùng nhằm mục đích đòi tiền chuộc thông qua hệ thống thanh toán bitcoin. Mã độc này được coi là một trong những mã độc nguy hại nhất ở thời điểm bấy giờ. 

Tuy nhiên khi mã độc Petya xuất hiện, nó đã ảnh hưởng đến nhiều công ty và các tổ chức khác nhau gồm các cơ quan chính phủ, các công ty vận tải, tập đoàn dầu mỏ và thậm chí cả hệ thống của lò phản ứng hạt nhân Chernobyl của Ucraina. Mã độc này được các chuyên gia nghiên cứu cho rằng nhắm đến các mục tiêu là các hệ thống công nghiệp và vận tải tại các quốc gia phát triển và lây lan với tốc độ cực kỳ khủng khiếp. Các trường hợp ghi nhận đầu tiên chủ yếu xảy ra ở Ukraine, Liên bang Nga và Ba Lan. 

Khi một máy tính bị nhiễm, dữ liệu của người dùng sẽ bị mã hóa và họ buộc phải trả một số tiền Bitcoin có giá trị tương đương 300 đô la để giải mã hệ thống bị lây nhiễm. Ví Bitcoin được liệt kê trong yêu cầu thanh toán của mã độc đã nhận được nhiều khoản thanh toán với số lượng khoảng 5.800 bảng Anh. Tuy nhiên, hệ thống email Posteo, nơi lưu trữ tài khoản mà các khoản thanh toán Bitcoin được yêu cầu gửi đến đã đóng địa chỉ được liệt kê nhằm tránh sự lợi dụng của kẻ tấn công. Điều này có nghĩa là những người đang cố liên lạc hoặc trả tiền cho những người đứng sau cuộc tấn công sẽ không thể thực hiện được.


Hình 1. Thông điệp cảnh báo của Petya

Mã độc Petya đã tồn tại từ năm 2016, tuy nhiên, Symantec cho biết phiên bản mới hiện nay được sử dụng trong cuộc tấn công không gian mạng này đã được sửa đổi và có thể lây lan thông qua cách thức như một sâu máy tính.

Cũng giống như hầu hết các chủng loại ransomware khác, Petya sẽ khóa máy tính bị nhiễm và mã hóa các tập tin trên chúng. Một thông điệp đe dọa người dùng sẽ được gửi tới và yêu cầu họ trả một số tiền Bitcoin tương ứng 300 đô la để giải mã các tệp tin bị mã hóa trên hệ thống. Tuy nhiên khác với các ransomware khác, thay vì mã hóa từng tệp một, Petya sẽ ngăn cản truy cập vào toàn bộ hệ thống bằng cách tấn công cấu trúc cấp thấp trên đĩa. Những tin tặc tạo ra ransomware này đã tạo ra một trình boot loader riêng đóng vai trò như một kernel kích thước nhỏ nhằm điều khiển hoạt động của hệ thống với kích thước 32 sector.

Dropper của Petya ghi mã độc vào vị trí đầu tiên của đĩa. MBR của hệ thống bị ảnh hưởng được ghi đè bởi bộ boot loader của mã độc và tải vào một trình kernel có kích thước nhỏ do mã độc tạo ra. Sau đó, phần kernel này tiến hành mã hóa thêm các tệp tin và ổ đĩa trên hệ thống. Thông báo về yêu cầu trả tiền chuộc của Petya cho thấy nó mã hóa toàn bộ đĩa, nhưng điều này là không đúng. Thay vào đó, nó mã hóa các bảng tập tin chủ (MFT) để hệ thống tập tin không thể đọc được. 

Mặc dù biến thể này thuộc họ Petya đã xuất hiện từ đầu năm 2016, tuy nhiên trong quá trình dịch ngược có thể thấy nó có rất ít điểm tương đồng với phiên bản trước đó. Tương tự như WannaCry, biến thể Petya có khả năng phát tán cực kỳ nhanh chóng thông qua khai thác lỗ hổng EternalBlue (MS17-010) trên mạng sử dụng thông tin của người dùng đăng nhập. Phần payload của ransomware sử dụng giao diện dòng lệnh Windows Management Instrumentation (WMIC) để di chuyển ngang qua SMB. Điều này giải thích lý do tại sao cuộc tấn công này vẫn thành công hơn một tháng sau khi mã độc WannaCry bùng nổ dưới đòn bẩy của mã khai thác EternalBlue (MS17-010) mà đã được vá trên hầu hết các hệ thống hiện tại.

Phân tích các đặc tính kỹ thuật trong Payload của Petya

Vector phân phối khởi tạo của tấn công này hiện nay vẫn chưa được biết đến. Tuy nhiên, chúng ta có thể thu được hai payload độc lập từ mã độc này dưới dạng tệp DLL. Các DLL này có một hàm export không có tên và sử dụng giá trị thứ tự là “#1”:

<System32>\rundll32.exe "%s",#1

Khi phân tích mã của payload này ta thấy thông tin về thời gian được biên dịch của mã là trong thời gian khá gần với hiện tại (18/06/2017). Hiện chưa ghi nhận các kết nối C&C được sử dụng trong mã độc này.


Hình 2. Thời gian biên dịch của DLL payload

Khi được thực thi, payload này sẽ thực hiện các hành vi sau đây trên máy nạn nhân:

• Kiểm tra sự tồn tại của các thực thể tương đồng, nếu có tồn tại sẽ kết thúc việc lây nhiễm để tránh trùng lặp việc phát tán và lây lan quá nhiều lần trên máy nạn nhân.

Infection Marker or Killswitch file => C:\Windows\MalwareDLLFileName ở đó MalwareDLLFileName là tên của DLL chính.

• Tìm kiếm các tệp tin với các phần mở rộng là: .3ds; .7z; .accdb; .ai; .asp; .aspx; .avhd; .back; .bak; .c; .cfg; .conf; .cpp; .cs; .ctl; .dbf; .disk; .djvu; .doc; .docx; .dwg; .eml; .fdb; .gz; .h; .hdd; .kdbx; .mail; .mdb; .msg; .nrg; .ora; để mã hóa chúng.

Các tệp tin bị mã hóa sẽ có cùng phần mở rộng với các tệp tin gốc


Hình 3. Liệt kê các tệp tin để mã hóa

• Nếu người dùng đăng nhập với quyền quản trị, payload của mã độc sẽ mã hóa bảng ghi Master Boot Record (MBR) và làm cho hệ thống không thể sử dụng được sau khi khởi động lại.

• Mã độc sau đó tạo ra một tác vụ lập lịch để khởi động lại hệ thống bị nhiễm. 



Hình 4. Tác vụ lập lịch để khởi động lại hệ thống trong một giờ

• Khi hệ thống khởi động lại, một thông điệp đe dọa yêu cầu trả tiền xuất hiện


Hình 5. Thông điệp đe dọa

• Thời gian trễ một giờ trong việc khởi động hệ thống bị lây nhiễm và đưa ra các thông điệp đe dọa được sử dụng để phát tán các môđun độc hại ra toàn mạng mà không cần bất cứ tác động nào của người dùng cuối.

• Khi phân tích môđun phát tán của mã độc này, ta thấy rằng nó chứa các thông tin liên quan đến WMIC, do đó cho phép vượt qua các kiểm tra SMB.


Hình 6. Sử dụng WMIC để phát tán

Các biện pháp phòng chống

Cần áp dụng các phiên bản cập nhật vá lỗi của Microsoft Windows cho các lỗi MS17-010 và CVE-2017-0199; Loại bỏ các giao thức kết nối thừa kế như SMBv1 trên mạng nội bộ; Vô hiệu hóa WMIC trên mạng nội bộ; Loại bỏ kết nối trên các cổng 135, 139, 445 trên tường lửa; Cập nhật các ứng dụng antivirus mới nhất.

WannaCry khởi đầu cho một kỷ nguyên mới của các biến thể ransomware tự phát tán thông qua các lỗ hổng hệ thống. Petya tiếp nối khả năng đó bằng cách thêm vào các vector giao diện WMI để vượt qua các cơ chế kiểm soát đã được vá. Điều này làm dấy lên những lo ngại về các biến thể khác sử dụng các cơ chế tấn công tương tự nhưng phức tạp hơn trong tương lai gần.