Với bài viết này, chúng tôi bắt đầu một loạt ấn phẩm về phần mềm độc hại khó nắm bắt. Các chương trình hack không dùng tệp, còn được gọi là chương trình hack không cần dùng tệp, thường sử dụng PowerShell trên hệ thống Windows để chạy âm thầm các lệnh nhằm tìm kiếm và trích xuất nội dung có giá trị. Việc phát hiện hoạt động của hacker mà không cần file độc hại là một việc khó khăn, bởi... phần mềm chống vi-rút và nhiều hệ thống phát hiện khác hoạt động dựa trên phân tích chữ ký. Nhưng tin tốt là phần mềm như vậy có tồn tại. Ví dụ,
Khi tôi mới bắt đầu nghiên cứu về chủ đề hacker xấu tính,
PowerShell vĩ đại và mạnh mẽ
Tôi đã viết về một số ý tưởng này trước đây trong
Ngoài các mẫu, trên trang web, bạn có thể xem những chương trình này làm gì. Phân tích kết hợp chạy phần mềm độc hại trong hộp cát riêng của nó và giám sát các cuộc gọi hệ thống, các quy trình đang chạy và hoạt động mạng, đồng thời trích xuất các chuỗi văn bản đáng ngờ. Đối với các tệp nhị phân và các tệp thực thi khác, tức là. khi bạn thậm chí không thể nhìn vào mã cấp cao thực tế, phân tích kết hợp sẽ quyết định xem phần mềm có độc hại hay chỉ đáng ngờ dựa trên hoạt động trong thời gian chạy của nó. Và sau đó mẫu đã được đánh giá.
Trong trường hợp PowerShell và các tập lệnh mẫu khác (Visual Basic, JavaScript, v.v.), tôi có thể nhìn thấy chính mã đó. Ví dụ: tôi đã xem qua phiên bản PowerShell này:
Bạn cũng có thể chạy PowerShell ở dạng mã hóa base64 để tránh bị phát hiện. Lưu ý việc sử dụng các tham số Không tương tác và Ẩn.
Nếu bạn đã đọc các bài đăng của tôi về kỹ thuật che giấu mã nguồn thì bạn biết rằng tùy chọn -e chỉ định rằng nội dung được mã hóa base64. Nhân tiện, phân tích kết hợp cũng giúp giải quyết vấn đề này bằng cách giải mã lại mọi thứ. Nếu bạn muốn thử tự mình giải mã base64 PowerShell (sau đây gọi là PS), bạn cần chạy lệnh này:
[System.Text.Encoding]::Unicode.GetString([System.Convert]::FromBase64String($EncodedText))
Đi sâu hơn
Tôi đã giải mã tập lệnh PS của chúng tôi bằng phương pháp này, bên dưới là văn bản của chương trình, mặc dù đã được tôi sửa đổi một chút:
Lưu ý rằng tập lệnh được gắn với ngày 4 tháng 2017 năm XNUMX và truyền cookie phiên.
Tôi đã viết về phong cách tấn công này trong
nó làm gì?
Để phần mềm bảo mật quét tường lửa hoặc nhật ký sự kiện Windows, mã hóa base64 sẽ ngăn chuỗi "WebClient" bị phát hiện bởi mẫu văn bản thuần túy nhằm bảo vệ khỏi việc thực hiện yêu cầu web như vậy. Và vì tất cả phần mềm độc hại “xấu xa” sau đó sẽ được tải xuống và chuyển vào PowerShell của chúng tôi, nên cách tiếp cận này cho phép chúng tôi hoàn toàn tránh bị phát hiện. Hay đúng hơn, đó là những gì tôi nghĩ lúc đầu.
Hóa ra là khi bật Ghi nhật ký nâng cao Windows PowerShell (xem bài viết của tôi), bạn sẽ có thể thấy dòng đã tải trong nhật ký sự kiện. tôi giống như
Hãy thêm các kịch bản bổ sung
Tin tặc khéo léo che giấu các cuộc tấn công PowerShell trong macro Microsoft Office được viết bằng Visual Basic và các ngôn ngữ kịch bản khác. Ý tưởng là nạn nhân nhận được một tin nhắn, chẳng hạn như từ dịch vụ chuyển phát, có báo cáo đính kèm ở định dạng .doc. Bạn mở tài liệu chứa macro này và cuối cùng nó sẽ khởi chạy chính PowerShell độc hại.
Thông thường, bản thân tập lệnh Visual Basic được làm xáo trộn để nó có thể tự do trốn tránh các chương trình quét phần mềm chống vi-rút và phần mềm độc hại khác. Theo tinh thần nêu trên, tôi quyết định viết mã PowerShell ở trên bằng JavaScript như một bài tập. Dưới đây là kết quả công việc của tôi:
JavaScript bị xáo trộn ẩn PowerShell của chúng tôi. Hacker thực sự làm điều này một hoặc hai lần.
Đây là một kỹ thuật khác mà tôi thấy phổ biến trên web: sử dụng Wscript.Shell để chạy PowerShell được mã hóa. Nhân tiện, bản thân JavaScript là
Trong trường hợp của chúng tôi, tập lệnh JS độc hại được nhúng dưới dạng tệp có phần mở rộng .doc.js. Windows thường sẽ chỉ hiển thị hậu tố đầu tiên nên nạn nhân sẽ thấy nó dưới dạng tài liệu Word.
Biểu tượng JS chỉ xuất hiện trong biểu tượng cuộn. Không có gì ngạc nhiên khi nhiều người mở tệp đính kèm này vì nghĩ rằng đó là tài liệu Word.
Trong ví dụ của tôi, tôi đã sửa đổi PowerShell ở trên để tải tập lệnh xuống từ trang web của mình. Tập lệnh PS từ xa chỉ in "Phần mềm độc hại độc ác". Như bạn có thể thấy, anh ta không hề xấu xa chút nào. Tất nhiên, các hacker thực sự quan tâm đến việc giành quyền truy cập vào máy tính xách tay hoặc máy chủ, chẳng hạn như thông qua shell lệnh. Trong bài viết tiếp theo, tôi sẽ hướng dẫn bạn cách thực hiện việc này bằng PowerShell Empire.
Tôi hy vọng rằng trong bài viết giới thiệu đầu tiên chúng ta không đi quá sâu vào chủ đề. Bây giờ tôi sẽ để bạn tạm nghỉ và lần sau chúng ta sẽ bắt đầu xem xét các ví dụ thực tế về các cuộc tấn công sử dụng phần mềm độc hại không dùng tệp mà không có bất kỳ lời giới thiệu hoặc sự chuẩn bị không cần thiết nào.
Nguồn: www.habr.com