Manjusaka

Post-Exploitation

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

Добавлен 23.07.2026 · Обновлён 23.07.2026 · Post-Exploitation
Установка
# Требования: 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 и открывает обратное соединение.
переведено ИИ

Manjusaka - 牛屎花

Rust License Build Status Platform

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

牛屎花

https://github.com/ydhcui/manjusaka

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. Добавьте проект, изменив адрес обратного вызова на внешний IP и выбрав слушатель, настроенный на предыдущем шаге.
  3. Сгенерируйте агент npc1 и запустите его для подключения.
  4. После подключения npc1, загрузите npc2 и дождитесь обратного соединения.

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

Адрес входа в NPS

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

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

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

Интерфейс операций

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

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

Файловый менеджер

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

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

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

Обновления

v1.1

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

v1.0

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

Ссылка для тестирования

Дисклеймер

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

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

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

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

Контакты

Добавьте V

a8e5625b211ad3b3c435e9403ebae9f

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