Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

FeedsContactoPrivacidad© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
webvm — Máquina virtual para la Web | Kitploit
Herramientas/GitHubGitHub/axlan/webvm
Virtualización de SeguridadSeguridad de RedesCTFSeguridad en la NubeAprendizaje y EducaciónLabs y Práctica
GitHubaxlan/webvm

webvm

Máquina virtual para la Web

Ver Repositorio
33hace 9 mesesAún no revisado

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir
Sitio web

WebVM

Discord server Issues

Este repositorio aloja el código fuente de https://webvm.io, una máquina virtual Linux que se ejecuta en tu navegador.

Prueba el nuevo entorno gráfico Alpine / Xorg / i3: https://webvm.io/alpine.html

WebVM es un entorno virtual sin servidor que se ejecuta completamente del lado del cliente en HTML5/WebAssembly. Está diseñado para ser compatible con la ABI de Linux. Ejecuta una distribución Debian sin modificar que incluye muchas cadenas de herramientas de desarrollo nativas.

WebVM funciona con el motor de virtualización CheerpX y permite la ejecución segura y aislada de binarios x86 en cualquier navegador. CheerpX incluye un compilador JIT de x86 a WebAssembly, un sistema de archivos virtual basado en bloques y un emulador de llamadas al sistema de Linux.

Índice

  • Fork, deploy, customize
  • Running WebVM locally with a custom Debian mini disk image
  • Example customization: Python3 REPL
  • How to use Claude AI
  • Bugs and Issues
  • More links
  • Thanks to...
  • Versioning
  • License

Enable networking

Los navegadores modernos no proporcionan APIs para usar directamente TCP o UDP. WebVM ofrece soporte de red integrándose con Tailscale, una red VPN que admite WebSockets como capa de transporte.

  1. Abre el panel "Networking" desde la barra lateral
  2. Haz clic en "Connect to Tailscale" en el panel
  3. Inicia sesión en Tailscale (crea una cuenta si no tienes una)
  4. Haz clic en "Connect" cuando Tailscale lo solicite

¡WebVM ahora tiene acceso a las máquinas en tu propia red local de Tailscale!

la World Wide Web

Si deseas acceder a la internet pública, necesitarás un nodo de salida. Consulta Tailscale Exit Nodes para obtener instrucciones detalladas. (Dependiendo de la velocidad de tu red, puede que debas esperar unos momentos para que se descargue el módulo Wasm de Tailscale). Una vez configurado:

  • Inicia sesión con tus credenciales de Tailscale.
  • Vuelve a la pestaña de WebVM.
  • El botón "Connect to Tailscale" en el panel lateral de Networking debería ser reemplazado por tu dirección IP.

usando authkey

Como alternativa a iniciar sesión manualmente, puedes añadir tu clave de autenticación de Tailscale al final de la URL de WebVM.

https://webvm.io/#authKey=<tu-clave>

Se recomienda usar una clave efímera.

Autohospedando tu red Tailscale

También soportamos headscale, una implementación de código abierto autogestionada del servidor de control de Tailscale.

Aunque headscale desafortunadamente no permite añadir cabeceras CORS. Tendrás que configurar un servidor proxy para añadirlas. Las instrucciones de headscale para hacerlo se pueden encontrar aquí.

Una vez listo, añade la siguiente línea a tu bloque location / en tu archivo de configuración de nginx.

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

Para iniciar sesión en tu red headscale, añade #controlUrl=<tu-url-de-control> a la URL de WebVM.

Notas:

  • Si autoalojas, reemplaza "https://webvm.io" con tu propia URL.
  • Esto es equivalente a la opción de línea de comandos --login-server de Tailscale.
  • Si se utiliza con authkey, no olvides separar los fragmentos de la URL con un & entre ellos.

Fork, deploy, customize

deploy_instructions_gif
  • Haz un fork del repositorio.
  • Habilita GitHub Pages en la configuración.
    • Haz clic en Settings.
    • Ve a la sección Pages.
    • Selecciona Github Actions como origen.
      • Si estás usando un dominio personalizado, asegúrate de que Enforce HTTPS esté habilitado.
  • Ejecuta el workflow.
    • Haz clic en Actions.
    • Acepta la solicitud. Esto solo se requiere una vez para habilitar Actions en tu fork.
    • Haz clic en el workflow llamado Deploy.
    • Haz clic en Run workflow y luego nuevamente en Run workflow en el menú.
  • Después de unos segundos, comenzará un nuevo workflow Deploy, haz clic en él para ver los detalles.
  • Una vez que el workflow se complete (tarda unos minutos), mostrará la URL debajo del trabajo deploy_to_github_pages.

Ahora puedes personalizar dockerfiles/debian_mini según tus necesidades, o crear un nuevo Dockerfile desde cero. Usa el parámetro del workflow Path to Dockerfile para seleccionarlo.

  • Si deseas usar nuestra imagen completa de Alpine con escritorio, puedes encontrar su Dockerfile aquí.

  • Para más información sobre la creación de imágenes personalizadas, consulta nuestra documentación de imágenes de disco personalizadas.

Run WebVM locally with a custom Debian mini disk image

1. Clona el repositorio de WebVM

git clone https://github.com/leaningtech/webvm.git
cd webvm

2. Descarga la imagen Ext2 de Debian mini

Ejecuta el siguiente comando para descargar la imagen Ext2 de Debian mini:

wget "https://github.com/leaningtech/webvm/releases/download/ext2_image/debian_mini_20230519_5022088024.ext2"

(También puedes construir tu propia imagen de disco seleccionando la opción del workflow "Upload GitHub release")

3. Actualiza el archivo de configuración

Edita `config_public_terminal.js` para que haga referencia a tu imagen de disco local:
  • Reemplaza:

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

    Con:

    "/disk-images/debian_mini_20230519_5022088024.ext2"

    (Usa una URL absoluta o relativa que apunte a la ubicación de la imagen de disco.)

  • Reemplaza "cloud" con el tipo correcto de imagen de disco: "bytes"

4. Construye WebVM

Ejecuta los siguientes comandos para instalar dependencias y construir WebVM:

npm install
npm run build

La salida se colocará en el directorio build.

5. Configura Nginx

  • Crea un directorio para la imagen de disco:
mkdir disk-images
mv debian_mini_20230519_5022088024.ext2 disk-images/
  • Modifica tu archivo nginx.conf para servir la imagen de disco. Añade el siguiente bloque de ubicación:
location /disk-images/ {
	root .;
	autoindex on;
}

6. Inicia Nginx

Ejecuta el siguiente comando para iniciar Nginx:

nginx -p . -c nginx.conf

Nginx servirá automáticamente el directorio build.

7. Accede a WebVM

Abre un navegador y visita: http://127.0.0.1:8081.

¡Disfruta de tu WebVM local!


Example customization: Python3 REPL

El workflow Deploy tiene en cuenta el CMD especificado en el Dockerfile. Para construir un REPL, simplemente aplica este parche y despliega.

Descargar herramienta