Project Ninja-Framework: A RTC2 and Trojan-Malware Cyber-Attack Simulation System

English 简体中文 繁体中文 Tiếng Việt
Summary

Project Ninja-Framework offers a comprehensive cyber-attack simulation system for red teams, enabling rapid development and dynamic deployment of polymorphic malware in cyber exercises. It integrates a Command and Control (C2) Orchestrator, lightweight Ninja Malware Agents, and a Malicious Activities Module Repository. This architecture allows for centralized task distribution, on-the-fly injection of attack modules, and features like action camouflage, trace erasure, and malware self-protection. Developers can extend the agent interface to build custom malware, leveraging a diverse library of plugins for scenarios such as credential compromise, phishing, network scanning, and system destruction. The system facilitates automated attack control via API and a web UI, supporting adaptable and secure simulation environments for threat detection testing and attack research.

Mục đích thiết kế dự án: Trong các cuộc diễn tập an ninh mạng hoặc trình diễn kịch bản tấn công khác nhau, có nhu cầu đối với những kẻ tấn công thuộc đội đỏ (red team) để phát triển và kiểm soát các loại phần mềm độc hại khác nhau nhằm mô phỏng kịch bản tấn công. Dự án Ninja-Framework hướng đến việc tạo ra một phần mềm độc hại "tác nhân nhẹ", một thư viện các hoạt động tấn công và khung C2 cho phép các nhà phát triển thuộc đội đỏ nhanh chóng xây dựng các chương trình để tạo ra các hành động độc hại (mô phỏng phần mềm độc hại). Hệ thống này cũng cho phép những kẻ tấn công thuộc đội đỏ thêm động các chức năng tấn công mới vào một phần mềm độc hại đang chạy hiện có trong quá trình tấn công, giảm chi phí liên quan đến việc phát triển, cấu hình, thử nghiệm và gỡ lỗi lặp đi lặp lại.

Dự án được thiết kế để cung cấp một hệ thống quản lý và điều phối phần mềm độc hại Trojan Command and Control (RTC2) Red Team có thể tùy chỉnh để đáp ứng yêu cầu SDR về an ninh mạng:

  • [S] (Mô phỏng & Hỗ trợ): Mô phỏng và kiểm soát các cuộc tấn công phần mềm độc hại khác nhau, hỗ trợ quản lý tấn công diễn tập an ninh mạng.

  • [D] (Phát triển & Phát hiện): Phát triển phần mềm độc hại và tạo điều kiện thuận lợi cho việc kiểm tra phát hiện mối đe dọa.

  • [R] (Lặp lại & Nghiên cứu): Lặp lại các kịch bản tấn công mạng và hỗ trợ các sáng kiến ​​nghiên cứu tấn công.

Tổng quan về hệ thống được hiển thị trong sơ đồ bên dưới:

# Created:     2023/08/13
# version:     v0.2.3
# Copyright:   Copyright (c) 2024 LiuYuancheng
# License:     MIT License

Quan trọng: Dự án này được sử dụng cho diễn tập an ninh mạng và trình diễn tấn công, vui lòng không áp dụng nó trên các dịch vụ khác.

Giới thiệu

Project Ninja là một bộ công cụ mô phỏng tấn công mạng được thiết kế cho những kẻ tấn công thuộc đội đỏ để nhanh chóng và linh hoạt phát triển và triển khai các loại tấn công mạng khác nhau. Hệ thống bao gồm một trung tâm Command and Control (C2) và nhiều tác nhân Trojan-Malware phân tán với năm tính năng chính sau:

  • Xây dựng phần mềm độc hại đa hình: Một tác nhân đơn giản với giao diện đồng bộ hóa tác vụ C2 và một thư viện các plugin hoạt động độc hại cho phép xây dựng tùy chỉnh các loại phần mềm độc hại khác nhau.

  • Kiểm soát tập trung và phân phối tác vụ: Cơ chế đồng bộ hóa tác vụ tấn công C2 cho phép những kẻ tấn công kiểm soát linh hoạt các chức năng của các tác nhân phần mềm độc hại Ninja khác nhau.

  • Thực thi mã hành động phần mềm độc hại động: Người dùng (những kẻ tấn công thuộc đội đỏ) có thể cắm động các mô-đun tấn công hoặc thậm chí thực thi các phần mã trong thời gian chạy phần mềm độc hại.

  • Hành động ngụy trang và xóa dấu vết: Hệ thống ngụy trang các hành động và liên lạc tấn công như các hoạt động phần mềm bình thường và xóa dấu vết để trốn tránh nhật ký theo dõi của người phòng thủ.

  • Tự bảo vệ phần mềm độc hại: Một trình theo dõi tự bảo vệ ngăn phần mềm độc hại bị chấm dứt hoặc xóa nếu nó bị phát hiện bởi phần mềm chống phần mềm độc hại hoặc người phòng thủ.

Dự án bao gồm ba dự án phụ: Kho mô-đun hoạt động độc hại, giao diện tác nhân phần mềm độc hại Ninja và bộ điều phối Command and Control (C2) như hình dưới đây:

Figure-01: Sơ đồ cấu trúc hệ thống Ninja-Framework, phiên bản v0.2.3 (2024)

Giới thiệu về Kho mô-đun hoạt động độc hại

Kho mô-đun hoạt động độc hại là một thư viện Python chứa các plugin khác nhau để tạo ra các hoạt động tấn công nhằm phá vỡ hệ thống máy tính, thiết bị mạng hoặc dịch vụ. Tất cả các mô-đun plugin có thể được thực thi riêng lẻ như một phần mềm độc hại tấn công nhỏ hoặc được nhập làm các hàm để chạy trong mô-đun [ Ninja Agent ], cho phép xây dựng các đường dẫn tấn công phức tạp hơn.

Kho lưu trữ cung cấp năm loại mô-đun tấn công:

  • Mô-đun xâm phạm thông tin xác thực: Các mô-đun này được sử dụng để xâm phạm thông tin bảo mật của mục tiêu bằng cách đánh cắp tệp hoặc quét dấu vết người dùng. Các chức năng bao gồm: File/data stolen, Cmd history scanning, User password crackBrowser cookie hijacking.

  • Mô-đun lừa đảo và lừa đảo: Các mô-đun này tạo ra các email lừa đảo hoặc lừa đảo để đánh lừa người dùng tải xuống các tài nguyên độc hại hoặc xem các liên kết độc hại. Các chức năng bao gồm: Phishing email generation, Scam Telegram message boom , backdoor/spy trojanScam popup advertisement generation.

  • Mô-đun quét và ghi lại: Các mô-đun này ghi lại các hành động của người dùng và quét mạng/mục tiêu của nạn nhân. Các chức năng bao gồm: Network scanning, Service probing, Traffic mirroring , Screen recordingKeyboard logging .

  • Mô-đun từ chối dịch vụ: Các mô-đun này vô hiệu hóa hoặc làm gián đoạn dịch vụ của nạn nhân được nhắm mục tiêu. Các chức năng bao gồm: ARP spoofing, Man in the middle attack , DDoS Attack, Hardware freeze/disablePacket blocking

  • Mô-đun phá hủy hệ thống: Các mô-đun này được sử dụng để phá hủy hệ điều hành mục tiêu. Các chức năng bao gồm: File-sys destructing, Malware injection , FDI and FCI, malware protection watchdogpython-lib hijack

Giới thiệu về giao diện tác nhân phần mềm độc hại Ninja

Giao diện tác nhân phần mềm độc hại Ninja là một chương trình giao diện tác nhân nhẹ cho phép người dùng lắp ráp các mô-đun plugin độc hại khác nhau để xây dựng một phần mềm độc hại tùy chỉnh hoặc chạy trên hệ thống của nạn nhân để tải xuống động các plugin tấn công này từ [ Kho mô-đun hoạt động độc hại ].

Tác nhân cung cấp bốn chức năng phần mềm độc hại cơ bản:

  • Đồng bộ hóa tác vụ RTC2: Tự động đồng bộ hóa các tác vụ và lịch trình tấn công với cài đặt của người dùng trên RTC2.

  • Mã hóa giao tiếp RTC2: Ngụy trang giao tiếp để tránh phát hiện các mối đe dọa của tường lửa và mã hóa tin nhắn để ngăn người phòng thủ phân tích lưu lượng truy cập.

  • Ngụy trang hành động và làm rối mã: Ngụy trang các cuộc tấn công như các hành động bình thường của người dùng và làm rối mã nguồn để ngăn người phòng thủ phân tích mã nguồn, ngay cả khi họ giải nén thành công mô-đun plugin.

  • Xóa dấu vết và tự bảo vệ: Xóa dấu vết tấn công để ngăn người phòng thủ phân tích nhật ký và bao gồm một trình theo dõi tự bảo vệ được nhúng để ngăn các quy trình phần mềm độc hại bị chấm dứt hoặc xóa.

Tác nhân cũng là một lớp giao diện để các nhà phát triển thuộc đội đỏ kế thừa nó làm cơ sở mã để triển khai phần mềm độc hại của riêng họ bằng cách thêm các hành động tấn công tùy chỉnh của họ vào đó.

Giới thiệu về bộ điều phối Command and Control (C2)

Bộ điều phối C2 là trung tâm điều khiển chính cho tất cả các tác nhân phần mềm độc hại và đóng vai trò là "cầu nối" giữa các tác nhân và Kho mô-đun hoạt động độc hại. Nó cung cấp nhiều giao diện UI và API bảng điều khiển khác nhau để những kẻ tấn công thuộc đội đỏ chèn các plugin tấn công vào các tác nhân phần mềm độc hại Ninja, chỉ định và lên lịch các cuộc tấn công, theo dõi tiến trình tấn công và xem xét kết quả tấn công.

Trong diễn tập an ninh mạng, nhóm tấn công thuộc đội đỏ có thể quản lý tất cả các tác nhân phần mềm độc hại đăng ký trong RTC2 thông qua giao diện người dùng web. Sau đó, cũng có thể viết một chương trình để gọi API C2 để tự động kiểm soát tiến trình tấn công. Bảng điều khiển quản lý tác nhân chính và kiểm soát tác vụ tấn công được hiển thị bên dưới:

Figure-03: Ảnh chụp màn hình bảng điều khiển C2, phiên bản v0.2.3 (2024)

Bộ điều phối RTC2 bao gồm ba chức năng chính:

  • Quản lý tác nhân phần mềm độc hại: Giao diện quản lý C2 cho phép người quản lý đội đỏ diễn tập an ninh mạng bật/tắt phần mềm độc hại và quản lý quy trình nhập plugin tấn công của tác nhân.

  • Chỉ định & Lên lịch các tác vụ tấn công: Giao diện cấu hình tác vụ C2 cho phép nhóm triển khai tấn công thuộc đội đỏ diễn tập an ninh mạng thiết lập các tác vụ tấn công, định cấu hình các chuỗi/đường dẫn tấn công và lên lịch thời gian tấn công trong quá trình diễn tập.

  • Lưu trữ kết quả tấn công: Cho phép đội đỏ xem kết quả tấn công, lưu trữ thông tin quan trọng và theo dõi tiến trình tấn công.

Các trường hợp sử dụng dự án

Hệ thống của chúng tôi đã được sử dụng trong một số trình diễn tấn công diễn tập an ninh mạng hoặc thu thập tệp pháp y kỹ thuật số để xây dựng chương trình mô phỏng phần mềm độc hại hoặc kiểm tra chức năng phát hiện các mối đe dọa của tường lửa.

Dự án đã sử dụng diễn tập an ninh mạng

  • CROSS SWORD 2023 (XS2023): Hệ thống mô phỏng tấn công mạng Trojan-Malware và RTC2 Ninja-Framework (phiên bản v0.1.3 2023) mà chúng tôi đã phát triển đã được sử dụng cho một trong những trình diễn tấn công do đối tác thực hiện trên hệ thống đường sắt trong diễn tập an ninh mạng CROSS SWORD 2023.

  • Locked Shields 2024 (LS2024): Hệ thống mô phỏng tấn công mạng Trojan-Malware và RTC2 Ninja-Framework (phiên bản v0.2.1 2024) được sử dụng để đóng góp vào Forensic Evidence Trail trong LS2024 (tháng 4 năm 2024), dự án được sử dụng một phần của sự kiện Digital Forensics and Incident Response (DFIR).

Giới thiệu về kịch bản sử dụng

Làm theo sơ đồ quy trình làm việc bên dưới để xây dựng các chương trình tạo hành động độc hại hoặc phần mềm độc hại khác nhau.

Figure-03-1: Sơ đồ quy trình làm việc của giao diện tác nhân phần mềm độc hại Ninja, phiên bản v0.2.3 (2024)

Kẻ tấn công thuộc đội đỏ có thể làm theo các bước sau để xây dựng một phần mềm độc hại tùy chỉnh để sử dụng trong các cuộc diễn tập an ninh mạng:

  1. Tạo một chương trình Python kế thừa từ giao diện tác nhân phần mềm độc hại Ninja làm cơ sở mã.

  2. Nhập các mô-đun hoạt động tấn công có liên quan từ kho plugin vào phần mềm độc hại.

  3. Thêm bất kỳ mô-đun tấn công đặc biệt nào nếu cần.

  4. Định cấu hình các tham số và chuỗi điều khiển tấn công.

  5. Đặt dòng thời gian lịch trình tấn công.

  6. Chạy làm rối mã nguồn để ngụy trang mã độc hại.

  7. Triển khai phần mềm độc hại và kiểm soát cuộc tấn công thông qua RTC2.

 

Kịch bản-02 Sử dụng bộ điều phối RTC2 và tác nhân đã triển khai để kiểm soát tiến trình tấn công diễn tập an ninh mạng

Làm theo sơ đồ quy trình làm việc bên dưới để kiểm soát và theo dõi cuộc tấn công mạng trong diễn tập an ninh mạng hoặc kiểm tra khả năng phát hiện các mối đe dọa của tường lửa.

Figure-03-2: Sơ đồ quy trình làm việc của bộ điều phối Command and Control (C2), phiên bản v0.2.3 (2024)

Khi một kẻ tấn công thuộc đội đỏ chỉ định một lịch trình tấn công cho một tác nhân phần mềm độc hại Ninja, nếu tác nhân chứa tất cả các mô-đun tấn công cần thiết, nó sẽ bắt đầu cuộc tấn công theo dòng thời gian đã lên lịch. Nếu tác nhân Ninja thiếu chức năng tấn công đã định cấu hình, nó sẽ làm theo các bước sau để truy xuất plugin tấn công cần thiết từ RTC2:

  1. Kẻ tấn công thuộc đội đỏ sử dụng Attack Plug-in Management Module để tìm nạp malicious source code hoặc executable binary malicious plug-in từ Kho plugin hoạt động độc hại.

  2. Để tránh bị tường lửa hoặc hệ thống chống phần mềm độc hại phát hiện, mã nguồn tấn công được làm rối thành dữ liệu nhị phân không thể đọc được và chương trình độc hại có thể thực thi được mã hóa thành một luồng nhị phân.

  3. Sau đó, mã nguồn bị làm rối hoặc tệp nhị phân tấn công được mã hóa sẽ được tác nhân tải xuống trước cuộc tấn công.

  4. Tác nhân giải mã mã nguồn hoặc giải mã tệp nhị phân thực thi tấn công, lắp ráp chúng vào danh sách mô-đun tấn công cục bộ của nó và bắt đầu cuộc tấn công dựa trên lịch trình.

Sau khi hoàn thành cuộc tấn công, phần mềm độc hại Ninja báo cáo kết quả cho RTC2 để lưu trữ cơ sở dữ liệu. Nếu mô-đun tấn công đã tải xuống không còn cần thiết, tác nhân sẽ xóa mô-đun đó.

Thiết kế hệ thống

Ý tưởng về tên dự án đến từ một cuốn truyện tranh Nhật Bản "Naruto", dự án này cung cấp nhiều nhóm phần mềm độc hại "Ninja" được kiểm soát tập trung được thiết kế để khởi động các cuộc tấn công mạng vào các mục tiêu cụ thể. Trong phần này, chúng tôi sẽ giới thiệu logic thiết kế của từng tính năng của hệ thống.

Thiết kế phần mềm độc hại đa hình

Trong thế giới của Ninja, mỗi cá nhân sở hữu các kỹ năng cơ bản như xâm nhập, được bổ sung bởi các chuyên môn cụ thể như thu thập thông tin hoặc ám sát. Hệ thống của chúng tôi phản ánh khái niệm này, nơi tất cả các phần mềm độc hại Ninja kế thừa các chức năng cốt lõi từ phần mềm độc hại Ninja cơ bản. Phần mềm độc hại cơ bản thực hiện các hành động độc hại cơ bản như chạy lệnh, đánh cắp tệp và chèn phần mềm độc hại vào nạn nhân. Ngoài ra, mỗi phần mềm độc hại Ninja nâng cao tích hợp với các mô-đun chuyên dụng cho các tác vụ cụ thể, chẳng hạn như Modbus-FDI, tấn công Man-in-the-Middle (MITM), giả mạo ARP và xâm phạm hệ thống. Cách tiếp cận mô-đun này cho phép Ninja thích ứng và thực hiện một loạt các hành động độc hại đa dạng phù hợp với các mục tiêu cụ thể.

Cây gia đình phần mềm độc hại Ninja được hiển thị bên dưới:

Figure-04: Sơ đồ cây gia đình phần mềm độc hại Ninja, phiên bản v0.2.3 (2024)

Đối với tác nhân phần mềm độc hại Ninja cơ bản, nó sẽ cung cấp 8 chức năng tấn công tích hợp cơ bản, vì vậy tất cả các phần mềm độc hại ninja khác được kế thừa từ nó cũng sẽ có các chức năng này. Bảng chức năng được hiển thị bên dưới:

Tên tác nhân Cấp độ Số lượng chức năng tấn công Chức năng tấn công đặc biệt được thêm vào
Tác nhân phần mềm độc hại Ninja lvl0 8 01 Chạy lệnh trên nạn nhân, 02 Đánh cắp tệp từ nạn nhân đến C2-DB, 03 Chèn tệp từ C2-DB vào nạn nhân, 04 Chụp ảnh màn hình nạn nhân vào C2-DB, 05 SSH đến mục tiêu và chạy Cmd từ nạn nhân, 06 SCP tệp từ nạn nhân đến mục tiêu, 07 Chức năng sự kiện bàn phím, 08 Nghe lén lưu lượng truy cập của nạn nhân.
Phần mềm độc hại phá hủy hệ điều hành lvl1 10 01 - 08 Tất cả các chức năng của Ninja malware agent, 09 Chức năng lấp đầy bộ nhớ máy tính của nạn nhân, 10 Chức năng đóng băng bàn phím và chuột của máy tính của nạn nhân.
Phần mềm độc hại thu thập hành động của người dùng lvl2 13 01 - 10 Tất cả các chức năng của OS Destruction malware, 11 Chức năng thu thập lịch sử lệnh của người dùng, 12 Chức năng ghi nhật ký loại bàn phím của người dùng, 13 Chức năng thu thập cookie trình duyệt của người dùng.
Phần mềm độc hại Ransomware lvl2 13 01 - 10 Tất cả các chức năng của OS Destruction malware, 11 Chức năng mã hóa tệp của người dùng, 12 Chức năng đóng băng màn hình máy tính để bàn của người dùng, 13 Chức năng ghi camera của người dùng.
Ettercap Wrapper Malware lvl1 9 01 - 08 Tất cả các chức năng của Ninja malware agent, 09 Chức năng tấn công ARP poisoning.
Kẻ tấn công giả mạo ARP lvl2 10 01 - 09 Tất cả các chức năng của Ettercap Wrapper Malware, 09 Chức năng phản chiếu lưu lượng mạng, 10 Chức năng khóa và loại bỏ gói mạng.
Kẻ tấn công MITM lvl3 11 01 - 10 Tất cả các chức năng của ARP spoofing attacker, 11 Chức năng lọc và sửa đổi dữ liệu gói MITM.
Trojan Malware lvl1 09 01 - 08 Tất cả các chức năng của Ninja malware agent, 09 Chức năng tìm kiếm tệp thông tin xác thực
Phần mềm độc hại Spy trojan lvl2 12 01 - 09 Tất cả các chức năng của Trojan Malware, 10 Chức năng ghi màn hình máy tính để bàn của người dùng, 11 Chức năng ghi nhật ký và mô phỏng loại bàn phím của người dùng, 12 Chức năng ghi thông tin xác thực (tên người dùng, mật khẩu) của người dùng.
Phần mềm độc hại Backdoor Trojan lvl2 12 01 - 09 Tất cả các chức năng của Trojan Malware, 10 Chức năng phản chiếu lưu lượng giao diện mạng của nút nạn nhân, 11 Kết nối SSH, SSH ngược, SCP, chuyển tiếp cổng SSH, 12 Chức năng backdoor máy chủ UDP và chức năng liên kết cổng.
Công cụ chèn dữ liệu sai lvl3 14 01 - 12 Tất cả các chức năng của Backdoor Trojan Malware, 13 Chức năng tìm nạp dữ liệu Modbus, 14 Chức năng ghi đè dữ liệu thanh ghi giữ tần số cao.
Công cụ chèn lệnh sai lvl3 13 01 - 12 Tất cả các chức năng của Backdoor Trojan Malware, 13 Chức năng chèn lệnh cài đặt cuộn dây và bộ nhớ PLC giả.
Công cụ thăm dò dịch vụ lvl1 9 01 - 08 Tất cả các chức năng của Ninja malware agent, 09 Chức năng thăm dò dịch vụ mạng.
Kẻ tấn công DDoS lvl2 10 01 - 09 Tất cả các chức năng của Service prober, 10 Chức năng tấn công DDoS.
Công cụ chèn gói lưu lượng truy cập lvl2 10 01 - 09 Tất cả các chức năng của Service prober, 10 Chức năng chèn yêu cầu API dịch vụ.
Công cụ phân phối email lừa đảo lvl1 10 01 - 08 Tất cả các chức năng của Ninja malware agent, 09 Chức năng tạo nội dung email lừa đảo, 10 Chức năng triển khai email lừa đảo.
Công cụ tạo tin nhắn lừa đảo lvl2 11 01 - 10 Tất cả các chức năng của công cụ phân phối email lừa đảo, 11 Chức năng tạo tin nhắn lừa đảo.
       

 

Kiểm soát tập trung và phân phối tác vụ

Trong mỗi làng Ninja, một thủ lĩnh bóng tối chịu trách nhiệm giao nhiệm vụ cho tất cả các Ninja khác. Tương tự, trong hệ thống của chúng tôi, hacker của nhóm tấn công đội đỏ đảm nhận vai trò thủ lĩnh, tận dụng hệ thống RTC2 (Red Team Command and Control) được kiểm soát tập trung. Thông qua hệ thống này, hacker có thể dễ dàng phân bổ nhiệm vụ cho bất kỳ "Ninja" nào thông qua bảng thông báo. Các Ninja, được đại diện bởi các thực thể phần mềm độc hại, lấy nhiệm vụ của họ từ bảng thông báo và sau đó báo cáo kết quả thực hiện nhiệm vụ của họ trở lại cùng một giao diện.

Tổng quan về quy trình kiểm soát được hiển thị bên dưới:

Figure-05: Sơ đồ quy trình phân phối tác vụ tấn công RTC2, phiên bản v0.2.1 (2023)

Hệ thống RTC2 (red team command and control) sẽ cung cấp một client dựa trên đa luồng mà người dùng có thể dễ dàng móc client vào chương trình hành động độc hại của họ để tích hợp vào hệ thống RTC2. Máy chủ RTC2 không chỉ cung cấp một back-end mạnh mẽ mà còn được trang bị giao diện web thân thiện với người dùng và API trình xử lý yêu cầu HTTP. Vì vậy, người dùng có thể điều khiển từ xa phần mềm độc hại tích hợp một cách dễ dàng—thông qua trình duyệt web hoặc các chương trình tùy chỉnh của họ. Sự kết hợp giữa khả năng thích ứng và khả năng truy cập này giúp nâng cao trải nghiệm người dùng, cung cấp một nền tảng linh hoạt để quản lý và điều phối các kịch bản tập trận mạng của họ.

Sơ đồ UML dòng thời gian quy trình làm việc của hệ thống:

Figure-06: Sơ đồ UML dòng thời gian quy trình phân phối tác vụ tấn công RTC2, phiên bản v0.2.3 (2024)

Tất cả các giao tiếp trong hệ thống này đều được mã hóa, đảm bảo truyền thông tin an toàn. Thủ lĩnh bóng tối có thể giao nhiệm vụ từ bất kỳ vị trí nào trên internet và do phương pháp giao tiếp gián tiếp, ngay cả khi những người phòng thủ cố gắng theo dõi giao tiếp, họ sẽ chỉ được dẫn đến bảng thông báo chứ không phải tương tác trực tiếp giữa hacker và phần mềm độc hại.

 

Thiết kế thực thi mã hành động phần mềm độc hại động

Ninja sở hữu một kho vũ khí đa dạng và hệ thống của chúng tôi tạo điều kiện cho một kho hành động tấn công động cho phép tích hợp theo thời gian thực. Hacker có thể dễ dàng đính kèm các module tấn công vào các tác vụ thông qua bảng thông báo. Các module plug-in hành động độc hại cơ bản mặc định được cung cấp bao gồm:

  • Chạy lệnh trên nạn nhân

  • Đánh cắp tệp từ nạn nhân đến C2-DB

  • Chèn tệp từ C2-DB vào nạn nhân

  • Chụp ảnh màn hình nạn nhân và tải lên C2-DB

  • SSH đến mục tiêu và chạy lệnh từ nạn nhân

  • SCP tệp từ nạn nhân đến mục tiêu

  • Quét IP mạng con của nạn nhân

  • Tạo hoặc ghi lại sự kiện bàn phím

  • Nghe lén lưu lượng truy cập của nạn nhân trong tệp pcap

Khi một Ninja nhận được một nhiệm vụ, nó sẽ tự động trang bị module tấn công được chỉ định, cho phép nó thực hiện hành động tấn công được chỉ định. Ví dụ: một Ninja gián điệp-trojan, được thiết kế để thu thập thông tin xác thực, có thể được tăng cường với các khả năng bổ sung. Nếu hacker giao cho nó một nhiệm vụ Tiêm dữ liệu sai (FDI), Ninja sẽ tải xuống động các module cần thiết, chẳng hạn như module quét mạng và module Modbus-FDI, biến nó thành một chương trình tấn công FDI thành thạo. Cách tiếp cận theo module này đảm bảo khả năng thích ứng và độ chính xác trong việc thực hiện một loạt các hành động tấn công dựa trên việc giao nhiệm vụ.

Lưu ý: hãy làm theo ví dụ này để xây dựng chương trình tấn công modulus:https://github.com/LiuYuancheng/Python_Malwares_Repo/tree/main/src/falseCmdInjector

 

Thiết kế hành động ngụy trang và xóa dấu vết

Sau khi hoàn thành một nhiệm vụ, Ninja sẽ xóa hiệu quả mọi dấu vết hoạt động của nó. Nó sẽ ngụy trang hành động, làm rối mã nguồn và xóa dấu vết để tránh bị phát hiện mối đe dọa.

  • Hành động ngụy trang: Ninja Agent sẽ sử dụng khoảng thời gian ngẫu nhiên và trình tự thực hiện tác vụ hỗn hợp với hành động thực của con người để gây khó khăn cho việc phát hiện hành động tấn công. Ví dụ: khi agent chấp nhận một tác vụ tấn công xóa tệp, nó sẽ theo dõi hành động của người dùng nút, nếu người dùng nút thực hiện một số thao tác tệp, nó sẽ thực hiện xóa tệp sau hành động thao tác tệp của người dùng.

  • Xóa dấu vết: Các tác vụ được giao cho Ninja được lưu trong bộ nhớ dưới dạng một danh sách liên kết, không có dòng tác vụ dựa trên mã và phần mềm độc hại chỉ giữ con trỏ đến tác vụ hiện tại. Ví dụ: nếu một Ninja nhận được 4 tác vụ để phá vỡ một hệ thống, khi phần mềm độc hại Ninja hoàn thành các tác vụ và phá vỡ hệ thống, tất cả dữ liệu tác vụ sẽ bị xóa khỏi bộ nhớ thực thi chương trình, các tham số lưu trữ dữ liệu sẽ bị xóa, vì vậy ngay cả khi người phòng thủ phát hiện ra lỗi và "bắt" chương trình Ninja, từ kết xuất bộ nhớ, họ sẽ không thể xây dựng lại danh sách tác vụ từ chương trình hoặc từ kết xuất bộ nhớ. Nếu phần mềm độc hại cần tải xuống một số plug-in tấn công từ C2-hub, nó cũng sẽ tự động xóa plug-in tấn công sau khi hoàn thành cuộc tấn công.

  • Làm rối mã tấn công: Đối với việc chèn mã độc hại, mã sẽ bị làm rối thành luồng byte không thể đọc được với một chương trình che giấu thực thi để tránh người phòng thủ mạng phát hiện hành động tấn công thông qua đánh giá mã. Ví dụ về làm rối mã được hiển thị bên dưới:

Figure-07: Ví dụ về làm rối mã tấn công, phiên bản v0.2.3 (2024)

Tham khảoĐể biết tài liệu chi tiết về làm rối mã nguồn, vui lòng tham khảo:https://github.com/LiuYuancheng/Py-Code-Obfuscator

Thiết kế tự bảo vệ khi thực thi phần mềm độc hại

Tham gia vào một cuộc đối đầu chiến lược với những người phòng thủ, mỗi Ninja được ghép nối với một Ninja-dog, hoạt động như một trình theo dõi bảo vệ chương trình. Nếu phần mềm độc hại Ninja bị chương trình chống phần mềm độc hại hoặc người dùng tiêu diệt/xóa, Ninja-dog sẽ tự động khôi phục phần mềm độc hại Ninja.

Quy trình làm việc của Agent và trình theo dõi bảo vệ quy trình được hiển thị bên dưới:

Figure-08: Sơ đồ quy trình làm việc của trình theo dõi tự bảo vệ agent phần mềm độc hại, phiên bản v0.2.3 (2024)

Trình theo dõi bảo vệ chương trình sẽ chạy song song trong luồng phụ với luồng chương trình móc chính. Nó sẽ theo dõi quy trình của mục tiêu bảo vệ, nếu quy trình mục tiêu bị dừng, nó sẽ bắt đầu một quy trình riêng lẻ mới để chạy mục tiêu. Trong một kịch bản tự bảo vệ, trình theo dõi sinh ra một trình theo dõi "bóng tối" song sinh trong nền như một quy trình riêng biệt. Chiến lược phòng thủ hai lớp này bao gồm trình theo dõi của chương trình chính bảo vệ trình theo dõi bóng tối, trong khi trình theo dõi bóng tối bảo vệ lẫn nhau chương trình chính. Cơ chế bế tắc bảo vệ phức tạp này đảm bảo một lá chắn mạnh mẽ chống lại các gián đoạn tiềm ẩn, tạo ra một hệ thống phòng thủ kiên cường và liên kết với nhau.

Đồng thời, nếu một Ninja phát hiện ra nó được khôi phục từ một Ninja-dog, nó sẽ bắt đầu một quy trình phụ để kích hoạt tính năng tự bảo vệ: khóa đầu vào chuột + bàn phím của nạn nhân, đóng băng màn hình và bắt đầu sử dụng rác để lấp đầy bộ nhớ để gây ra sự chậm lại trong hiệu suất của hệ thống. Các cơ chế phòng thủ này tăng cường khả năng phục hồi và khả năng thích ứng của Ninjas khi đối mặt với các biện pháp đối phó do những người phòng thủ khởi xướng.

Tham khảoĐể sử dụng và định cấu hình trình theo dõi, vui lòng tham khảo tài liệu này:https://github.com/LiuYuancheng/Python_Malwares_Repo/tree/main/src/processWatchDog

 


Thiết lập và sử dụng hệ thống

Nếu bạn muốn sử dụng hệ thống, vui lòng làm theo phần bên dưới để thiết lập và sử dụng API

Thiết lập hệ thống

Môi trường phát triển/thực thi: python 3.7.4+

Cần thêm Lib/Phần mềm

Module Lib Phiên bản Cài đặt Liên kết Lib
Flask 1.1.2 pip install Flask https://flask.palletsprojects.com/en/3.0.x/
Flask_SocketIO 5.3.5 pip install flask-socketio https://flask-socketio.readthedocs.io/en/latest/
requests 2.28.1 pip install requests https://pypi.org/project/requests/
Ettercap     https://installati.one/install-ettercap-common-ubuntu-20-04/
keyboard 0.13.5 pip install keyboard https://pypi.org/project/keyboard/
mouse 0.7.1 pip install mouse https://pypi.org/project/mouse/
opencv_python 4.5.1.48 pip install opencv-python https://pypi.org/project/opencv-python/
paramiko 2.11.0 pip install paramiko https://www.paramiko.org/
Pillow 10.3.0 pip install pillow https://pypi.org/project/pillow/
psutil 5.7.2 pip install psutil https://pypi.org/project/psutil/
pynput 1.7.6 pip install pynput https://pypi.org/project/pynput/
pyscreenshot 3.1 pip install pyscreenshot https://pypi.org/project/pyscreenshot/
pyshark 0.4.3 pip install pyshark https://pypi.org/project/pyshark/
python_nmap 0.7.1 pip install python-nmap https://pypi.org/project/python-nmap/
scp 0.14.4 pip install scp https://pypi.org/project/scp/
sslkeylog 0.5.0 pip install sslkeylog https://pypi.org/project/sslkeylog/
Werkzeug 1.0.1 pip install Werkzeug https://pypi.org/project/Werkzeug/
Thiết lập giao diện Ninja Malware Agent
Thiết lập Command and Control (C2) Orchestrator

Sử dụng hệ thống

Để sử dụng hệ thống, hãy tham khảo hướng dẫn sử dụng API:Hướng dẫn sử dụng API, các chức năng sử dụng cơ bản bao gồm:

  • Chạy lệnh trên nạn nhân: Chạy một hoặc nhiều lệnh theo trình tự danh sách trên nạn nhân và lưu trữ kết quả trong cơ sở dữ liệu C2.

  • Đánh cắp tệp từ nạn nhân đến C2-DB: Tìm kiếm nhiều tệp trên nạn nhân dựa trên danh sách đường dẫn tệp và tải các tệp được tìm thấy từ bộ nhớ cục bộ của nạn nhân lên cơ sở dữ liệu lưu trữ đám mây của RTC2.

  • Chèn tệp từ C2-DB vào nạn nhân: Chèn một tệp/attack_module từ cơ sở dữ liệu lưu trữ đám mây của RTC2 vào bộ nhớ cục bộ của nạn nhân.

  • Chụp ảnh màn hình nạn nhân và tải lên C2-DB: Chụp ảnh màn hình máy tính để bàn của nạn nhân và tải tệp hình ảnh lên cơ sở dữ liệu lưu trữ đám mây của RTC2.

  • SSH đến mục tiêu và chạy lệnh từ nạn nhân: Điều khiển máy nạn nhân để SSH đăng nhập vào một máy khác được liên kết với nạn nhân và chạy lệnh trên máy đó.

  • SCP tệp từ nạn nhân đến mục tiêu: SCP một tệp từ bộ nhớ của nạn nhân đến thư mục nhà của người dùng logic của nút mục tiêu được kết nối SSH.

  • Quét IP mạng con của nạn nhân: Quét nút nạn nhân mạng con và tìm tất cả các địa chỉ IP của các nút có thể chạm vào.

  • Tạo hoặc ghi lại sự kiện bàn phím: Tạo hoặc ghi lại hành động/sự kiện bàn phím trên máy nạn nhân.

  • Nghe lén lưu lượng truy cập của nạn nhân trong tệp pcap: Nghe lén lưu lượng truy cập mạng của nạn nhân và lưu các gói lưu lượng truy cập trong tệp pcap.

 


Vấn đề và giải pháp

Nếu bạn gặp bất kỳ vấn đề hoặc lỗi nào trong quá trình sử dụng, vui lòng tham khảodoc/ProblemAndSolution.mdđể kiểm tra xem có bất kỳ vấn đề tương tự nào không và chúng tôi sẽ cung cấp giải pháp.


Chỉnh sửa lần cuối bởi LiuYuancheng ([email protected]) vào ngày 18/05/2024, nếu bạn có bất kỳ vấn đề nào hoặc tìm thấy bất kỳ lỗi nào, vui lòng gửi tin nhắn cho tôi.

  RELATED

No related programming articles found. Browse all programming tutorials and articles.

  COMMENTS

0

No comment for this article.