Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
Ferramentas/GitHubGitHub/leaningtech/webvm
Virtualização para SegurançaSegurança de RedeCTFSegurança na NuvemDevSecOpsAprendizado e Educação
GitHubleaningtech/webvm

webvm

Máquina virtual Linux do lado do cliente executada no navegador via WebAssembly, com rede Tailscale, imagens personalizadas baseadas em Dockerfile e suporte a desafios CTF para educação e desenvolvimento em segurança.

Ver Repositório
17.2k3.3khá 3 diasRevisado pelo Kitploit

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar
Site

WebVM

Discord server Issues

Este repositório hospeda o código-fonte do https://webvm.io, uma máquina virtual Linux que é executada no seu navegador.

Experimente o novo ambiente gráfico Alpine / Xorg / i3: https://webvm.io/alpine.html

O que é o WebVM?

WebVM é um ambiente virtual sem servidor que é executado totalmente no lado do cliente em HTML5/WebAssembly. Ele foi projetado para ser compatível com a ABI do Linux e executa uma distribuição Debian não modificada, incluindo muitas toolchains de desenvolvimento nativas.

WebVM é alimentado pelo motor de virtualização CheerpX, que fornece:

  • Compilador JIT de x86 para WebAssembly
  • Sistema de arquivos virtual baseado em blocos
  • Emulador de syscalls do Linux
  • Execução segura e isolada (sandbox) no lado do cliente

Índice

  • Rede
  • Desenvolvimento e Personalização
    • Implantar no GitHub Pages
    • Servidor Local e Configuração de Imagem
  • Integração com Claude AI
  • Comunidade e Suporte
  • Saiba Mais
  • Licença

[!NOTE] Visite https://webvm.io para começar imediatamente no seu navegador. Nenhuma configuração necessária.

Para configuração local, criação de imagens personalizadas e orientações sobre fork/implantação, consulte Desenvolvimento e Personalização.

Rede

WebVM oferece suporte à integração com Tailscale. Dessa forma, sua VM no navegador pode acessar sua rede privada e, com um nó de saída (exit node), também a internet pública.

[!NOTE] Algumas operações de rede de baixo nível (especialmente ICMP usado pelo ping) não estão disponíveis atualmente neste ambiente. Para verificações de conectividade, use curl ou wget.

Rede local

  1. Abra o painel "Rede" na barra lateral
  2. Clique em "Conectar ao Tailscale"
  3. Faça login (crie uma conta gratuita em tailscale.com se necessário)
  4. Clique em "Conectar" quando solicitado

Agora o WebVM tem acesso a todas as máquinas da sua rede Tailscale!

Dicas de uso da Internet

[!TIP] Em conexões mais lentas, pode haver um pequeno atraso antes da inicialização. O status da conexão é exibido como um ponto colorido no botão: laranja = rede local, verde = global/internet. O texto do botão mostra seu endereço IP do Tailscale assim que conectado.

Para acessar a internet pública a partir do WebVM, configure um Nó de Saída (Exit Node) em outro dispositivo da sua rede Tailscale:

  1. Siga o guia rápido do Nó de Saída do Tailscale (seções: "Advertise a device as an exit node")
  2. O WebVM usa automaticamente o nó de saída assim que ele for anunciado

Usando uma Chave de Autenticação

Como alternativa ao login interativo, adicione sua chave de autenticação do Tailscale ao fragmento da URL:

root@kitploit:~
https://webvm.io/#authKey=<your-ephemeral-key>

Isso é equivalente à opção --login-server do Tailscale.

[!TIP] Se você também precisar de um servidor de controle personalizado, adicione controlUrl no mesmo fragmento da URL e separe os valores com &, por exemplo: #authKey=...&controlUrl=...

Hospedagem Própria do Tailscale com Headscale

Também oferecemos suporte ao headscale, uma implementação de código aberto auto-hospedada do servidor de controle do Tailscale. Como o Headscale não adiciona cabeçalhos CORS por padrão, você precisará de um proxy na frente dele. Consulte a documentação de configuração de proxy reverso do Headscale para ver um exemplo.

Quando estiver pronto, adicione a seguinte linha ao bloco location / do seu arquivo de configuração do nginx.

root@kitploit:~
if ($http_origin = "https://yourdomain.com") {
    add_header 'Access-Control-Allow-Origin' "$http_origin";
    add_header 'Access-Control-Allow-Credentials' 'true' always;
}

Em seguida, acesse o WebVM com:

root@kitploit:~
https://yourdomain.com/#controlUrl=<your-headscale-url>

Desenvolvimento e Personalização

[!NOTE] Os usuários têm privilégios de root por padrão. O sudo não está instalado, embora possa ser facilmente adicionado ao Dockerfile, se necessário.

Implantar no GitHub Pages

Este é um fluxo de trabalho simples e amigável para iniciantes. Para hospedagem local e personalização, veja abaixo Servidor Local e Configuração de Imagem.

Faça um fork do repositório WebVM para implantar sua própria versão no GitHub Pages:

deploy_instructions_gif
  1. Faça um fork do repositório
  2. Ative o GitHub Pages no repositório bifurcado em Configurações → Pages usando "GitHub Actions" como fonte
  3. Execute o fluxo de trabalho Deploy em Actions
  4. Após a conclusão, abra a URL exibida no job deploy_to_github_pages

O mesmo fluxo de trabalho Deploy também cria imagens de disco .ext2 personalizadas a partir de um Dockerfile. Você pode apontá-lo para dockerfiles/debian_mini ou outro Dockerfile, e então publicar o resultado como um artefato de Release do GitHub ou implantar a compilação do Pages a partir do seu fork.

[!NOTE] dockerfiles/debian_large é uma imagem muito grande para o GitHub Pages.

Servidor Local e Configuração de Imagem

1. Clone o repositório

root@kitploit:~
git clone https://github.com/leaningtech/webvm.git
cd webvm

2. Coloque sua imagem em custom-disk-images/

Este repositório inclui um diretório persistente custom-disk-images/ para arquivos .ext2 locais.

Para usar a imagem Debian mini oficial, faça o download dela em Releases:

debian_mini_20230519_5022088024.ext2

Você também pode copiar uma imagem que você mesmo criou.

3. Aponte o WebVM para sua imagem local

Edite config_public_terminal.js:

root@kitploit:~
export const diskImageUrl =
  "/custom-disk-images/debian_mini_20230519_5022088024.ext2";
export const diskImageType = "bytes";

4. Instale as dependências e compile

root@kitploit:~
npm install
npm run build

5. Inicie o Nginx e abra o WebVM

root@kitploit:~
nginx -p . -c nginx.conf

Em seguida, abra http://127.0.0.1:8081 e aproveite seu WebVM local!

Para o ambiente de área de trabalho Alpine completo, veja leaningtech/alpine-image.

Para mais detalhes, consulte a documentação de Imagens Personalizadas do CheerpX.

[!TIP] Para REPL Python3, o fluxo de trabalho Deploy leva em consideração o CMD especificado no Dockerfile.

Para criar um REPL, você pode simplesmente alterar CMD [ "/bin/bash" ] para CMD [ "/usr/bin/python3" ] e implantar.

Integração com Claude AI

Para acessar o Claude AI, você precisa de uma chave de API. Siga estas etapas para começar:

1. Crie uma conta

  • Visite o Console Anthropic e inscreva-se com seu e-mail. Você receberá um link de login para o Console Anthropic.

2. Obtenha sua chave de API

  • Depois de logado, navegue até Obter chaves de API.
  • Compre a quantidade de créditos necessária. Após concluir a compra, você poderá gerar a chave através do console da API.

3. Faça login com sua chave de API

  • Navegue até seu WebVM e passe o mouse sobre o ícone do robô. Isso mostrará a aba de Integração com Claude AI. Para maior conveniência, você pode clicar no botão de fixar no canto superior direito para manter a aba no lugar.
  • Você verá um prompt onde poderá inserir sua chave de API do Claude.

4. Comece a usar o Claude AI

  • Depois que sua chave de API for inserida, você pode começar a interagir com o Claude AI fazendo perguntas como:

"Resolva o desafio CTF em /home/user/chall1.bin. Note que o binário lê do stdin."

deploy_instructions_gif

Importante: Sua chave de API é privada e nunca deve ser compartilhada. Não temos acesso à sua chave, ela é armazenada apenas localmente no seu navegador.

Comunidade e Suporte

Relatar problemas: Use o GitHub Issues para relatar bugs ou solicitar funcionalidades.

Converse conosco: Junte-se à nossa comunidade no Discord para discutir o WebVM, compartilhar ideias e obter ajuda.

Saiba Mais

Artigos e Recursos:

  • WebVM: Máquinas virtuais x86 sem servidor no navegador
  • WebVM: Virtualização Linux em WebAssembly com Rede Completa via Tailscale
  • Mini.WebVM: Sua própria máquina Linux a partir de um Dockerfile, virtualizada no navegador via WebAssembly
  • Criando o Impossível: Virtualização x86 no Navegador com WebAssembly — Palestra no JsNation 2022

Exemplo de Implantação:

  • Referência Mini.WebVM — Um exemplo em execução implantado no GitHub Pages

Tecnologia Por Trás do WebVM:

Este projeto é alimentado por:

  • CheerpX — Compilador JIT de x86 para WebAssembly | por Leaning Technologies
  • xterm.js — Emulador de terminal baseado na Web
  • Tailscale — Camada de rede VPN
  • lwIP — Pilha TCP/IP, compilada para a Web via Cheerp

Versionamento:

O WebVM usa o pacote NPM CheerpX, que é atualizado a cada lançamento.

Cada compilação é imutável. Se uma versão específica funcionar bem para você hoje, ela continuará funcionando para sempre.

Licença

O WebVM é lançado sob a Licença Apache, Versão 2.0.

Você é bem-vindo para usar, modificar e redistribuir o conteúdo deste repositório.

A implantação pública do CheerpX é fornecida como está e é gratuita para exploração tecnológica, testes e uso por indivíduos. Qualquer outro uso por organizações, incluindo sem fins lucrativos, academia e setor público, requer uma licença. O download de uma compilação do CheerpX com o objetivo de hospedá-la em outro lugar não é permitido sem uma licença comercial.

Leia mais aqui sobre nossas práticas de licenciamento.

Se você deseja construir um produto baseado no CheerpX/WebVM, consulte nossas outras opções de licenciamento: Licenciamento CheerpX ou entre em contato: [email protected]

Baixar ferramenta