Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
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.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
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
66444 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

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)

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à:

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

2. Configura Cheshire

Modifica cheshire_service/config.yaml e imposta 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"

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

root@kitploit:~
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:

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

5. Riavvia il server

root@kitploit:~
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

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

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):

  • Regole YARA / YARA-mem con severità + nome della minaccia + identificatore della prima stringa corrispondente
  • CheckPlz initial_threat + scan_results.detection_offset
  • Conteggi delle categorie pericolose di Stringnalyzer
  • PE-Sieve total_suspicious + conteggi per indicatore
  • Conteggi di anomalie total_* non zero di Moneta (Private RWX → CRITICAL, ecc.)
  • Patriot per rilevazione level + type + primi 120 caratteri di details
  • HSB per rilevazione severità + tipo + id del thread
  • Eventi Defender di RedEdr filtrati per category === 'threat'
  • Alert EDR: regola + severità + processo + riepilogo API

Ordinati per severità decrescente, poi per nome dello scanner.

Pulizia automatica

Quando la finestra di dialogo si chiude, l'md5 del campione corrente viene rimosso da LitterBox tramite DELETE /file/<md5>. Nessun campione obsoleto si accumula tra un'operazione e l'altra.


Architettura

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

Il plugin di servizio Go esegue ogni invio allo scanner nella propria goroutine, quindi Run All emette Static + Dynamic + (un POST per profilo EDR) tutto in parallelo. La dashboard AXScript si aggiorna in tempo reale mentre ogni goroutine trasmette eventi progress e di risultato.


Licenza

Cheshire segue le convenzioni di LitterBox / Adaptix. Consulta le licenze del progetto principale per i dettagli.

Scarica lo strumento