Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
windows — Запускайте Windows внутри Docker-контейнера с KVM-ускорением, автоматической установкой и настраиваемыми ресурсами. Поддерживает несколько версий Windows, проброс USB и сеть macvlan. | Kitploit
Инструменты/GitHubGitHub/dockur/windows
Утилиты общего назначенияБезопасность контейнеровВиртуализация для безопасностиБезопасность облачных сред
GitHubdockur/windows

windows

Запускайте Windows внутри Docker-контейнера с KVM-ускорением, автоматической установкой и настраиваемыми ресурсами. Поддерживает несколько версий Windows, проброс USB и сеть macvlan.

Репозиторий
52.8k4.6k119 ч 49 мин назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

Windows

Build Version Size Package Pulls

Windows в Docker-контейнере.

Возможности ✨

  • Запускает Windows внутри Docker-контейнера
  • Автоматическая загрузка и установка без участия пользователя
  • Поддержка современных и устаревших версий Windows
  • Производительность, близкая к нативной, благодаря ускорению KVM
  • Настраиваемое выделение CPU, памяти и дискового пространства
  • Динамическое выделение памяти с помощью memory ballooning
  • Проброс USB-устройств и общий доступ к папкам хоста
  • Поддержка сетей NAT, user-mode, macvlan и macvtap

Видео 📺

YouTube

Использование 🐳

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

Графический установщик:

Download WinBoat

Требования ⚙️

  • Docker или Podman на Linux-хосте с поддержкой KVM.
  • Docker Desktop или Podman (Desktop) на Windows 11 с включённой вложенной виртуализацией.
  • Не менее 4 ГБ доступной оперативной памяти.
  • Не менее 64 ГБ свободного дискового пространства.

[!NOTE] Docker Desktop на Linux, macOS и Windows 10 в настоящее время не предоставляет контейнерам доступ к KVM и поэтому не поддерживается.

FAQ 💬

Как этим пользоваться?

Очень просто! Вот шаги:

  • Запустите контейнер и подключитесь к порту 8006 через веб-браузер.

  • Расслабьтесь и наблюдайте за магией: вся установка будет выполнена полностью автоматически.

  • Когда вы увидите рабочий стол, ваша установка Windows готова к использованию.

Наслаждайтесь своей новой машиной и не забудьте поставить звезду этому репозиторию!

Как выбрать версию Windows?

По умолчанию будет установлена Windows 11 Pro. Но вы можете добавить переменную окружения VERSION в ваш compose-файл, чтобы указать альтернативную версию Windows для загрузки:

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

Выберите одно из значений ниже:

[!TIP] Для установки ARM64-версий Windows используйте dockur/windows-arm.

Как изменить расположение хранилища?

Чтобы изменить расположение хранилища, добавьте следующий bind-mount в ваш compose-файл:

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

Замените пример пути ./windows на нужную папку хранилища или именованный том.

Как изменить размер диска?

Чтобы увеличить размер по умолчанию (64 ГБ), добавьте параметр DISK_SIZE в ваш compose-файл и укажите желаемый объём:

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

[!TIP] Его также можно использовать для увеличения существующего диска без потери данных. Однако после этого вам потребуется вручную расширить раздел диска, так как добавленное пространство будет отображаться как нераспределённое.

Как обмениваться файлами с хостом?

После установки на рабочем столе появится папка под названием Shared, которую можно использовать для обмена файлами с хост-машиной.

Чтобы выбрать для этой цели папку на хосте, добавьте следующий bind-mount в ваш compose-файл:

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

Замените пример пути ./example на нужную общую папку, которая затем будет отображаться как Shared.

Как изменить количество CPU или RAM?

По умолчанию Windows разрешено использовать 2 ядра CPU и 4 ГБ ОЗУ.

Если вы хотите изменить это, укажите нужный объём с помощью следующих переменных окружения:

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

Как настроить имя пользователя и пароль?

По умолчанию создаётся пользователь Docker с паролем admin.

Если вы хотите задать другие учётные данные при установке, вы можете настроить их в compose-файле:

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

Как выбрать язык Windows?

По умолчанию будет загружена английская версия Windows.

Но вы можете добавить переменную окружения LANGUAGE в свой compose-файл, чтобы указать альтернативный язык для загрузки:

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

Вы можете выбрать между: 🇦🇪 арабский, 🇧🇬 болгарский, 🇨🇳 китайский, 🇭🇷 хорватский, 🇨🇿 чешский, 🇩🇰 датский, 🇳🇱 нидерландский, 🇬🇧 английский, 🇪🇪 эстонский, 🇫🇮 финский, 🇫🇷 французский, 🇩🇪 немецкий, 🇬🇷 греческий, 🇮🇱 иврит, 🇭🇺 венгерский, 🇮🇹 итальянский, 🇯🇵 японский, 🇰🇷 корейский, 🇱🇻 латышский, 🇱🇹 литовский, 🇳🇴 норвежский, 🇵🇱 польский, 🇵🇹 португальский, 🇷🇴 румынский, 🇷🇺 русский, 🇷🇸 сербский, 🇸🇰 словацкий, 🇸🇮 словенский, 🇪🇸 испанский, 🇸🇪 шведский, 🇹🇭 тайский, 🇹🇷 турецкий и 🇺🇦 украинский.

Как выбрать раскладку клавиатуры?

Если вы хотите настроить раскладку клавиатуры или языковой стандарт (locale), отличные от используемых по умолчанию для выбранного языка, вы можете добавить переменные KEYBOARD и REGION следующим образом:

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

Как установить собственный образ?

Чтобы загрузить неподдерживаемый ISO-образ, укажите его URL в переменной окружения VERSION:

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

Кроме того, вы можете пропустить загрузку и использовать локальный файл, примонтировав его в compose-файле следующим образом:

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

Замените пример пути ./example.iso на имя нужного ISO-файла. В этом случае значение VERSION будет проигнорировано.

Как выполнить скрипт после установки?

Чтобы выполнить собственный скрипт после установки, создайте файл с именем install.bat и поместите его в папку вместе с любыми дополнительными файлами, которые ему нужны (например, устанавливаемым ПО).

Затем примонтируйте эту папку в compose-файле следующим образом:

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

Пример папки ./example будет скопирован в C:\OEM, а файл install.bat внутри этой папки будет выполнен на последнем шаге автоматической установки.

Как выполнить установку вручную?

Рекомендуется придерживаться автоматической установки, поскольку она настраивает различные параметры для предотвращения типичных проблем при запуске Windows в виртуальной среде.

Однако если вы настаиваете на ручной установке (на свой страх и риск), добавьте следующую переменную окружения в compose-файл:

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

Как подключиться через RDP?

Веб-просмотрщик предназначен в основном для использования во время установки, поскольку он менее отзывчив, чем RDP, и не поддерживает такие функции, как общий буфер обмена.

Поэтому для более удобной работы вы можете подключиться через любой клиент Microsoft Remote Desktop к IP-адресу контейнера, используя имя пользователя Docker и пароль admin.

В Play Store доступен RDP-клиент для Android, а в Apple Store — для iOS. Для Linux вы можете использовать FreeRDP, а в Windows просто введите mstsc в поле поиска.

Как включить звук?

Звук по умолчанию отключён, если только вы не используете RDP. Чтобы передавать его в браузер, добавьте следующую переменную окружения:

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

Затем включите Audio в разделе Settings → Advanced в веб-просмотрщике. Поток активен только пока эта опция включена, поэтому в остальное время он не расходует дополнительный трафик.

Как назначить контейнеру отдельный IP-адрес?

По умолчанию контейнер использует bridge-сеть, которая разделяет IP-адрес с хостом.

Если вы хотите назначить контейнеру отдельный IP-адрес, вы можете создать сеть macvlan следующим образом:

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

Обязательно измените эти значения в соответствии с вашей локальной подсетью.

После создания сети измените compose-файл следующим образом:

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

networks:
  vlan:
    external: true

Дополнительное преимущество этого подхода в том, что вам больше не нужно выполнять проброс портов, так как по умолчанию все порты будут открыты.

[!IMPORTANT]
Этот IP-адрес не будет доступен с Docker-хоста из-за особенностей macvlan, который не допускает взаимодействия между ними. Если это важно, вам нужно создать второй macvlan как обходной путь.

Как Windows может получить IP-адрес от моего роутера?

После настройки контейнера для macvlan Windows может стать частью вашей домашней сети, запросив IP-адрес у роутера, как обычный ПК.

Чтобы включить этот режим, в котором контейнер и Windows будут иметь отдельные IP-адреса, добавьте в compose-файл следующие строки:

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

Как добавить несколько дисков?

Чтобы создать дополнительные диски, измените compose-файл следующим образом:

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

Как пробросить диск?

Вы можете пробросить дисковые устройства или разделы напрямую, добавив их в compose-файл следующим образом:

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

Используйте /disk1, если хотите, чтобы он стал основным диском (он будет отформатирован при установке), а /disk2 и выше — чтобы добавить их в качестве дополнительных дисков (они останутся нетронутыми).

Как пробросить USB-устройство?

Чтобы пробросить USB-устройство, сначала узнайте его идентификаторы vendor и product с помощью команды lsusb, затем добавьте их в compose-файл следующим образом:

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

[!WARNING]
Добавление USB-устройства массового хранения до завершения установки Windows может привести к её сбою. Или того хуже: диск может быть отформатирован как системный, и все ваши данные будут потеряны! Поэтому при первом запуске контейнера всегда держите их отключёнными.

Это все доступные опции?

Нет. Полный обзор всех поддерживаемых параметров см. на странице переменных окружения.

Как проверить, что KVM доступен?

Сначала убедитесь, что ваша платформа и среда выполнения контейнеров соответствуют требованиям, перечисленным выше.

На Linux-хосте установите cpu-checker и выполните:

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

При корректной конфигурации будет выведено:

root@kitploit:~
KVM acceleration can be used

Вы также можете проверить, что устройство KVM существует:

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

Если KVM недоступен, проверьте, что:

  • Аппаратная виртуализация (Intel VT-x или AMD-V) включена в вашем BIOS или UEFI.
  • Вложенная виртуализация включена, если сам хост является виртуальной машиной.
  • Ваш VPS или облачный провайдер поддерживает вложенную виртуализацию.

Если kvm-ok выполняется успешно, но контейнер по-прежнему сообщает, что KVM недоступен, вы можете временно добавить privileged: true в ваш Compose-файл, чтобы исключить проблему с правами доступа или доступом к устройству.

Как запустить macOS в контейнере?

Для этого вы можете использовать dockur/macos. Он поддерживает многие из тех же функций, кроме автоматической установки.

Как запустить рабочий стол Linux в контейнере?

В этом случае вы можете использовать qemus/qemu.

Законен ли этот проект?

Да, этот проект содержит только open-source код и не распространяет саму Windows. Любые ключи продукта, найденные в коде, являются универсальными установочными ключами, опубликованными Microsoft в ознакомительных целях, и не являются действующими лицензиями для активации.

Вы несёте ответственность за наличие действительной лицензии Windows и за то, чтобы ваше использование соответствовало условиям лицензирования Microsoft.

Звёзды 🌟

Stargazers

Отказ от ответственности ⚖️

Названия продуктов, логотипы, бренды и другие товарные знаки, упомянутые в этом проекте, являются собственностью их соответствующих владельцев. Этот проект не связан с Microsoft Corporation, не спонсируется и не поддерживается ею.

Скачать инструмент
ЗначениеВерсияРазмер
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