CommandoVM – Windows–Based Pentest Box
Vaak hebben we het over Kali of andere Pentest distributies welke allemaal met elkaar gemeen hebben dat ze draaien op een LinuxOS (en de meeste Ubuntu based zijn). Maar wat als je niks hebt met Linux? Voor iedereen die beter op zijn gemak is met Windows is er nu een Windows Based Pentest Box genaamd CommandoVM. Om meteen maar met de conclusie te beginnen, CommandoVM is goed, biedt veel tools en wordt actief ontwikkeld maar is niet beter dan een Linux distributie. Dit komt met name omdat Windows by-design onveiliger is. Als je weet wat je doet dan is CommandoVM een prachtige toolkit waarmee je Windows (10) om kunt bouwen tot een goede pentest toolkit. Zelf denk ik dat de Linux en Windows distributies en dan met name de geleverde tools een goede aanvulling zijn op elkaar. CommandoVM is b.v. ideaal als je Active Directory gaat pentesten. Weet wanneer je iets moet gebruiken! Wij gaan lekker snel aan de slag met CommandoVM in dit korte artikel.
Naast Linux bevat ook Windows een aantal prachtige pentest tools zoals b.v. Bloodhound, Mimikatz en Cain & Able. Deze zijn echter niet bij iedere pentester bekend omdat de nadruk altijd ligt op Linux-based tools. Weten welke aanvalshoeken Windows kan faciliteren en hoe deze werken is interessant en wat mij betreft essentieel voor iedere red-teamer en blue-teamer. Toch beschrijft CommandoVM zichzelf als een “The First Windows Based Offensive Pentest Suite”, met de nadruk op “Offensive” net als Kali en ParrotOS. En dat het de eerste is dat klopt inderdaad. We zijn allemaal weleens bezig geweest met het ombuwen van een Windows machine tot een pentest box toch? Bijvoorbeeld: https://jarnobaselier.nl/een-hackers-laptop. Maar dit kost veel werk en je ziet altijd zaken over het hoofd. CommandoVM is daarom een uitkomst welke een berg goede tools installeert en voor je klaar zet.
CommandoVM staat voor “Complete Mandiant Offensive VM” en is een script welke je Windows (Windows7 SP1 of Windows 10) installatie ombouwt tot een pentest box. Het CommandoVM script verwijderd een aantal default Windows settings en files en installeert de volledige suite aan tools. Dit is slim want hiermee voorkomen ze de deployment van een compleet OS. Je moet zelf zorg dragen voor een legitieme versie van Windows. Deze zit niet “in” de CommandoVM geleverd. En hoewel de naam doet vermoeden dat CommandoVM een virtuele machine is, dat klopt niet. CommandoVM kan geïnstalleerd worden op een virtuele Windows machine maar ook op een fysieke Windows machine. Uiteraard kiezen wij in deze tutorial voor een virtuele machine omdat dit makkelijker is en we tussentijds eventueel snapshots kunnen maken.
CommandoVM is een afstammeling van de FLARE VM welke een Windows-based “Malware Analysis & Reverse Engineering” distributie is welke eveneens op Windows gebaseerd is en ook geïnstalleerd wordt middels een Powershell script. Op de achtergrond gebruikt CommandoVM de tools “Boxstarter” – “Chocolatey” en “MyGet” om alle benodigde tools te installeren. Wat je krijgt na installatie is een hardened Windows systeem met een ton aan extra tools. In totaal heb je de beschikking over meer dan 140 tools waaronder, WireShark, NMap, Bloodhound, Python, Mimikatz, Hashcat, Burp-Suite, SpiderFoot, LuckyStrike, MetaSploit, PowerSploit, Fiddler en vele andere tools. In mijn opinie ontbreekt hier echter 1 fantastische Windows-only tool (ook al is hij wel wat gedateerd), namelijk “Cain & Able”. Maar die kunnen we later uiteraard zelf nog toevoegen.
Laten we van start gaan met de installatie. Zoals al gezegd, je moet reeds beschikken over een Windows OS (virtueel of fysiek) en je moet scripts als Administrator kunnen uitvoeren. Je moet beschikken over Windows 7 SP1 of Windows 10. Een Windows 10 installatie geeft je meer mogelijkheden en opties van een Windows 7-based CommandoVM. Verder wordt aangeraden om minimaal 2GB intern geheugen beschikbaar te hebben en 60GB diskspace. Mocht je werken op een virtuele machine van wordt aangeraden om voor de installatie van CommandoVM de benodige VM tools op het guestOS te installeren.
CommandoVM Installeren
De installatie van Commando VM is redelijk rechttoe, rechtaan en volgt deze procedure:
- Update je OS volledig.
- Maak eventueel nu een snapshot van je VM machine zodat je bij problemen altijd terug kunt naar deze status.
- Ga naar de GitHub pagina (https://github.com/fireeye/commando-vm) en download de volledige repository (als ZIP) en pak deze ZIP uit.
- Start Powershell als Administrator (elevated privileges) en navigeer naar de directory waar je de installatiebestanden geplaatst hebt.
- Zet de “execution policy” op “unrestricted”.
Set-ExecutionPolicy unrestricted
- Start het installatiescript:
.\install.ps1
- Vul het wachtwoord in van de huidige gebruiker zodat het script na eventuele reboots weer automatisch in kan loggen.
- De overige installatie is volledig geautomatiseerd en duurt gemiddeld een uurtje.
Nadat de installatie voltooid is, is je Windows omgeving omgetoverd tot een ware Windows-based pentest omgeving! Eventueel nog Cain & Able erop zetten en gaan met die banaan. Kijk maar eens naar de video, we zijn al 4 minuten bezig om alleen door de tools heen te scrollen. CommandoVM is een prachtige aanvulling op je Linux-based machine en komt zelfs met de Kali distributie (on Windows) zodat CommandoVM eigenlijk een 1-machine-for-all is.

Binnenkort ga ik een dedicated laptop uitrusten en CommandoVM in de praktijk uitproberen. Maar dat… lezen jullie weer later op deze blog 🙂
Bekijk nog even de dikke Windows toolset van CommandoVM in onzerstaande video. We hebben 4 minuten nodig om alleen door alle tools te browsen. NICE!