Cuộc phiêu lưu của phần mềm độc hại khó nắm bắt, Phần II: Tập lệnh VBA bí mật

Cuộc phiêu lưu của phần mềm độc hại khó nắm bắt, Phần II: Tập lệnh VBA bí mật

Bài viết này là một phần của loạt bài Fileless Malware. Tất cả các phần khác của bộ truyện:

Tôi là một fan hâm mộ của trang web phân tích lai (phân tích lai, sau đây gọi là HA). Đây là một loại phần mềm độc hại, nơi bạn có thể quan sát những “kẻ săn mồi” hoang dã một cách an toàn từ một khoảng cách an toàn mà không bị tấn công. HA chạy phần mềm độc hại trong môi trường an toàn, ghi lại các cuộc gọi hệ thống, tệp đã tạo và lưu lượng truy cập Internet, đồng thời cung cấp cho bạn tất cả các kết quả này cho từng mẫu mà nó phân tích. Bằng cách này, bạn không cần phải lãng phí thời gian và sức lực để cố gắng tự mình tìm ra đoạn mã khó hiểu mà có thể hiểu ngay mọi ý định của tin tặc.

Các ví dụ HA khiến tôi chú ý sử dụng tập lệnh JavaScript hoặc Visual Basic for Application (VBA) được mã hóa được nhúng dưới dạng macro trong tài liệu Word hoặc Excel và được đính kèm với email lừa đảo. Khi được mở, các macro này sẽ bắt đầu phiên PowerShell trên máy tính của nạn nhân. Tin tặc thường gửi luồng lệnh được mã hóa Base64 tới PowerShell. Tất cả điều này được thực hiện để làm cho cuộc tấn công khó bị phát hiện bởi các bộ lọc web và phần mềm chống vi-rút phản ứng với một số từ khóa nhất định.
May mắn thay, HA tự động giải mã Base64 và hiển thị mọi thứ ở định dạng có thể đọc được ngay lập tức. Về cơ bản, bạn không cần phải tập trung vào cách các tập lệnh này hoạt động vì bạn sẽ có thể xem đầu ra lệnh đầy đủ cho các tiến trình đang chạy trong phần tương ứng của HA. Xem ví dụ dưới đây:

Cuộc phiêu lưu của phần mềm độc hại khó nắm bắt, Phần II: Tập lệnh VBA bí mật

Phân tích kết hợp chặn các lệnh được mã hóa Base64 được gửi tới PowerShell:

Cuộc phiêu lưu của phần mềm độc hại khó nắm bắt, Phần II: Tập lệnh VBA bí mật

...và sau đó giải mã chúng cho bạn. #Điều kỳ diệu

В bài trước Tôi đã tạo vùng chứa JavaScript hơi khó hiểu của riêng mình để chạy phiên PowerShell. Tập lệnh của tôi, giống như nhiều phần mềm độc hại dựa trên PowerShell, sau đó tải xuống tập lệnh PowerShell sau từ một trang web từ xa. Sau đó, để làm ví dụ, tôi đã tải một PS vô hại in một thông báo lên màn hình. Nhưng thời thế đang thay đổi, và bây giờ tôi đề xuất làm phức tạp thêm kịch bản.

Đế chế PowerShell và Shell đảo ngược

Một trong những mục tiêu của bài tập này là chỉ ra cách (tương đối) tin tặc có thể vượt qua các biện pháp phòng thủ và chống vi-rút cổ điển một cách dễ dàng. Nếu một blogger CNTT không có kỹ năng lập trình, như tôi, có thể làm được việc đó trong vài buổi tối tạo phần mềm độc hại không thể phát hiện (hoàn toàn không bị phát hiện, FUD), hãy tưởng tượng khả năng của một hacker trẻ quan tâm đến điều này!

Và nếu bạn là nhà cung cấp bảo mật CNTT nhưng người quản lý của bạn không nhận thức được hậu quả có thể xảy ra của những mối đe dọa này, hãy cho họ xem bài viết này.

Tin tặc mơ ước có được quyền truy cập trực tiếp vào máy tính xách tay hoặc máy chủ của nạn nhân. Điều này rất đơn giản để thực hiện: tất cả những gì hacker cần làm là lấy được một vài tập tin bí mật trên máy tính xách tay của CEO.

Bằng cách nào đó tôi đã tôi đã viết về thời gian chạy hậu kỳ của Đế chế PowerShell. Chúng ta hãy nhớ nó là gì.

Về cơ bản, nó là một công cụ kiểm tra thâm nhập dựa trên PowerShell, cùng với nhiều tính năng khác, cho phép bạn dễ dàng chạy shell đảo ngược. Bạn có thể nghiên cứu kỹ hơn tại Trang chủ PSE.

Hãy làm một thí nghiệm nhỏ. Tôi thiết lập môi trường kiểm tra phần mềm độc hại an toàn trong đám mây Amazon Web Services. Bạn có thể làm theo ví dụ của tôi để hiển thị một ví dụ hoạt động nhanh chóng và an toàn về lỗ hổng này (và không bị sa thải vì chạy vi-rút trong phạm vi doanh nghiệp).

Nếu khởi chạy bảng điều khiển PowerShell Empire, bạn sẽ thấy nội dung như thế này:

Cuộc phiêu lưu của phần mềm độc hại khó nắm bắt, Phần II: Tập lệnh VBA bí mật

Đầu tiên bạn bắt đầu quá trình nghe trên máy tính hacker của mình. Nhập lệnh "listener" và chỉ định địa chỉ IP của hệ thống của bạn bằng cách sử dụng "set Host". Sau đó bắt đầu quá trình nghe bằng lệnh "thực thi" (bên dưới). Do đó, về phía bạn, bạn sẽ bắt đầu chờ kết nối mạng từ shell từ xa:

Cuộc phiêu lưu của phần mềm độc hại khó nắm bắt, Phần II: Tập lệnh VBA bí mật

Đối với phía bên kia, bạn sẽ cần tạo mã tác nhân bằng cách nhập lệnh "launcher" (xem bên dưới). Điều này sẽ tạo mã PowerShell cho tác nhân từ xa. Lưu ý rằng nó được mã hóa theo Base64 và thể hiện giai đoạn thứ hai của tải trọng. Nói cách khác, mã JavaScript của tôi bây giờ sẽ kéo tác nhân này chạy PowerShell thay vì in văn bản ra màn hình một cách vô hại và kết nối với máy chủ PSE từ xa của chúng tôi để chạy shell đảo ngược.

Cuộc phiêu lưu của phần mềm độc hại khó nắm bắt, Phần II: Tập lệnh VBA bí mật
Sự kỳ diệu của vỏ đảo ngược. Lệnh PowerShell được mã hóa này sẽ kết nối với trình nghe của tôi và khởi chạy shell từ xa.

Để cho bạn xem thử nghiệm này, tôi đã đóng vai nạn nhân vô tội và mở Evil.doc, từ đó khởi chạy JavaScript của chúng tôi. Bạn còn nhớ phần đầu tiên không? PowerShell đã được cấu hình để ngăn cửa sổ của nó bật lên, do đó nạn nhân sẽ không nhận thấy điều gì bất thường. Tuy nhiên, nếu mở Trình quản lý tác vụ Windows, bạn sẽ thấy quy trình PowerShell nền sẽ không gây ra bất kỳ cảnh báo nào cho hầu hết mọi người. Bởi vì nó chỉ là PowerShell thông thường phải không?

Cuộc phiêu lưu của phần mềm độc hại khó nắm bắt, Phần II: Tập lệnh VBA bí mật

Bây giờ khi bạn chạy Evil.doc, một tiến trình nền ẩn sẽ kết nối với máy chủ chạy PowerShell Empire. Đội chiếc mũ hacker pentester màu trắng của mình lên, tôi quay lại bảng điều khiển PowerShell Empire và bây giờ thấy thông báo rằng tác nhân từ xa của tôi đang hoạt động.

Cuộc phiêu lưu của phần mềm độc hại khó nắm bắt, Phần II: Tập lệnh VBA bí mật

Sau đó tôi nhập lệnh "tương tác" để mở shell trong PSE - và tôi đã làm được! Tóm lại là mình đã hack server Taco do mình set up một lần.

Cuộc phiêu lưu của phần mềm độc hại khó nắm bắt, Phần II: Tập lệnh VBA bí mật

Những gì tôi vừa trình bày không đòi hỏi bạn phải làm việc nhiều như vậy. Bạn có thể dễ dàng thực hiện tất cả những điều này trong giờ nghỉ trưa trong một hoặc hai giờ để nâng cao kiến ​​thức về bảo mật thông tin của mình. Đó cũng là một cách tuyệt vời để hiểu cách tin tặc vượt qua phạm vi bảo mật bên ngoài và xâm nhập vào hệ thống của bạn.

Các nhà quản lý CNTT, những người cho rằng họ đã xây dựng một hệ thống phòng thủ không thể xuyên thủng chống lại bất kỳ sự xâm nhập nào cũng có thể sẽ thấy điều đó mang tính giáo dục - nghĩa là, nếu bạn có thể thuyết phục họ ngồi lại với bạn đủ lâu.

Hãy quay trở lại với thực tế

Đúng như tôi dự đoán, một vụ hack thực sự, người dùng bình thường không thể nhìn thấy, chỉ đơn giản là một biến thể của những gì tôi vừa mô tả. Để thu thập tài liệu cho lần xuất bản tiếp theo, tôi bắt đầu tìm kiếm một mẫu về HA hoạt động giống như ví dụ mà tôi đã phát minh ra. Và tôi không phải tìm kiếm lâu - có rất nhiều lựa chọn cho kỹ thuật tấn công tương tự trên trang web.

Phần mềm độc hại cuối cùng tôi tìm thấy trên HA là tập lệnh VBA được nhúng trong tài liệu Word. Tức là tôi thậm chí không cần phải giả mạo phần mở rộng tài liệu, phần mềm độc hại này thực sự là một tài liệu Microsoft Word có giao diện bình thường. Nếu bạn quan tâm, tôi đã chọn mẫu này có tên rfq.doc.

Tôi nhanh chóng biết được rằng bạn thường không thể trực tiếp lấy các tập lệnh VBA độc hại ra khỏi tài liệu. Tin tặc nén và ẩn chúng để không hiển thị trong các công cụ macro tích hợp của Word. Bạn sẽ cần một công cụ đặc biệt để loại bỏ nó. May mắn thay tôi đã tìm thấy một máy quét Văn PhòngMalScanner Frank Baldwin. Cảm ơn, Frank.

Bằng cách sử dụng công cụ này, tôi có thể lấy ra mã VBA rất khó hiểu. Nó trông giống như thế này:

Cuộc phiêu lưu của phần mềm độc hại khó nắm bắt, Phần II: Tập lệnh VBA bí mật
Việc che giấu được thực hiện bởi các chuyên gia trong lĩnh vực của họ. Tôi đã rất ấn tượng!

Những kẻ tấn công thực sự rất giỏi trong việc làm xáo trộn mã, không giống như nỗ lực của tôi trong việc tạo ra Evil.doc. Được rồi, trong phần tiếp theo, chúng ta sẽ sử dụng trình gỡ lỗi VBA, tìm hiểu sâu hơn một chút về mã này và so sánh phân tích của chúng tôi với kết quả HA.

Nguồn: www.habr.com

Thêm một lời nhận xét