• Stars
    star
    111
  • Rank 314,510 (Top 7 %)
  • Language
    Shell
  • Created over 7 years ago
  • Updated almost 3 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Self-Installing Windows OVA. Automate and distribute Windows as an OVA.

Self-Installing Windows OVA & ISO

because I can't distribute Windows

Overview

OVA

This is an Virtual Machine in OVA format that will install Windows on top of itself. I wrote this as an alternative to packer. This OVA basically downloads the evaluation version of the Windows version you select to one drive as installation media and then installs onto the primary drive. After this is done, the smaller secondary drive can be discarded to save disk space. If the default size of the primary drive is not large enough, it should be resized BEFORE booting the OVA for the first time.

ISO

This is an ISO to be used with packer to fully automate a Windows install in a VM environment like proxmox. This should be used as the secondary boot source, behind the primary drive. VMs that use this ISO should also have two drives, two cpus, and two gigabytes of memory. There's some packer templates provided in the release for the ISO.

windows 10

Customizing

This OVA supports being repackaged with an ISO for further customization. Simply add at least one file, install.cmd to an iso and attach it before booting the OVA for the first time. The system will boot up, and copy the contents of the iso to the secondary drive, display a message to the user upon success, then shutdown. The VM can be exported as a OVA now for redistribution.

Contents for an example iso are in the iso/ directory. There is also a Makefile target for building this iso, example.iso.

install.cmd

This is simply run at first login after install. Place things in here like silent installation instructions for programs either off the same iso or downloaded from the internet.

variables.txt

This file should set at least one variable.

version

This should be one of the following keys:

key Version
win2k16 Windows 2016 Standard
win10-64 Windows 10 64-bit
win10-32 Windows 10 32-bit
win2k12r2 Windows 2012 R2 Standard
win81-64 Windows 8.1 64-bit
win81-32 Windows 8.1 32-bit
win8-64 Windows 8 64-bit
win8-32 Windows 8 32-bit
win2k8r2 Windows 2008 R2 Standard
win7-64 Windows 7 64-bit
win7-32 Windows 7 32-bit

localmirror

This should be the absolute address of a local mirror for ISOs. It can also be "none" for no mirror and no prompt. This allows truly unattended installation.

Example variables.txt

version=win10-64
localmirror=http://192.168.0.1/isos/

Autounattend.xml

If this file is present on the ISO, in a directory named for the version key being installed, it will be used instead of an Autounattend.xml from the boxcutter project. One gotcha is how Windows 7 and Windows 2008 think the install media is DriveID 0 and the actual "C" drive is DriveID 1. Keep that in mind when crafting answer files for these versions.

Building

To build this, start with a debian system and install virtualbox and the following:

apt-get install fakeroot multistrap debian-archive-keyring rsync mtools
genisoimage qemu-img dosfsutils

More Repositories

1

go-shellcode

Load shellcode into a new process
Go
757
star
2

fastcoll

C++
141
star
3

rsocks

Tiny little reverse socks5 client & server
Go
82
star
4

docker-kali

A Docker image for bits of Kali Linux
Shell
29
star
5

twitter-lists

Auto updating archive of my Twitter lists.
Go
15
star
6

docker-golang-musl

Docker container to build golang static binaries with musl instead of glibc
Shell
13
star
7

jq-httpd

JSON Processor, as a Service
Go
8
star
8

infect

Simple C program to backdoor ELF executables
C
7
star
9

caddy-consul

consul plugin for caddy
Go
7
star
10

pcd

How Appliances Should Be.
Makefile
6
star
11

docker-golang

Docker image for cross compiling go with CGO for linux (desktops and Raspberry Pis), Windows, MacOS, and FreeBSD
Shell
6
star
12

nodejs-openwrt

Former project for nodejs on openwrt
5
star
13

docker-volume-rclone

Docker volume plugin for rclone
Go
5
star
14

tpb-backup

Go
4
star
15

docker-jenkins

Shell
4
star
16

shellload

Load shellcode into a new process, optionally under a false name.
C
4
star
17

consuldock

Dynamic Consul Node/service creation based on docker containers
Go
3
star
18

dargo

Deploy apps directly to docker
Go
3
star
19

data-35c3-ftp

Hourly scans of the 35c3 ftp network
Shell
3
star
20

dotfiles

My dotfiles
Lua
3
star
21

go-pcd

API daemon and controlling program for https://github.com/brimstone/pcd
Go
3
star
22

github-mirror

Github mirroring utility
Go
3
star
23

pen-300

Tracking my PEN-300 progress
3
star
24

tiddlywiki-server

Go
3
star
25

handbook

Personal handbook for pentesting/redteaming
Makefile
3
star
26

bin

Shell
2
star
27

nmap-diff

Simply shows the difference between two nmap scan xmls
Go
2
star
28

docker-kvm

Wacky proof-of-concept for kvm in Docker
Dockerfile
2
star
29

sslh

Listener that determines SSL, HTTP, SSH, or other connections on the same port
Go
2
star
30

go-twitter

Just a little wrapper around github.com/dghubble/go-twitter for cli apps
Go
2
star
31

packer-linux

templates for debian distros for packer
Shell
2
star
32

wordle-solver

Go
2
star
33

docker-postgres

postgres container image with traefik-cert support
Dockerfile
2
star
34

go-dht-spider

Go
2
star
35

mdcms

Super simple markdown based CMS
JavaScript
2
star
36

go-vboxmanage

Go
2
star
37

awk-gir

Awk
2
star
38

gopherjs-framework

Go
2
star
39

stars

My starred GitHub repositories
2
star
40

emergent-mesh

OpenWRT package for Emergent Mesh project: https://256.makerslocal.org/wiki/Emergent_Mesh
JavaScript
2
star
41

learn-hacking

Learning Hacking by doing
PowerShell
2
star
42

go-ldpreload

LD_PRELOAD library with Go
Go
2
star
43

docker-unison

Docker container to run unison and synchronize with itself
Shell
2
star
44

togglstat

Simple tool for tracking timecards with toggl
Go
2
star
45

watchdock

Watchdog for Docker containers. Go and Consul version.
Go
2
star
46

heardle-study-guide

I got tired of losing heardle
HCL
2
star
47

meshtastic-prezo

Presentation about Meshtastic
JavaScript
1
star
48

data-32c3-ftp

Shell
1
star
49

bumps

Perl
1
star
50

timetracker

Shell
1
star
51

go-backoff

A simple backoff function for Go.
Go
1
star
52

cryptoclicker

An experiment with gopherjs and vecty.
Go
1
star
53

docker-node-red

JavaScript
1
star
54

peerpipe

Super simple program to connect unix pipes with peers.
Go
1
star
55

maintemail

Automated Maintenance Email based on ICS feed
Python
1
star
56

go-erc20

Go
1
star
57

go-domainglass

A single pane of glass into the status of your domain.
HTML
1
star
58

gpd-pocket-kernel

Linux Kernel for GPD Pocket
Shell
1
star
59

mytter

Twitter API Compatible Server
PHP
1
star
60

vulnerable-vms

Vulnerable VMs
PowerShell
1
star
61

pocket

App that toots github stars and pocket archives
Go
1
star
62

metrics-agent

1
star
63

gopherjs-asset

Go
1
star
64

arduino-footpedal

Arduino sketch for my footpedal
C++
1
star
65

storagenode-stats

Stats for your storagenode
Shell
1
star
66

fss

`fss` is a simple, bare bones, only-needs-a-posix-shell idempotent system provisioner.
Shell
1
star
67

raspi-kedei-lcd

C
1
star
68

docker-galera

Docker container for a MySQL server with wsrep extensions provided by Galera
Shell
1
star
69

post-brimstone-harden

Metasploit post modules for hardening systems.
Ruby
1
star
70

metasploit-modules

Just a few metasploit modules
Ruby
1
star
71

aoc

My Advent of Code solutions
Nim
1
star
72

docker-centos

Docker image for centos
Shell
1
star
73

slackbot

A very opinionated framework for building slackbots
Go
1
star
74

dstm

Manage swarm tokens, better?
Go
1
star
75

docker-ionic

Shell
1
star
76

dev

My development environment
Shell
1
star
77

awesome-startdown

1
star
78

docker-caddy

Go
1
star
79

ipxe-iso

Reproducable ipxe ISO for reproducably booting across networks
1
star
80

brimstone

1
star
81

docker-consul

Docker container for consul.io
Shell
1
star
82

projectbuilder

Opinionated build process.
Makefile
1
star
83

docker-goiardi

Docker image for goiardi
1
star
84

jwt

A simple jwt library and utility.
Go
1
star
85

go-livereload

Single binary that implements a webserver, livereload server, and watches every file and directory in the current directory for changes.
Go
1
star
86

dmarc-report

Decypher DMARC reports
Go
1
star