Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

FeedContattoPrivacy© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
Cheshire — Plugin di servizio Adaptix C2 che gestisce l'analisi dei payload di LitterBox dalla UI dell'operatore. | Kitploit
Strumenti/GitHubGitHub/blacksnufkin/cheshire
Frameworks per Penetration TestingAnalisi StaticaAnalisi Dinamica (Sandboxing)Framework di ExploitAnalisi MalwareCommand and ControlRed Teaming
GitHubblacksnufkin/cheshire

Cheshire

Plugin di servizio Adaptix C2 che gestisce l'analisi dei payload di LitterBox dalla UI dell'operatore.

Vedi Repository
664165 mesi faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

Cheshire Logo

Cheshire

QA pre-volo del payload per Adaptix, basato su LitterBox.

Cheshire è un plugin di servizio C2 per Adaptix che collega il client Adaptix a una sandbox LitterBox. Dall'interno dell'interfaccia Adaptix, un operatore può selezionare un qualsiasi binario, inviarlo attraverso la catena completa di analisi di LitterBox (statica + dinamica + ogni profilo EDR raggiungibile) e vedere il verdetto materializzarsi senza mai uscire da Adaptix.

Il nome segue la linea delle mascotte del progetto:

  • Adaptix → camaleonte
  • LitterBox → gatto scontroso
  • Il ponte tra i due → Cheshire (il gatto che sorride, appare e scompare, e ti dice se la strada davanti è sicura).

Cosa fa

AzioneEndpoint LitterBoxRisultato
Carica payloadPOST /uploadmd5 + metadati del file
Esegui tuttoPOST /analyze/static/<md5> + /analyze/dynamic/<md5> + /analyze/edr/<profile>/<md5> (×N profili) in goroutine paralleleStatic, Dynamic, ogni profilo EDR popolato al completamento di ciascuno
Solo statica/analyze/static/<md5>Risultati YARA / CheckPlz / Stringnalyzer
Solo dinamica/analyze/dynamic/<md5>Risultati YARA-mem / PE-Sieve / Moneta / Patriot / HSB / RedEdr
EDR (multi)/analyze/edr/<profile>/<md5> per profilo + polling di Fase 2 su /api/results/edr/<profile>/<md5>Tabella alert per profilo + dettaglio completo dell'alert (motivo, MITRE, API, regione di memoria, stack di chiamate, modulo utente finale, processo, padre, risposte EDR)
PuliziaDELETE /file/<md5>Rimuove upload + cartelle dei risultati + directory di analisi per campione da LitterBox
Sonda della flottaGET /healthStato della sandbox, inventario scanner, raggiungibilità dell'agente EDR — guida le checkbox dei Profili EDR

Il polling di Fase 2 EDR usa la cadenza adattiva di LitterBox (base 2s, backoff ×1.5 fino a 15s quando il conteggio degli alert è stabile, ritorno immediato a 2s al movimento). Ogni tick di polling trasmette un evento progress al client, così la striscia di avanzamento live può mostrare i conteggi degli alert crescere in tempo reale.


Struttura

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)

Il plugin Go è un relay HTTP senza stato tra TsServiceSendDataClient di Adaptix e l'API REST di LitterBox. Il file AXScript gestisce tutto il rendering — banner del verdetto, riepilogo delle rilevazioni, sotto-schede per scanner, tabella degli alert EDR con clic per il dettaglio.


Configurazione

1. Avvia LitterBox

Cheshire richiede un'istanza LitterBox in esecuzione (vedi il repo LitterBox per l'installazione). Verifica la raggiungibilità:

curl http://<litterbox-host>:1337/health

2. Configura Cheshire

Modifica cheshire_service/config.yaml e imposta litterbox_url:

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"

Se litterbox_url manca, il plugin si carica ma ogni comando dell'operatore restituisce "Cheshire is not configured: set litterbox_url in service_config". Non esiste un default di riserva.

3. Distribuisci

bash setup_cheshire.sh --ax /path/to/AdaptixC2

Questo:

  1. Copia il sorgente in AdaptixC2/AdaptixServer/extenders/cheshire_service/.
  2. Aggiunge ./extenders/cheshire_service al workspace Go.
  3. Compila service_cheshire.so tramite il Makefile.
  4. Copia il .so compilato + config.yaml + ax_config.axs in AdaptixC2/dist/extenders/cheshire_service/.

4. Registra con il server Adaptix

Aggiungi una riga a AdaptixC2/dist/profile.yaml sotto Teamserver.extenders:

extenders:
  - "extenders/cheshire_service/config.yaml"
  ...

5. Riavvia il server

pkill -f adaptixserver
cd AdaptixC2/dist
./adaptixserver -profile profile.yaml

Dovresti vedere [cheshire] Initialized — LitterBox at http://... nel log del server, seguito da [+] Service 'cheshire' loaded.

Nella barra dei menu del client Adaptix, Cheshire → Test with Cheshire apre la dashboard.


Dashboard

┌─ 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          │
└─────────────────────────────────────────────────────────────────────────┘

Verdetto + ambito

  • ⏳ RUNNING — N hit(s) so far mentre uno qualsiasi degli scanner pianificati è in esecuzione.
  • 🚫 DETECTED — N hit(s) across X Static, Y Dynamic, Z EDR [maxSev] quando ogni scanner pianificato raggiunge uno stato terminale.
  • ✓ CLEAN — 0 critical/high/medium detections solo se non ci sono hit reali in nessuno scanner. I segnali informativi (LOW/INFO) sono annotati separatamente, non nel titolo.
  • (Static only) / (Dynamic + EDR) ecc. viene aggiunto quando l'operatore esegue un singolo scanner invece di Run All — il verdetto riflette onestamente ciò che è stato effettivamente eseguito.

Riepilogo delle rilevazioni

Aggrega ogni rilevazione di ogni scanner in un'unica tabella ordinabile. Le righe sono estratte dal JSON effettivo che LitterBox restituisce (non stringhe di fattori generiche):

Scarica lo strumento