Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
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.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
windows — Ejecuta Windows dentro de un contenedor Docker con aceleración KVM, instalación automática y recursos personalizables. Soporta múltiples versiones de Windows, paso de USB y redes macvlan. | Kitploit
Herramientas/GitHubGitHub/dockur/windows
Utilidades de Propósito GeneralSeguridad de ContenedoresVirtualización de SeguridadSeguridad en la Nube
GitHubdockur/windows

windows

Ejecuta Windows dentro de un contenedor Docker con aceleración KVM, instalación automática y recursos personalizables. Soporta múltiples versiones de Windows, paso de USB y redes macvlan.

Ver Repositorio
52.8k4.6k1hace 19h 52mRevisado por Kitploit

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

Windows

Build Version Size Package Pulls

Windows dentro de un contenedor Docker.

Características ✨

  • Ejecuta Windows dentro de un contenedor Docker
  • Descarga automática e instalación sin intervención
  • Soporta versiones modernas y antiguas de Windows
  • Rendimiento casi nativo con aceleración KVM
  • Asignación personalizable de CPU, memoria y almacenamiento
  • Asignación dinámica de memoria con globo de memoria
  • Paso de dispositivos USB y compartición de carpetas del anfitrión
  • Soporta redes NAT, modo usuario, macvlan y macvtap

Vídeo 📺

YouTube

Uso 🐳

Docker Compose:
root@kitploit:~
services:
  windows:
    image: dockurr/windows
    container_name: windows
    environment:
      VERSION: "11"
    devices:
      - /dev/kvm
      - /dev/net/tun
    cap_add:
      - NET_ADMIN
    ports:
      - 8006:8006
      - 3389:3389/tcp
      - 3389:3389/udp
    volumes:
      - ./windows:/storage
    restart: always
    stop_grace_period: 2m
Docker CLI:
root@kitploit:~
docker run -it --rm --name windows -e "VERSION=11" -p 8006:8006 --device=/dev/kvm --device=/dev/net/tun --cap-add NET_ADMIN -v "${PWD:-.}/windows:/storage" --stop-timeout 120 docker.io/dockurr/windows
Kubernetes:
root@kitploit:~
kubectl apply -f https://raw.githubusercontent.com/dockur/windows/refs/heads/master/kubernetes.yml
GitHub Codespaces:

Open in GitHub Codespaces

Instalador gráfico:

Download WinBoat

Requisitos ⚙️

  • Docker o Podman en un anfitrión Linux con soporte KVM.
  • Docker Desktop o Podman (Desktop) en Windows 11 con virtualización anidada habilitada.
  • Al menos 4 GB de RAM disponible.
  • Al menos 64 GB de espacio libre en disco.

[!NOTE] Docker Desktop en Linux, macOS y Windows 10 actualmente no proporciona acceso KVM a los contenedores y por lo tanto no es compatible.

FAQ 💬

¿Cómo lo uso?

¡Muy sencillo! Estos son los pasos:

  • Inicia el contenedor y conéctate al puerto 8006 usando tu navegador web.

  • Siéntate y relájate mientras ocurre la magia; toda la instalación se realizará de forma totalmente automática.

  • Una vez que veas el escritorio, tu instalación de Windows está lista para usar.

¡Disfruta de tu nueva máquina y no olvides dejar una estrella en este repositorio!

¿Cómo selecciono la versión de Windows?

Por defecto, se instalará Windows 11 Pro. Pero puedes añadir la variable de entorno VERSION a tu archivo compose para especificar una versión alternativa de Windows que se descargará:

root@kitploit:~
environment:
  VERSION: "10"

Selecciona entre los valores siguientes:

[!TIP] Para instalar versiones ARM64 de Windows usa dockur/windows-arm.

¿Cómo cambio la ubicación de almacenamiento?

Para cambiar la ubicación de almacenamiento, incluye el siguiente montaje bind en tu archivo compose:

root@kitploit:~
volumes:
  - ./windows:/storage

Reemplaza la ruta de ejemplo ./windows con la carpeta de almacenamiento o volumen nombrado deseado.

¿Cómo cambio el tamaño del disco?

Para ampliar el tamaño predeterminado de 64 GB, añade la configuración DISK_SIZE a tu archivo compose y ajústala a la capacidad deseada:

root@kitploit:~
environment:
  DISK_SIZE: "256G"

[!TIP] Esto también se puede usar para redimensionar un disco existente a una capacidad mayor sin pérdida de datos. Sin embargo, necesitarás extender manualmente la partición del disco después, ya que el espacio adicional aparecerá como no asignado.

¿Cómo comparto archivos con el anfitrión?

Después de la instalación, habrá una carpeta llamada Shared en tu escritorio, que se puede usar para intercambiar archivos con la máquina anfitriona.

Para seleccionar una carpeta en el anfitrión con este propósito, incluye el siguiente montaje bind en tu archivo compose:

root@kitploit:~
volumes:
  -  ./example:/shared

Reemplaza la ruta de ejemplo ./example con la carpeta compartida deseada, que entonces se hará visible como Shared.

¿Cómo cambio la cantidad de CPU o RAM?

Por defecto, a Windows se le permitirá usar 2 núcleos de CPU y 4 GB de RAM.

Si deseas ajustar esto, puedes especificar la cantidad deseada usando las siguientes variables de entorno:

root@kitploit:~
environment:
  RAM_SIZE: "8G"
  CPU_CORES: "4"

¿Cómo configuro el nombre de usuario y la contraseña?

Por defecto, se crea un usuario llamado Docker y su contraseña es admin.

Si deseas establecer credenciales diferentes durante la instalación, puedes configurarlas en tu archivo compose:

root@kitploit:~
environment:
  USERNAME: "bill"
  PASSWORD: "gates"

¿Cómo selecciono el idioma de Windows?

Por defecto, se descargará la versión en inglés de Windows.

Pero puedes añadir la variable de entorno LANGUAGE a tu archivo compose para especificar un idioma alternativo que se descargará:

root@kitploit:~
environment:
  LANGUAGE: "French"

Puedes elegir entre: 🇦🇪 Árabe, 🇧🇬 Búlgaro, 🇨🇳 Chino, 🇭🇷 Croata, 🇨🇿 Checo, 🇩🇰 Danés, 🇳🇱 Neerlandés, 🇬🇧 Inglés, 🇪🇪 Estonio, 🇫🇮 Finés, 🇫🇷 Francés, 🇩🇪 Alemán, 🇬🇷 Griego, 🇮🇱 Hebreo, 🇭🇺 Húngaro, 🇮🇹 Italiano, 🇯🇵 Japonés, 🇰🇷 Coreano, 🇱🇻 Letón, 🇱🇹 Lituano, 🇳🇴 Noruego, 🇵🇱 Polaco, 🇵🇹 Portugués, 🇷🇴 Rumano, 🇷🇺 Ruso, 🇷🇸 Serbio, 🇸🇰 Eslovaco, 🇸🇮 Esloveno, 🇪🇸 Español, 🇸🇪 Sueco, 🇹🇭 Tailandés, 🇹🇷 Turco y 🇺🇦 Ucraniano.

¿Cómo selecciono la distribución del teclado?

Si deseas configurar una distribución del teclado o configuración regional que no sea la predeterminada para el idioma seleccionado, puedes añadir las variables KEYBOARD y REGION de esta manera:

root@kitploit:~
environment:
  REGION: "en-US"
  KEYBOARD: "en-US"

¿Cómo instalo una imagen personalizada?

Para descargar una imagen ISO no compatible, especifica su URL en la variable de entorno VERSION:

root@kitploit:~
environment:
  VERSION: "https://example.com/win.iso"

Alternativamente, también puedes omitir la descarga y usar un archivo local en su lugar, vinculándolo en tu archivo compose de esta manera:

root@kitploit:~
volumes:
  - ./example.iso:/custom.iso

Reemplaza la ruta de ejemplo ./example.iso con el nombre de archivo de tu ISO deseado. El valor de VERSION se ignorará en este caso.

¿Cómo ejecuto un script después de la instalación?

Para ejecutar tu propio script después de la instalación, puedes crear un archivo llamado install.bat y colocarlo en una carpeta junto con cualquier archivo adicional que necesite (por ejemplo, software a instalar).

Luego, vincula esa carpeta en tu archivo compose de la siguiente manera:

root@kitploit:~
volumes:
  -  ./example:/oem

La carpeta de ejemplo ./example se copiará a C:\OEM y el archivo install.bat dentro de esa carpeta se ejecutará durante el último paso de la instalación automática.

¿Cómo realizo una instalación manual?

Se recomienda mantener la instalación automática, ya que ajusta varias configuraciones para evitar problemas comunes al ejecutar Windows en un entorno virtualizado.

Sin embargo, si insistes en realizar la instalación manualmente (bajo tu propio riesgo), añade la siguiente variable de entorno a tu archivo compose:

root@kitploit:~
environment:
  MANUAL: "Y"

¿Cómo me conecto usando RDP?

El visor web está pensado principalmente para usarse durante la instalación, ya que es menos sensible que RDP y no admite funciones como compartir el portapapeles.

Por lo tanto, para una mejor experiencia puedes conectarte usando cualquier cliente de Microsoft Remote Desktop a la IP del contenedor, utilizando el nombre de usuario Docker y la contraseña admin.

Hay un cliente RDP para Android disponible en Play Store y uno para iOS en la Apple Store. Para Linux puedes usar FreeRDP y en Windows simplemente escribe mstsc en el cuadro de búsqueda.

¿Cómo habilito el audio?

El audio está desactivado por defecto a menos que uses RDP. Para transmitirlo al navegador, añade la siguiente variable de entorno:

root@kitploit:~
environment:
  AUDIO: "Y"

Luego activa Audio en Configuración → Avanzado en el visor web. La transmisión solo está activa mientras esta opción esté habilitada, por lo que no utiliza ancho de banda adicional en caso contrario.

¿Cómo asigno una dirección IP individual al contenedor?

Por defecto, el contenedor utiliza red puente, que comparte la dirección IP con el anfitrión.

Si deseas asignar una dirección IP individual al contenedor, puedes crear una red macvlan de la siguiente manera:

root@kitploit:~
docker network create -d macvlan \
    --subnet=192.168.0.0/24 \
    --gateway=192.168.0.1 \
    --ip-range=192.168.0.100/28 \
    -o parent=eth0 vlan

Asegúrate de modificar estos valores para que coincidan con tu subred local.

Una vez que hayas creado la red, cambia tu archivo compose para que se vea así:

root@kitploit:~
services:
  windows:
    container_name: windows
    ..<snip>..
    networks:
      vlan:
        ipv4_address: 192.168.0.100

networks:
  vlan:
    external: true

Un beneficio adicional de este enfoque es que no tendrás que realizar ningún mapeo de puertos, ya que todos los puertos estarán expuestos por defecto.

[!IMPORTANT]
Esta dirección IP no será accesible desde el anfitrión Docker debido al diseño de macvlan, que no permite la comunicación entre ambos. Si esto es un problema, debes crear un segundo macvlan como solución.

¿Cómo puede Windows adquirir una dirección IP de mi router?

Después de configurar el contenedor para macvlan, es posible que Windows pase a formar parte de tu red doméstica solicitando una IP a tu router, como un PC real.

Para habilitar este modo, en el que el contenedor y Windows tendrán direcciones IP separadas, añade las siguientes líneas a tu archivo compose:

root@kitploit:~
environment:
  DHCP: "Y"
devices:
  - /dev/vhost-net
device_cgroup_rules:
  - 'c *:* rwm'

¿Cómo agrego múltiples discos?

Para crear discos adicionales, modifica tu archivo compose de la siguiente manera:

root@kitploit:~
environment:
  DISK2_SIZE: "32G"
  DISK3_SIZE: "64G"
volumes:
  - ./example2:/storage2
  - ./example3:/storage3

¿Cómo paso un disco?

Puedes pasar dispositivos o particiones de disco directamente añadiéndolos a tu archivo compose de esta manera:

root@kitploit:~
devices:
  - /dev/sdb:/disk1
  - /dev/sdc1:/disk2

Usa /disk1 si deseas que se convierta en tu unidad principal (que se formateará durante la instalación), y usa /disk2 y superiores para añadirlos como unidades secundarias (que permanecerán intactas).

¿Cómo paso un dispositivo USB?

Para pasar un dispositivo USB, primero consulta sus IDs de proveedor y producto mediante el comando lsusb, luego agrégalos a tu archivo compose de la siguiente manera:

root@kitploit:~
environment:
  ARGUMENTS: "-device usb-host,vendorid=0x1234,productid=0x1234"
devices:
  - /dev/bus/usb

[!WARNING]
Agregar un dispositivo de almacenamiento masivo USB antes de que finalice la instalación de Windows puede causar que falle. O peor: la unidad puede formatearse como el disco del sistema y ¡todos tus datos se perderán! Así que mantenlos siempre desconectados al iniciar el contenedor por primera vez.

¿Son todas estas las opciones disponibles?

No. Para una visión completa de todas las configuraciones soportadas, consulta la página de variables de entorno.

¿Cómo verifico que KVM está disponible?

Primero, asegúrate de que tu plataforma y runtime de contenedor cumplan con los requisitos listados anteriormente.

En un anfitrión Linux, instala cpu-checker y ejecuta:

root@kitploit:~
sudo apt install cpu-checker
sudo kvm-ok

Una configuración funcional debería informar:

root@kitploit:~
KVM acceleration can be used

También puedes verificar que el dispositivo KVM existe:

root@kitploit:~
ls -l /dev/kvm

Si KVM no está disponible, verifica si:

  • La virtualización por hardware (Intel VT-x o AMD-V) está habilitada en tu BIOS o UEFI.
  • La virtualización anidada está habilitada cuando el anfitrión mismo es una máquina virtual.
  • Tu VPS o proveedor de nube admite virtualización anidada.

Si kvm-ok tiene éxito pero el contenedor aún informa que KVM no está disponible, puedes agregar temporalmente privileged: true a tu archivo Compose para descartar un problema de permisos o acceso a dispositivos.

¿Cómo ejecuto macOS en un contenedor?

Puedes usar dockur/macos para eso. Comparte muchas de las mismas características, excepto la instalación automática.

¿Cómo ejecuto un escritorio Linux en un contenedor?

Puedes usar qemus/qemu en ese caso.

¿Es legal este proyecto?

Sí, este proyecto contiene solo código de código abierto y no distribuye Windows en sí. Cualquier clave de producto encontrada en el código son claves de instalación genéricas publicadas por Microsoft para fines de prueba y no son licencias de activación válidas.

Eres responsable de asegurarte de que tienes una licencia válida de Windows y de que tu uso cumple con los términos de licencia de Microsoft.

Estrellas 🌟

Stargazers

Aviso legal ⚖️

Los nombres de productos, logotipos, marcas y otras marcas comerciales mencionadas dentro de este proyecto son propiedad de sus respectivos titulares. Este proyecto no está afiliado, patrocinado ni respaldado por Microsoft Corporation.

Descargar herramienta
ValorVersiónTamaño
11Windows 11 Pro7.9 GB
11lWindows 11 LTSC4.7 GB
11eWindows 11 Enterprise6.6 GB
10Windows 10 Pro5.7 GB
10lWindows 10 LTSC4.6 GB
10eWindows 10 Enterprise5.2 GB
8eWindows 8.1 Enterprise3.7 GB
7uWindows 7 Ultimate3.1 GB
vuWindows Vista Ultimate3.0 GB
xpWindows XP Professional0.6 GB
2kWindows 2000 Professional0.4 GB
2025Windows Server 20257.6 GB
2022Windows Server 20226.0 GB
2019Windows Server 20195.3 GB
2016Windows Server 20166.5 GB
2012Windows Server 20124.3 GB
2008Windows Server 20083.0 GB
2003Windows Server 20030.6 GB