Manjusaka

Post-Exploitation активный

C2-фреймворк на Rust (агент) и Go (сервер) с веб-панелью управления: сбор системной информации, скриншоты, кейлоггинг, работа с файлами, выполнение команд, извлечение сохранённых паролей браузеров. Получил известность в 2022 году после того, как Cisco Talos обнаружил применение фреймворка в реальных атаках наравне с Cobalt Strike и Sliver. Восстановлено из архива Software Heritage: оригинальный репозиторий был удалён автором с исходной площадки. Код сохранён и перенесён в наш Forgejo-миррор, чтобы инструмент не потерялся окончательно.


Установка
# Требования: Rust 1.85+, Cargo, Protocol Buffers compiler, OpenSSL dev headers
git clone https://git.toolsofthetrade.qzz.io/recovered/manjusaka.git
cd manjusaka
cargo build --workspace --release

# Запуск сервера управления (nps)
./target/release/nps
# Веб-панель: https://localhost:33000/manjusaka/static

# Дальше в панели: добавить листенер (внешний IP) -> создать проект (callback = внешний IP,
# слушатель — только что созданный) -> сгенерировать агент npc1 -> запустить на цели ->
# после коннекта агент подгружает расширенный npc2 и открывает обратное соединение.
показать оригинал переведено ИИ

Манджусака - Цветок коровьего навоза

Rust License Build Status Platform

Высокая производительность · Высокая безопасность · Кроссплатформенность · Открытый и бесплатный

Цветок коровьего навоза

https://github.com/ydhcui/manjusaka

Манджусака (Цветок коровьего навоза) – современная платформа удалённого управления, разработанная на языке Rust с использованием микросервисной архитектуры, обеспечивающая высокопроизводительное и высокобезопасное решение для удалённого управления. Название проекта происходит из буддизма «Манджушаха», символизируя мост, соединяющий два мира, что подразумевает, что данная платформа служит мостом между управляющей и управляемой стороной.

🏗️ Архитектурный дизайн

Структура проекта

manjusaka/
├── Cargo.toml            # Workspace 根配置
├── nps/                  # 管理服务器
│   ├── src/
│   │   ├── core/         # 核心逻辑
│   │   ├── models/       # 数据模型
│   │   ├── npc/          # 客户端管理
│   │   ├── npu/          # 插件系统
│   │   ├── protos/       # 协议生成代码
├── npc1/                 # 基础客户端
│   ├── src/
│   │   ├── platform/     # 平台特定代码
│   │   └── *.rs          # 核心模块
├── npc2/                 # 增强客户端
│   ├── src/
│   │   ├── terminal/     # 终端功能
│   │   └── *.rs          # 核心模块
├── libs/                 # 共享库
│    ├── transport/       # 通用传输层
│    ├── utils/           # 通用操作库
│   ├── crypto/           # 通用加密库
│   ├── noise/            # 协议加密库
│   └── 其它第三方库适配
├── npu/                  # 前端代码
├── payloads/             # 植入物
└── plugins/              # 插件库

Технологический стек

  • Язык программирования: Rust
  • Веб-фреймворк: Poem + Poem-OpenAPI
  • База данных: SQLite (через SeaORM)
  • Асинхронная среда выполнения: Tokio
  • Сериализация: Protocol Buffers
  • Шифрование: AWS-LC-RS, X25519-Dalek, AES-GCM
  • Сеть: HTTP/HTTPS, WebSocket, KCP, SSH
  • Взаимодействие с системой: sysinfo, netstat2, libloading

Протоколы связи

  • Канал управления: API + WebSocket
  • Канал данных: Пользовательский бинарный протокол
  • Передача файлов: Блочная передача, возобновление с контрольной точки
  • Передача экрана: Интеллектуальное сжатие, инкрементальное обновление

🚀 Быстрый старт

Требования к окружению

  • Rust 1.85+ (рекомендуется версия nightly)
  • Менеджер пакетов Cargo
  • Компилятор Protocol Buffers
  • Библиотека разработки OpenSSL

Шаги установки

  1. Клонировать проект
git clone https://github.com/ydhcui/manjusaka.git
cd manjusaka
  1. Собрать проект
# 构建整个 workspace
cargo build --workspace --release


  1. Запустить службу
# 启动管理服务器
./target/release/nps

  1. Доступ к интерфейсу управления Откройте браузер и перейдите по адресу: https://localhost:33000/manjusaka/static

Документация API

# 生成 API 文档
cargo doc --workspace --open

Способ использования

  1. Добавить слушатель, изменить адрес онлайн на внешний IP
  2. Добавить проект, изменить URL обратного вызова на внешний IP, выбрать адрес подключения как настроенный ранее слушатель.
  3. Сгенерировать npc1 и запустить его онлайн.
  4. После запуска подключиться к npc1, загрузить npc2 и ожидать обратного соединения.

Скриншоты функций

Страница входа NPS

Создание слушателя

Создание целевого проекта

Интерфейс управления

Панель операций

Виртуальный терминал

Виртуальный рабочий стол

Управление файлами

Генерация агента

Создание туннеля

Просмотр туннеля

Обновления

v1.0

  1. Рефакторинг на Rust, поддержка TCP, загрузка по сегментам, интерактивная оболочка
  2. Динамическое изменение слушателя
  3. NPS поддерживает HTTPS
  4. Способ передачи изменён обратно на WS
  5. Исправлены уязвимости
  6. Оптимизирован макет UI, добавлена функция просмотра VNC 251208
  7. Удален npc2, интерфейс VNC сделан адаптивным 20251209
  8. Добавлен режим удаленного управления VNC, оптимизирован механизм обновления изображения VNC, оптимизирован интерфейс 20251210
  9. VNC изменён на singleton-режим, решена проблема загрузки CPU при множественных подключениях пользователей 20251214

v1.1

  1. Реализована поддержка плагинов, таких как BOF, CRL и др.
  2. Реализована адаптация плагина getpass
  3. Добавлена поддержка Windows 7
  4. Исправлена ошибка автоматического правого клика при выходе из VNC

Адрес для тестирования

Отказ от ответственности

Этот инструмент предназначен только для законных авторизованных действий по обеспечению безопасности企业. Если вам необходимо протестировать доступность этого инструмента, пожалуйста, самостоятельно разверните тестовую среду.

При использовании этого инструмента для тестирования вы должны убедиться, что ваши действия соответствуют местному законодательству и что вы получили достаточное разрешение. Не сканируйте неавторизованные цели.

Этот инструмент предназначен исключительно для исследований в области безопасности и обучения. Пользователь несёт всю ответственность за любые правовые и связанные последствия использования этого инструмента! Автор не несёт никакой ответственности.

Если в процессе использования этого инструмента вы совершаете какие-либо незаконные действия, вы несёте полную ответственность за последствия, мы не несем никакой юридической и связанной ответственности.

Общение

Добавить в WeChat a8e5625b211ad3b3c435e9403ebae9f

Войдите, чтобы оставить комментарий