Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
windows — Esegui Windows all'interno di un container Docker con accelerazione KVM, installazione automatica e risorse personalizzabili. Supporta più versioni di Windows, pass-through USB e networking macvlan. | Kitploit
Strumenti/GitHubGitHub/dockur/windows
Utilità GenericheSicurezza dei ContenitoriVirtualizzazione per la SicurezzaSicurezza Cloud
GitHubdockur/windows

windows

Esegui Windows all'interno di un container Docker con accelerazione KVM, installazione automatica e risorse personalizzabili. Supporta più versioni di Windows, pass-through USB e networking macvlan.

Vedi Repository
52.8k4.6k119h 47m faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

Windows

Build Version Size Package Pulls

Esegui Windows all'interno di un container Docker.

Caratteristiche ✨

  • Esegue Windows all'interno di un container Docker
  • Download automatico e installazione senza intervento manuale
  • Supporta versioni moderne e legacy di Windows
  • Prestazioni quasi native con accelerazione KVM
  • Allocazione personalizzabile di CPU, memoria e spazio di archiviazione
  • Allocazione dinamica della memoria con memory ballooning
  • Passaggio di dispositivi USB e condivisione di cartelle con l'host
  • Supporta reti NAT, user-mode, macvlan e macvtap

Video 📺

YouTube

Utilizzo 🐳

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

Installer grafico:

Download WinBoat

Requisiti ⚙️

  • Docker o Podman su un host Linux con supporto KVM.
  • Docker Desktop o Podman (Desktop) su Windows 11 con virtualizzazione annidata abilitata.
  • Almeno 4 GB di RAM disponibile.
  • Almeno 64 GB di spazio libero su disco.

[!NOTE] Docker Desktop su Linux, macOS e Windows 10 attualmente non fornisce accesso KVM ai container e pertanto non è supportato.

FAQ 💬

Come si usa?

Molto semplice! Ecco i passaggi:

  • Avvia il container e connettiti alla porta 8006 usando il tuo browser web.

  • Rilassati mentre la magia accade; l'intera installazione verrà eseguita automaticamente.

  • Una volta visualizzato il desktop, la tua installazione di Windows è pronta all'uso.

Goditi la tua nuova macchina e non dimenticare di mettere una stella a questo repo!

Come si seleziona la versione di Windows?

Per impostazione predefinita verrà installato Windows 11 Pro. Puoi aggiungere la variabile d'ambiente VERSION al tuo file compose, per specificare una versione alternativa di Windows da scaricare:

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

Scegli tra i valori seguenti:

[!TIP] Per installare versioni ARM64 di Windows usa dockur/windows-arm.

Come si modifica la posizione di archiviazione?

Per cambiare la posizione di archiviazione, includi il seguente bind mount nel tuo file compose:

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

Sostituisci il percorso di esempio ./windows con la cartella di archiviazione o il volume nominato desiderato.

Come si cambia la dimensione del disco?

Per espandere la dimensione predefinita di 64 GB, aggiungi l'impostazione DISK_SIZE al tuo file compose e impostala sulla capacità preferita:

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

[!TIP] Questo può essere usato anche per ridimensionare un disco esistente a una capacità maggiore senza perdita di dati. Tuttavia, dovrai estendere manualmente la partizione del disco successivamente, poiché lo spazio disco aggiunto apparirà come non allocato.

Come si condividono file con l'host?

Dopo l'installazione, sul desktop sarà presente una cartella chiamata Shared che può essere utilizzata per scambiare file con la macchina host.

Per selezionare una cartella sull'host a questo scopo, includi il seguente bind mount nel tuo file compose:

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

Sostituisci il percorso di esempio ./example con la cartella condivisa desiderata, che diventerà quindi visibile come Shared.

Come si modificano la quantità di CPU o RAM?

Per impostazione predefinita, Windows potrà utilizzare 2 core CPU e 4 GB di RAM.

Se vuoi regolare questo valore, puoi specificare la quantità desiderata utilizzando le seguenti variabili d'ambiente:

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

Come si configurano nome utente e password?

Per impostazione predefinita, viene creato un utente chiamato Docker e la sua password è admin.

Se desideri impostare credenziali diverse durante l'installazione, puoi configurarle nel tuo file compose:

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

Come si seleziona la lingua di Windows?

Per impostazione predefinita, verrà scaricata la versione inglese di Windows.

Ma puoi aggiungere la variabile d'ambiente LANGUAGE al tuo file compose per specificare una lingua alternativa da scaricare:

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

Puoi scegliere tra: 🇦🇪 Arabo, 🇧🇬 Bulgaro, 🇨🇳 Cinese, 🇭🇷 Croato, 🇨🇿 Ceco, 🇩🇰 Danese, 🇳🇱 Olandese, 🇬🇧 Inglese, 🇪🇪 Estone, 🇫🇮 Finlandese, 🇫🇷 Francese, 🇩🇪 Tedesco, 🇬🇷 Greco, 🇮🇱 Ebraico, 🇭🇺 Ungherese, 🇮🇹 Italiano, 🇯🇵 Giapponese, 🇰🇷 Coreano, 🇱🇻 Lettone, 🇱🇹 Lituano, 🇳🇴 Norvegese, 🇵🇱 Polacco, 🇵🇹 Portoghese, 🇷🇴 Rumeno, 🇷🇺 Russo, 🇷🇸 Serbo, 🇸🇰 Slovacco, 🇸🇮 Sloveno, 🇪🇸 Spagnolo, 🇸🇪 Svedese, 🇹🇭 Thailandese, 🇹🇷 Turco e 🇺🇦 Ucraino.

Come si seleziona il layout della tastiera?

Se desideri impostare un layout di tastiera o una lingua che non sia quello predefinito per la lingua selezionata, puoi aggiungere le variabili KEYBOARD e REGION in questo modo:

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

Come si installa un'immagine personalizzata?

Per scaricare un'immagine ISO non supportata, specifica il suo URL nella variabile d'ambiente VERSION:

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

In alternativa, puoi anche saltare il download e utilizzare un file locale, associandolo nel tuo file compose in questo modo:

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

Sostituisci il percorso di esempio ./example.iso con il nome del file ISO desiderato. Il valore di VERSION verrà ignorato in questo caso.

Come si esegue uno script dopo l'installazione?

Per eseguire il tuo script dopo l'installazione, crea un file chiamato install.bat e posizionalo in una cartella insieme a tutti i file aggiuntivi di cui ha bisogno (ad esempio software da installare).

Quindi associa quella cartella nel tuo file compose in questo modo:

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

La cartella di esempio ./example verrà copiata in C:\OEM e il file install.bat all'interno di quella cartella verrà eseguito durante l'ultimo passaggio dell'installazione automatica.

Come si esegue un'installazione manuale?

Si consiglia di attenersi all'installazione automatica, poiché regola varie impostazioni per prevenire problemi comuni durante l'esecuzione di Windows in un ambiente virtuale.

Tuttavia, se insisti per eseguire l'installazione manualmente (a tuo rischio), aggiungi la seguente variabile d'ambiente al tuo file compose:

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

Come ci si connette tramite RDP?

Il visualizzatore web è pensato principalmente per l'uso durante l'installazione, poiché è meno reattivo dell'RDP e non supporta funzionalità come la condivisione degli appunti.

Quindi per un'esperienza migliore puoi connetterti utilizzando qualsiasi client Microsoft Remote Desktop all'IP del container, usando il nome utente Docker e la password admin.

Esiste un client RDP per Android disponibile sul Play Store e uno per iOS nell'Apple Store. Per Linux puoi usare FreeRDP e su Windows digita semplicemente mstsc nella casella di ricerca.

Come si abilita l'audio?

root@kitploit:~
L'audio è disabilitato per impostazione predefinita a meno che non si utilizzi RDP. Per riprodurlo nel browser, aggiungi la seguente variabile d'ambiente:
root@kitploit:~
environment:
  AUDIO: "Y"

Quindi abilita Audio in Impostazioni → Avanzate nel visualizzatore web. Lo streaming è attivo solo mentre questa opzione è abilitata, quindi non utilizza larghezza di banda aggiuntiva in caso contrario.

Come si assegna un indirizzo IP individuale al container?

Per impostazione predefinita, il container utilizza la rete bridge, che condivide l'indirizzo IP con l'host.

Se desideri assegnare un indirizzo IP individuale al container, puoi creare una rete macvlan come segue:

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

Assicurati di modificare questi valori in modo che corrispondano alla tua subnet locale.

Una volta creata la rete, modifica il tuo file compose come segue:

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

networks:
  vlan:
    external: true

Un ulteriore vantaggio di questo approccio è che non dovrai più eseguire il mapping delle porte, poiché tutte le porte saranno esposte per impostazione predefinita.

[!IMPORTANT]
Questo indirizzo IP non sarà accessibile dall'host Docker a causa della progettazione di macvlan, che non consente la comunicazione tra i due. Se questo è un problema, è necessario creare un secondo macvlan come soluzione alternativa.

Come può Windows acquisire un indirizzo IP dal mio router?

Dopo aver configurato il container per macvlan, è possibile che Windows diventi parte della tua rete domestica richiedendo un IP dal tuo router, proprio come un vero PC.

Per abilitare questa modalità, in cui il container e Windows avranno indirizzi IP separati, aggiungi le seguenti righe al tuo file compose:

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

Come si aggiungono più dischi?

Per creare dischi aggiuntivi, modifica il tuo file compose in questo modo:

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

Come si passa attraverso un disco?

Puoi passare attraverso dispositivi di blocco o partizioni direttamente aggiungendoli al tuo file compose in questo modo:

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

Usa /disk1 se vuoi che diventi il tuo disco principale (che verrà formattato durante l'installazione) e usa /disk2 e superiori per aggiungerli come dischi secondari (che rimarranno intatti).

Come si passa attraverso un dispositivo USB?

Per passare attraverso un dispositivo USB, cerca prima i suoi ID vendor e product tramite il comando lsusb, quindi aggiungili al tuo file compose in questo modo:

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

[!WARNING]
Aggiungere un dispositivo di archiviazione di massa USB prima che l'installazione di Windows sia completata potrebbe causare un errore. O peggio: l'unità potrebbe essere formattata come disco di sistema e tutti i tuoi dati andranno persi! Quindi tienili sempre scollegati quando avvii il container per la prima volta.

Sono tutte queste le opzioni disponibili?

No. Per una panoramica completa di tutte le impostazioni supportate, consulta la pagina delle variabili d'ambiente.

Come posso verificare che KVM sia disponibile?

Innanzitutto, assicurati che la tua piattaforma e il runtime del container soddisfino i requisiti elencati sopra.

Su un host Linux, installa cpu-checker ed esegui:

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

Una configurazione funzionante dovrebbe riportare:

root@kitploit:~
KVM acceleration can be used

Puoi anche verificare che il dispositivo KVM esista:

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

Se KVM non è disponibile, controlla se:

  • La virtualizzazione hardware (Intel VT-x o AMD-V) è abilitata nel BIOS o UEFI.
  • La virtualizzazione annidata è abilitata quando l'host stesso è una macchina virtuale.
  • Il tuo VPS o provider cloud supporta la virtualizzazione annidata.

Se kvm-ok ha successo ma il container segnala ancora che KVM non è disponibile, puoi aggiungere temporaneamente privileged: true al tuo file Compose per escludere un problema di autorizzazione o accesso al dispositivo.

Come si esegue macOS in un container?

Puoi utilizzare dockur/macos per quello. Condivide molte delle stesse caratteristiche, tranne l'installazione automatica.

Come si esegue un desktop Linux in un container?

In tal caso puoi utilizzare qemus/qemu.

Questo progetto è legale?

Sì, questo progetto contiene solo codice open source e non distribuisce Windows stesso. Eventuali chiavi di prodotto trovate nel codice sono chiavi di installazione generiche pubblicate da Microsoft per scopi di valutazione e non sono licenze di attivazione valide.

Sei responsabile di assicurarti di avere una licenza Windows valida e che il tuo utilizzo sia conforme ai termini di licenza di Microsoft.

Stelle 🌟

Stargazers

Disclaimer ⚖️

I nomi dei prodotti, loghi, marchi e altri marchi registrati a cui si fa riferimento in questo progetto sono di proprietà dei rispettivi titolari. Questo progetto non è affiliato, sponsorizzato o approvato da Microsoft Corporation.

Scarica lo strumento
ValoreVersioneDimensione
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