GUI Electron multipiattaforma per il framework C2 Sliver, che fornisce dashboard per sessioni e beacon, generazione di payload, listener, loot e gestione del deployment cloud.
Sliver GUI è un'applicazione desktop Electron multipiattaforma per Sliver. Combina connessioni backend, viste di stato in tempo reale, workspace dedicati e una console Sliver nativa in un'interfaccia React realizzata con HeroUI, HeroUI Pro e Font Awesome.
La GUI non implementa ogni comando o opzione upstream. Le connessioni operatore usano mTLS; le configurazioni operatore WireGuard vengono riconosciute ma non possono connettersi. Vedi il report di parità operatore per la copertura monitorata e i documenti sulle funzionalità riportati di seguito per i limiti specifici.
npm run setup:rdp installa la toolchain Rust 1.94.1 bloccata e i target della piattaforma.Le versioni supportate e le dipendenze bloccate sono registrate in package.json e package-lock.json. Il codice dell'applicazione usa TypeScript strict; gli helper di build usano i moduli ES di Node.js.
npm ci --strict-allow-scripts
npx heroui-pro login
npx heroui-pro install --yes
npm run setup:rdp
npm run dev
I passaggi di login/installazione di HeroUI sono necessari per la configurazione iniziale della workstation; possono essere saltati quando HEROUI_AUTH_TOKEN è già configurato per l'installazione. Tenere le credenziali fuori dai file tracciati.
npm run dev compila e avvia l'applicazione statica su sliver://app/index.html, utilizzando la content security policy di produzione. Compila anche l'helper RDP host dal fork IronRDP bloccato. Le normali build TypeScript e i test unitari non richiedono la compilazione di Rust. Riavviare il comando dopo modifiche al codice sorgente; questo flusso di lavoro non utilizza HMR.
Il client TypeScript è installato dal pacchetto npm sliver-script bloccato. Non è necessario un checkout del client adiacente. Lo sviluppo ordinario dell'applicazione non richiede un checkout del codice sorgente di Sliver; la compilazione della console nativa sì.
La radice predefinita del client Sliver è ~/.sliver-client; SLIVER_CLIENT_ROOT_DIR può selezionare un'altra radice. Le preferenze dell'applicazione, incluse le opzioni del grafico Overview, sono salvate in gui/application-settings.json; lo zoom del workspace è salvato in gui/workspace-zoom.json, e le preferenze dell'editor di testo in gui/text-editor-settings.json sotto quella radice. La GUI rileva le configurazioni operatore esistenti in configs/ e aggiorna il selettore aperto quando una configurazione valida viene salvata lì. Salva le configurazioni selezionate tramite Import come riferimenti a file privati in gui/operator-configs.json. Import e Forget non copiano né eliminano le configurazioni di origine.
I profili Remote Desktop e i pin dei certificati degli endpoint risiedono in gui/rdp.json. Le password sono omesse per impostazione predefinita, possono essere conservate fino all'uscita dall'app, oppure possono essere crittografate con l'archivio sicuro del sistema operativo. Le password persistenti non sono disponibili quando Linux seleziona un key store non crittografato. Il trasferimento degli appunti è esplicito e limitato al testo; la chiusura di una scheda RDP disconnette senza effettuare il logout dall'account Windows remoto.
Settings → General → Appearance → Disable window transparency disattiva immediatamente il vetro nativo delle finestre in tutta l'app. L'interruttore è disattivato per impostazione predefinita, quindi la trasparenza rimane abilitata dove supportata. Viene salvato con le altre preferenze dell'applicazione e ha la precedenza sulla trasparenza del terminale.
I colori del terminale compatibili con Ghostty sono configurati in Settings → Terminal e salvati in gui/ghostty/config. I temi personalizzati appartengono a gui/ghostty/themes/; i temi Ghostty nativi installati vengono rilevati automaticamente. Consultare terminal appearance and Ghostty themes per la condivisione della configurazione, l'editor Monaco, il supporto della trasparenza per piattaforma e i limiti di runtime.