Cos'è Commando VM?
Commando VM è una piattaforma di test che Mandiant FireEye ha creato per i penetration tester che sono più a loro agio con il sistema operativo Windows.
Fondamentalmente, Commando VM è la controparte di Kali, una piattaforma di test su Linux ampiamente utilizzata nella comunità di penetration testing. Queste piattaforme di test sono fornite con tutti gli strumenti e gli script comuni che i tester utilizzano durante un incarico. I tester possono installare Commando VM su Windows 7 SP1 o Windows 10, e il programma è facilmente accessibile su GitHub.
Contenuti correlati selezionati:
Perché è importante?
Comprendere cosa sono queste piattaforme di test e come utilizzarle è importante sia per i red team che per i blue team. Quando lavoro con i clienti, una domanda comune che faccio è se sono familiari con strumenti come Mimikatz o Bloodhound. Sorprendentemente, molti clienti non lo sono. Questo fatto mi preoccupa un po', poiché un'idea centrale che ho appreso a scuola è che pensare come un attaccante è essenziale per proteggersi dagli attacchi. In che modo migliore pensare come un attaccante se non utilizzando tutti gli strumenti che potrebbero sfruttare contro di te e l'ambiente che stai cercando di proteggere?
Commando VM rende semplice pensare come un attaccante. È fornito con gli strumenti e gli script più recenti e avanzati per assistere nell'educazione di un blue team su come funzionano.
Per cosa può essere utilizzato?
Commando VM è dotato di molti strumenti per vari scopi. Alcune delle categorie in cui Commando VM può essere d'aiuto sono:
- Raccolta di informazioni
- Sfruttamento
- Test delle applicazioni web
Non appena installi Commando VM, tutti gli strumenti elencati di seguito diventano disponibili per l'uso.
Raccolta di informazioni
La raccolta di informazioni è una parte fondamentale della valutazione del proprio ambiente. Identificare ciò che è esposto a un attaccante senza privilegi è essenziale per comprendere ciò che è necessario bloccare e proteggere. Ricorda solo: se puoi vederlo con alcuni di questi strumenti e script, possono farlo anche loro.
- Nmap – La scansione e l'enumerazione sono fondamentali per comprendere l'ambiente. I risultati delle scansioni Nmap possono determinare quali host sono disponibili nella rete, quali servizi sono eseguiti da tali host e quali porte sono aperte su quegli host.
- BloodHound – Scansionare un ambiente Active Directory e comprendere i complessi percorsi di attacco che possono esistere a causa delle configurazioni dei permessi è qualcosa che tutti i membri del team di difesa devono fare. Uno strumento come Bloodhound ti aiuta a identificare dove esistono questi percorsi e a dare la priorità in modo efficiente ai passi di rimedio.
Sfruttamento
Una volta completata la fase di ricognizione, il passo successivo è tentare di sfruttare ciò che hai scoperto. Ad esempio, se hai identificato che esistevano sessioni su una certa macchina o permessi per un certo utente, esistono strumenti per utilizzare quei permessi o sessioni a tuo vantaggio.
- Invoke-ACLpwn – Questo strumento sfrutta alcune delle funzionalità di Bloodhound per scoprire le relazioni di permesso esistenti in AD. Scoprirà questi permessi e cercherà automaticamente di sfruttarli in una catena per scalare i privilegi fino ad arrivare a Domain Admin.
- Mimikatz – Questo strumento sfrutta Windows e Active Directory, ed è comunemente utilizzato per attacchi come il Pass-the-Hash o il DCSync. L'enumerazione delle sessioni effettuata attraverso la raccolta di informazioni può portare all'identificazione di un obiettivo da sfruttare per l'escalation dei privilegi. Se un utente amministrativo o con maggiori privilegi ha una sessione su una macchina a cui hai accesso, puoi utilizzare Mimikatz per accedere al loro account e quindi eseguire un'escalation o spostarti lateralmente nell'ambiente.
Test delle applicazioni web
Se la tua azienda o ambiente utilizza applicazioni web interne, è nel tuo migliore interesse eseguire test di penetrazione. Una volta che qualcuno entra nel tuo ambiente, se scoprono che queste applicazioni esistono, sarebbe semplice per loro utilizzare gli strumenti Commando VM per trovare vulnerabilità. Questa lezione è fondamentale, poiché alcune delle vulnerabilità facilmente rilevabili possono essere affrontate prima di qualsiasi interazione ufficiale.
- Burp Suite – questo strumento aiuta a trovare e sfruttare le vulnerabilità in un'applicazione web. Impostare semplicemente un proxy/ascoltatore mentre si naviga in tutte le pagine web dell'applicazione consente di avviare molte scansioni automatiche che identificano e spiegano le vulnerabilità. Se una semplice scansione con Burp Suite può trovarla, anche un attaccante esperto può farlo.
Ottenete accesso a questi strumenti scaricando Commando VM, ed è essenziale comprendere l'applicazione e l'ampiezza d'uso per ciascuno di essi. Se non lo fate, incontrerete difficoltà nell'identificare vulnerabilità, comprendere le relazioni dei permessi e valutare i vostri ambienti — fattori che vi lasciano esposti ad attacchi. Tuttavia, il primo passo è sapere come accedervi, cosa che copriremo in seguito.
Installazione & Configurazione di Commando VM
A questo punto, abbiamo esplorato una panoramica ad alto livello di Commando VM, perché è importante e alcuni degli strumenti esistenti a cui puoi accedere dopo l'installazione. Successivamente, copriremo l'installazione e la configurazione passo dopo passo della piattaforma.
Prerequisiti
Puoi installare Commando VM su una macchina virtuale o fisica. Tuttavia, suggerirei di utilizzare una macchina virtuale per facilità di distribuzione, gestione e utilizzo. Le macchine virtuali permettono anche di scattare snapshot lungo il percorso e di ripristinare qualsiasi problema si incontri.
Per eseguire Commando VM, dovrai soddisfare alcuni requisiti minimi. Per i miei test, ho utilizzato quanto segue:
- 60 GB di spazio di archiviazione
- 2 GB di memoria
Tuttavia, se si guarda alla pagina di GitHub, raccomandano:
- Oltre 80 GB di spazio di archiviazione
- 4+ GB di memoria
- 2 schede di rete
Come detto in precedenza, il pacchetto Commando VN può essere installato su Windows 7 SP1 o Windows 10, sebbene Windows 10 permetta di installare più funzionalità. In entrambi i casi, assicurati che il tuo sistema sia completamente aggiornato. Inoltre, fai uno snapshot prima di iniziare il processo di installazione.
Installazione di Commando VM
Puoi scaricare Commando VM da GitHub qui.
Una volta scaricato, Commando VM viene installato in tre semplici passaggi:
- Avvia un PowerShell con privilegi elevati.
- Imposta la policy di esecuzione su illimitata con il seguente comando (per impostazione predefinita, è disabilitata): Set-ExecutionPolicy unrestricted.
- Esegui lo script ps1installation nel pacchetto commando-vm-master:
Configurazione di Commando VM
Come puoi vedere, mentre lo script di installazione viene eseguito, effettua alcuni controlli e chiede se desideri fare uno snapshot prima dell'installazione. Dopo ogni riavvio, richiederà le tue credenziali per accedere e continuare l'installazione. Durante il processo, la finestra di PowerShell ti aggiornerà su ciò che sta installando. Vedrai anche vari popup per il software che viene installato automaticamente. Commando VM rimuove o disabilita molte funzionalità che vengono preinstallate con Windows, poiché non sono necessarie su una macchina utilizzata per il penetration testing.
L'intero processo richiede circa un'ora e mezza dall'inizio alla fine, con cinque o più riavvii. Ogni riavvio dura dai 10 ai 15 minuti, dopodiché si riavvia automaticamente, effettua l'accesso e continua ad installare altre applicazioni. A seconda delle risorse della macchina virtuale e della velocità di internet, il processo potrebbe essere più breve o più lungo. Saprai che è completato quando ti verrà fatto accedere nuovamente con uno sfondo nuovo e il prompt dei comandi. Di nuovo, fai un altro snapshot in modo da poter ricominciare da capo se necessario.
Una volta completata l'installazione e il processo di riavvio, puoi esplorare i vari strumenti. Quindi, puoi configurare il tuo sistema per riflettere le tue esigenze e preoccupazioni.
Panoramica degli strumenti inclusi
Come accennato in precedenza, Commando VM include molti strumenti. Infatti, durante il processo di installazione, sono stati installati oltre 2GB di strumenti sul nostro disco rigido. Fortunatamente, l'elenco degli strumenti è suddiviso in categorie, il che rende facile trovare quello di cui hai bisogno:
Ecco alcuni degli strumenti che trovo particolarmente interessanti:
- Strumenti per Active Directory
- Remote Server Administration Tools (RSAT)
- Utilità della riga di comando di SQL Server
- Sysinternals
- Raccolta di informazioni
- BloodHound
- nmap
- ADACLScanner
- Strumenti di rete
- WireShark
- Sfruttamento
- PrivExchange
- Invoke-ACLPwn
- metasploit
- Attacchi alle password
- DSInternals
- hashcat
- DomainPasswordSpray
- mimikatz
- ASREPRoast
- Analisi delle vulnerabilità
- Grouper2
- zBang
- Applicazione Web
- OWASP ZAP
- BurpSuite
FAQ
Cos'è FireEye Commando VM?
Commando VM è una piattaforma di test creata da Mandiant FireEye per i penetration tester che sono più a loro agio con il sistema operativo Windows.
Quanto tempo ci vuole per installare Commando VM?
Installare Commando VM richiede circa un'ora e mezza.
Condividi su
Scopri di più
Informazioni sull'autore
Kevin Joyce
Direttore della Product Management
Direttore di Product Management presso Netwrix. Kevin ha una passione per la sicurezza informatica, in particolare per comprendere le tattiche e le tecniche che gli aggressori utilizzano per sfruttare gli ambienti delle organizzazioni. Con otto anni di esperienza nel product management, concentrandosi su Active Directory e la sicurezza di Windows, ha trasformato quella passione nell'aiutare a costruire soluzioni per le organizzazioni per proteggere le loro identità, infrastrutture e dati.
Scopri di più su questo argomento
Gestione della configurazione per il controllo sicuro degli endpoint
Come creare, modificare e testare le password utilizzando PowerShell
Come creare, eliminare, rinominare, disabilitare e unire computer in AD utilizzando PowerShell
Come disabilitare gli account utente inattivi utilizzando PowerShell
Come copiare una Cisco Running Config nella startup config per preservare le modifiche alla configurazione