GUI Electron multiplataforma para o framework C2 Sliver, oferecendo painéis de sessão e beacon, geração de payload, listeners, loot e gerenciamento de implantação em nuvem.
O Sliver GUI é um aplicativo desktop Electron multiplataforma para o Sliver. Ele combina conexões de backend, visualizações de status em tempo real, workspaces dedicados e um console Sliver nativo em uma interface React construída com HeroUI, HeroUI Pro e Font Awesome.
A GUI não implementa todos os comandos ou opções upstream. As conexões de operador usam mTLS; configurações de operador WireGuard são reconhecidas, mas não podem se conectar. Consulte o relatório de paridade de operador para cobertura rastreada e os documentos de recursos abaixo para limites específicos.
npm run setup:rdp instala o
toolchain Rust 1.94.1 fixado e os alvos de plataforma.As versões suportadas e as dependências bloqueadas estão registradas em package.json e package-lock.json. O código do aplicativo usa TypeScript estrito; os auxiliares de build usam módulos ES do Node.js.
npm ci --strict-allow-scripts
npx heroui-pro login
npx heroui-pro install --yes
npm run setup:rdp
npm run dev
As etapas de login/instalação do HeroUI são necessárias para a configuração inicial da estação de trabalho; elas podem ser ignoradas quando HEROUI_AUTH_TOKEN já estiver configurado para a instalação. Mantenha as credenciais fora dos arquivos rastreados.
npm run dev compila e inicia a aplicação estática em sliver://app/index.html, usando a política de segurança de conteúdo de produção. Ele também compila o auxiliar RDP do host a partir do fork fixado do IronRDP. Compilações TypeScript comuns e testes unitários não exigem a compilação de Rust. Reinicie o comando após alterações no código-fonte; este fluxo de trabalho não usa HMR.
O cliente TypeScript é instalado a partir do pacote npm sliver-script fixado. Um checkout adjacente do cliente não é necessário. O desenvolvimento comum da aplicação não exige um checkout do código-fonte do Sliver; já a compilação do console nativo exige.
A raiz padrão do cliente Sliver é ~/.sliver-client; SLIVER_CLIENT_ROOT_DIR pode selecionar outra raiz. As preferências da aplicação, incluindo as opções do grafo da Visão Geral, são salvas em gui/application-settings.json; o zoom do workspace é salvo em gui/workspace-zoom.json, e as preferências do editor de texto em gui/text-editor-settings.json sob essa raiz. A GUI descobre configurações de operador existentes em configs/ e atualiza o seletor aberto quando uma configuração válida é salva ali. Ela salva as configurações selecionadas por meio de Importar como referências de arquivo privadas em gui/operator-configs.json. Importar e Esquecer não copiam nem excluem as configurações de origem.
Os perfis de Área de Trabalho Remota e os pins de certificado de endpoint ficam em gui/rdp.json. As senhas são omitidas por padrão, podem ser retidas até o encerramento do aplicativo, ou podem ser criptografadas com o armazenamento seguro do sistema operacional. Senhas persistentes ficam indisponíveis quando o Linux seleciona um armazenamento de chaves não criptografado. A transferência pela área de transferência é explícita e limitada a texto; fechar uma aba RDP desconecta sem encerrar a sessão da conta Windows remota.
Configurações → Geral → Aparência → Desativar transparência da janela desativa imediatamente o vidro nativo da janela em todo o aplicativo. A opção vem desativada por padrão, portanto a transparência permanece habilitada onde houver suporte. Ela é salva junto com as demais preferências da aplicação e tem precedência sobre a transparência do terminal.
As cores de terminal compatíveis com Ghostty são configuradas em Configurações → Terminal e salvas em gui/ghostty/config. Temas personalizados pertencem a gui/ghostty/themes/; os temas nativos do Ghostty instalados são descobertos automaticamente. Consulte aparência do terminal e temas do Ghostty para compartilhamento de configuração, o editor Monaco, suporte à transparência por plataforma e limites de execução.