Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
Инструменты/GitHubGitHub/blacksnufkin/cheshire
Фреймворки для пентестаСтатический анализДинамический анализ (песочница)Фреймворки для эксплойтовАнализ вредоносных программКомандование и УправлениеRed Teaming
GitHubblacksnufkin/cheshire

Cheshire

Сервисный плагин Adaptix C2, управляющий анализом полезной нагрузки LitterBox из интерфейса оператора.

Репозиторий
6643 месяцев назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

Cheshire Logo

Cheshire

Предполётная проверка пейлоада для Adaptix на базе LitterBox.

Cheshire — это сервисный плагин C2 для Adaptix, который связывает клиент Adaptix с песочницей LitterBox. Не покидая интерфейс Adaptix, оператор может выбрать любой бинарный файл, отправить его на полный конвейер анализа LitterBox (статический + динамический + все доступные EDR-профили) и наблюдать, как вердикт появляется на экране, оставаясь всё время в Adaptix.

Название продолжает линию талисманов проекта:

  • Adaptix → хамелеон
  • LitterBox → ворчливый кот
  • Мост между ними → Cheshire (кот, который ухмыляется, исчезает из виду и подсказывает, безопасен ли путь впереди).

Что он делает

ДействиеЭндпоинты LitterBoxРезультат
Загрузка пейлоадаPOST /uploadmd5 + метаданные файла
Run AllPOST /analyze/static/<md5> + /analyze/dynamic/<md5> + /analyze/edr/<profile>/<md5> (×N профилей) параллельными горутинамиStatic, Dynamic и каждый EDR-профиль заполняются по мере завершения
Только Static/analyze/static/<md5>Результаты YARA / CheckPlz / Stringnalyzer
Только Dynamic/analyze/dynamic/<md5>Результаты YARA-mem / PE-Sieve / Moneta / Patriot / HSB / RedEdr
EDR (несколько профилей)/analyze/edr/<profile>/<md5> для каждого профиля + опрос Phase 2 на /api/results/edr/<profile>/<md5>Таблица алертов по каждому профилю + подробные сведения об алерте (причина, MITRE, API, область памяти, стек вызовов, конечный пользовательский модуль, процесс, родительский процесс, ответы EDR)
ОчисткаDELETE /file/<md5>Удаляет загрузку, папки результатов и каталоги анализа по каждому образцу из LitterBox
Проверка фермыGET /healthСтатус песочницы, перечень сканеров, доступность EDR-агентов — управляет чекбоксами EDR Profiles

Опрос EDR Phase 2 использует адаптивный ритм LitterBox (база 2 с, множитель ×1.5 до 15 с, когда число алертов стабильно, и возврат к 2 с при изменениях). Каждый такт опроса передаёт клиенту событие progress, поэтому живая полоса прогресса показывает, как счётчики алертов растут в реальном времени.


Структура

root@kitploit:~
Cheshire/
├── README.md
├── setup_cheshire.sh                       deploy script
└── cheshire_service/
    ├── config.yaml                         service plugin manifest + litterbox_url
    ├── go.mod / go.sum
    ├── Makefile                            builds dist/service_cheshire.so
    ├── pl_main.go                          Go service plugin (HTTP client to LitterBox)
    └── ax_config.axs                       AXScript UI (the dashboard dialog)

Go-плагин — это HTTP-ретранслятор без сохранения состояния между TsServiceSendDataClient Adaptix и REST API LitterBox. Файл AXScript отвечает за весь рендеринг: баннер вердикта, сводку обнаружений, подвкладки по каждому сканеру и таблицу EDR-алертов с переходом к деталям по клику.


Установка

1. Запуск LitterBox

Cheshire требует запущенного экземпляра LitterBox (см. репозиторий LitterBox по установке). Проверьте доступность:

root@kitploit:~
curl http://<litterbox-host>:1337/health

2. Настройка Cheshire

Отредактируйте cheshire_service/config.yaml и укажите litterbox_url:

root@kitploit:~
extender_type: "service"
extender_file: "service_cheshire.so"
ax_file: "ax_config.axs"

service_name: "cheshire"
service_config: |
  litterbox_url: "http://192.168.88.128:1337"

Если litterbox_url не указан, плагин загружается, но каждая команда оператора возвращает "Cheshire is not configured: set litterbox_url in service_config". Запасного значения по умолчанию нет.

3. Развёртывание

root@kitploit:~
bash setup_cheshire.sh --ax /path/to/AdaptixC2

Этот скрипт:

  1. Копирует исходники в AdaptixC2/AdaptixServer/extenders/cheshire_service/.
  2. Добавляет ./extenders/cheshire_service в Go workspace.
  3. Собирает service_cheshire.so через Makefile.
  4. Копирует собранные .so + config.yaml + ax_config.axs в AdaptixC2/dist/extenders/cheshire_service/.

4. Регистрация на сервере Adaptix

Добавьте строку в AdaptixC2/dist/profile.yaml в раздел Teamserver.extenders:

root@kitploit:~
extenders:
  - "extenders/cheshire_service/config.yaml"
  ...

5. Перезапуск сервера

root@kitploit:~
pkill -f adaptixserver
cd AdaptixC2/dist
./adaptixserver -profile profile.yaml

В логе сервера вы должны увидеть [cheshire] Initialized — LitterBox at http://..., а затем [+] Service 'cheshire' loaded.

В строке меню клиента Adaptix пункт Cheshire → Test with Cheshire открывает панель управления.


Панель управления

root@kitploit:~
┌─ Payload ───────────────────────────────────────────────────────────────┐
│  [Browse...]  /home/op/payloads/beacon.exe                              │
├─ EDR Profiles ──────────────────────────────────────────────────────────┤
│  ☑ Elastic Defend   ● reachable     elastic · WIN-VM01 · nightcity      │
│  ☐ Fibratus         ● not reachable fibratus                            │
├─ Dynamic Analysis Args ─────────────────────────────────────────────────┤
│  --quiet -p 4444                                                        │
├─────────────────────────────────────────────────────────────────────────┤
│  [Run All] | [Static] [Dynamic] [EDR] | [Cleanup]    Uploaded: ...      │
├─────────────────────────────────────────────────────────────────────────┤
│  🚫 DETECTED — 5 hit(s) across 2 Static, 1 Dynamic [CRITICAL]           │
│                                              ✓ Static  ✓ Dynamic  🔄 elastic (2) │
├─ Detection Summary ─────────────────────────────────────────────────────┤
│  Severity  | Scanner             | Detection         | Detail           │
│  CRITICAL  | Static · CheckPlz   | Trojan:Win64/...  | offset 0x20EF    │
│  CRITICAL  | Static · YARA       | mimikatz_strings  | matched $sek...  │
│  HIGH      | Dynamic · PE-Sieve  | 3 modifications   | 3 IAT hooks      │
│  ...                                                                    │
├─ Static | Dynamic | EDR ────────────────────────────────────────────────┤
│  per-scanner sub-tabs with stat strip + bordered finding cards          │
└─────────────────────────────────────────────────────────────────────────┘

Вердикт и охват

  • ⏳ RUNNING — N hit(s) so far — пока любой запланированный сканер ещё работает.
  • 🚫 DETECTED — N hit(s) across X Static, Y Dynamic, Z EDR [maxSev] — как только каждый запланированный сканер перейдёт в конечное состояние.
  • ✓ CLEAN — 0 critical/high/medium detections — только если ни на одном сканере нет реальных срабатываний. Информационные сигналы (LOW/INFO) отмечаются отдельно, а не в заголовке.
  • (Static only) / (Dynamic + EDR) и т.п. добавляется, когда оператор запускает отдельный сканер вместо Run All: вердикт честно отражает, что именно было выполнено.

Сводка обнаружений

Собирает все обнаружения со всех сканеров в одну сортируемую таблицу. Строки извлекаются из фактического JSON, который возвращает LitterBox (а не из обобщённых строк факторов):

  • Правила YARA / YARA-mem с уровнем серьёзности, именем угрозы и идентификатором первого совпавшего строкового паттерна
  • CheckPlz initial_threat + scan_results.detection_offset
  • Stringnalyzer: количество опасных категорий
  • PE-Sieve: total_suspicious + количество по каждому индикатору
  • Moneta: ненулевые счётчики аномалий total_* (Private RWX → CRITICAL и т.д.)
  • Patriot: для каждой находки level + type + первые 120 символов details
  • HSB: для каждой находки серьёзность + тип + идентификатор потока
  • RedEdr: события Defender, отфильтрованные по category === 'threat'
  • EDR-алерты: правило + серьёзность + процесс + сводка по API

Сортировка по убыванию серьёзности, затем по имени сканера.

Автоочистка

При закрытии диалога md5 текущего образца удаляется из LitterBox через DELETE /file/<md5>. Между заданиями не накапливаются устаревшие образцы.


Архитектура

root@kitploit:~
Adaptix Client (Qt) ──┐
                      │ AXScript service_command("cheshire", "run_all", {...})
                      ▼
Adaptix Server  ──→  service_cheshire.so  ──HTTP──→  LitterBox  ──→  EDR VM
  │                                                       │              │
  │                    streams progress events        Static / Dynamic   │
  │                    + results back via             scanners run on    │
  │                    TsServiceSendDataClient        the LitterBox host │
  ▼                                                       │              │
Adaptix Client renders verdict, detection summary,        │     EDR profile
progress strip, per-scanner detail panels.                ▼     dispatches
                                                  /analyze/edr/<P>/<md5>
                                                  Phase 1: exec on EDR VM
                                                  Phase 2: poll Elastic
                                                          for alerts

Go-плагин запускает каждую отправку сканера в отдельной горутине, поэтому Run All выполняет Static + Dynamic + (по одному POST на каждый EDR-профиль) параллельно. Панель AXScript обновляется в реальном времени по мере того, как каждая горутина передаёт обратно события progress и результаты.


Лицензия

Cheshire следует соглашениям LitterBox / Adaptix. Подробности см. в лицензиях родительских проектов.

Скачать инструмент