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
webvm — Máquina Virtual para a Web | Kitploit
Ferramentas/GitHubGitHub/axlan/webvm
Virtualização para SegurançaSegurança de RedeCTFSegurança na NuvemAprendizado e EducaçãoLabs e Prática
GitHubaxlan/webvm

webvm

Máquina Virtual para a Web

Ver Repositório
há 7 mesesAinda não revisado

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 para https://webvm.io, uma máquina virtual Linux que roda no seu navegador.

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

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

WebVM é alimentado pelo motor de virtualização CheerpX e permite a execução segura e em sandbox de binários x86 no lado do cliente em qualquer navegador. CheerpX inclui um compilador JIT de x86 para WebAssembly, um sistema de arquivos virtual baseado em blocos e um emulador de syscall Linux.

Table of Contents

  • Fork, implantar, personalizar
  • Executando WebVM localmente com uma imagem de disco Debian mini personalizada
  • Exemplo de personalização: REPL Python3
  • Como usar Claude AI
  • Bugs e Problemas
  • Mais links
  • Agradecimentos a...
  • Versionamento
  • Licença

Ativar rede

Navegadores modernos não fornecem APIs para usar diretamente TCP ou UDP. WebVM fornece suporte de rede integrando-se com Tailscale, uma rede VPN que suporta WebSockets como camada de transporte.

  1. Abra o painel "Rede" na barra lateral
  2. Clique em "Conectar ao Tailscale" no painel
  3. Faça login no Tailscale (crie uma conta se não tiver uma)
  4. Clique em "Conectar" quando solicitado pelo Tailscale

O WebVM agora tem acesso a máquinas na sua própria rede Tailscale local!

a world wide web

Se você quiser acessar a internet pública, precisará de um Nó de Saída (Exit Node). Veja Nós de Saída do Tailscale para instruções detalhadas. (Dependendo da velocidade da sua rede, talvez seja necessário aguardar alguns momentos para que o módulo Wasm do Tailscale seja baixado.) Depois de configurado:

  • Faça login com suas credenciais do Tailscale.
  • Volte para a aba do WebVM.
  • O botão Conectar ao Tailscale no painel lateral de Rede deve ser substituído pelo seu endereço IP.

usando authkey

Como alternativa ao login manual, você pode adicionar sua chave auth Tailscale no final da URL do WebVM.

https://webvm.io/#authKey=<your-key>

É recomendado usar uma chave efêmera.

Auto-hospedando sua rede tailscale

Também suportamos headscale, uma implementação auto-hospedada de código aberto do servidor de controle do Tailscale.

No entanto, infelizmente o headscale não suporta adicionar cabeçalhos CORS. Você precisará configurar um servidor proxy para adicioná-los. As instruções do headscale sobre como fazer isso podem ser encontradas aqui.

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

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

Para fazer login na sua rede headscale, adicione #controlUrl=<your-control-url> à URL do webVM.

Notas:

  • Se estiver auto-hospedando, substitua "https://webvm.io" pela sua própria URL.
  • Isso é equivalente à opção de linha de comando --login-server do tailscale.
  • Se usado com authkey, não se esqueça de separar os fragmentos da URL com um & entre eles.

Fork, implantar, personalizar

deploy_instructions_gif
  • Faça um fork do repositório.
  • Habilite o Github Pages nas configurações.
    • Clique em Settings.
    • Vá para a seção Pages.
    • Selecione Github Actions como origem.
      • Se estiver usando um domínio personalizado, certifique-se de que Forçar HTTPS está ativado.
  • Execute o workflow.
    • Clique em Actions.
    • Aceite o prompt. Isso é necessário apenas uma vez para habilitar Actions no seu fork.
    • Clique no workflow chamado Deploy.
    • Clique em Run workflow e depois novamente em Run workflow no menu.
  • Após alguns segundos, um novo workflow Deploy será iniciado, clique nele para ver detalhes.
  • Após a conclusão do workflow, que leva alguns minutos, ele mostrará a URL abaixo da tarefa deploy_to_github_pages.

Agora você pode personalizar dockerfiles/debian_mini para atender suas necessidades, ou criar um novo Dockerfile do zero. Use o parâmetro do workflow Path to Dockerfile para selecioná-lo.

  • Se você quiser usar nossa imagem Alpine completa para desktop, pode encontrar seu dockerfile aqui.

  • Para mais informações sobre criação de imagens personalizadas, veja nossa Documentação de Imagens de Disco Personalizadas.

Executar WebVM localmente com uma imagem de disco Debian mini personalizada

1. Clone o Repositório WebVM

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

2. Baixe a imagem Ext2 Debian mini

Execute o seguinte comando para baixar a imagem Ext2 Debian mini:

root@kitploit:~
wget "https://github.com/leaningtech/webvm/releases/download/ext2_image/debian_mini_20230519_5022088024.ext2"

(*Você também pode construir sua própria imagem de disco selecionando a opção de workflow "Upload GitHub release" *)

3. Atualize o arquivo de configuração

root@kitploit:~
Edite `config_public_terminal.js` para referenciar sua imagem de disco local:
  • Substitua:

    "wss://disks.webvm.io/debian_large_20230522_5044875331.ext2"

    Por:

    "/disk-images/debian_mini_20230519_5022088024.ext2"

    (Use uma URL absoluta ou relativa apontando para o local da imagem de disco.)

  • Substitua "cloud" pelo tipo de imagem de disco correto: "bytes"

4. Construa o WebVM

Execute os seguintes comandos para instalar as dependências e construir o WebVM:

root@kitploit:~
npm install
npm run build

A saída será colocada no diretório build.

5. Configure o Nginx

  • Crie um diretório para a imagem de disco:
root@kitploit:~
mkdir disk-images
mv debian_mini_20230519_5022088024.ext2 disk-images/
  • Modifique seu arquivo nginx.conf para servir a imagem de disco. Adicione o seguinte bloco de localização:
root@kitploit:~
location /disk-images/ {
	root .;
	autoindex on;
}

6, Inicie o Nginx

Execute o seguinte comando para iniciar o Nginx:

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

O Nginx servirá automaticamente o diretório build.

7. Acesse o WebVM

Abra um navegador e visite: http://127.0.0.1:8081.

Aproveite seu WebVM local!


Exemplo de personalização: REPL Python3

O workflow Deploy leva em conta o CMD especificado no Dockerfile. Para construir um REPL, você pode simplesmente aplicar este patch e implantar.

root@kitploit:~
diff --git a/dockerfiles/debian_mini b/dockerfiles/debian_mini
index 2878332..1f3103a 100644
--- a/dockerfiles/debian_mini
+++ b/dockerfiles/debian_mini
@@ -15,4 +15,4 @@ WORKDIR /home/user/
 # We set env, as this gets extracted by Webvm. This is optional.
 ENV HOME="/home/user" TERM="xterm" USER="user" SHELL="/bin/bash" EDITOR="vim" LANG="en_US.UTF-8" LC_ALL="C"
 RUN echo 'root:password' | chpasswd
-CMD [ "/bin/bash" ]
+CMD [ "/usr/bin/python3" ]

Como usar Claude AI

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

1. Crie uma conta

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

2. Obtenha sua chave API

  • Após fazer login, navegue até Obter chaves API.
  • Compre a quantidade de créditos que você precisa. Após completar a compra, você poderá gerar a chave através do console da API.

3. Faça login com sua chave 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 pode inserir sua chave API do Claude.
  • Insira sua chave e pressione Enter.

4. Comece a usar Claude AI

  • Após inserir sua chave API, você pode começar a interagir com Claude AI fazendo perguntas como:

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

deploy_instructions_gif

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

Bugs e Problemas

Por favor, use Issues para relatar qualquer bug. Ou venha dizer olá / compartilhar seu feedback no Discord.

Mais links

  • 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 caixa Linux a partir de Dockerfile, virtualizada no navegador via WebAssembly
  • Referência de implantação GitHub Pages: Mini.WebVM
  • Crafting the Impossible: X86 Virtualization in the Browser with WebAssembly Palestra no JsNation 2022

Agradecimentos a...

Este projeto depende de:

  • CheerpX, feito por Leaning Technologies para virtualização x86 e emulação Linux
  • xterm.js, https://xtermjs.org/, por fornecer o emulador de terminal baseado na Web
  • Tailscale, pelo componente de rede
  • lwIP, para a pilha TCP/IP, compilado para a Web via Cheerp

Versionamento

WebVM depende da tecnologia de virtualização x86 para WebAssembly CheerpX, que é incluída no projeto via NPM.

O pacote NPM é atualizado a cada versão.

Cada build é imutável; se uma versão específica funcionar bem para você hoje, continuará funcionando para sempre.

Licença

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

Você está convidado a usar, modificar e redistribuir o conteúdo deste repositório.

A implantação pública do CheerpX é fornecida como está e é gratuita para uso 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. Baixar uma build do CheerpX com o objetivo de hospedá-la em outro lugar não é permitido sem uma licença comercial.

Leia mais sobre licenciamento CheerpX

Se você quiser construir um produto baseado em CheerpX/WebVM, entre em contato: [email protected]

Baixar ferramenta