
Costruisce macchine virtuali Windows per l'analisi di malware in modo che tu non debba farlo.
= Malboxes :toc: preambolo :toclevels: 2 :twob: https://twitter.com/obilodeau :twhg: https://twitter.com/hugospns // roba github ifdef::env-github[:github:]
ifndef::github[] // logo locale image::docs/logos/main.svg[Logo Malboxes] endif::[]
ifdef::github[] // logo su github image::https://raw.githubusercontent.com/GoSecure/malboxes/master/docs/logos/main.svg?sanitize=true[Logo Malboxes]
.Salute del progetto // Stato build Travis image:https://img.shields.io/travis/GoSecure/malboxes/master.svg[Stato Build (Travis CI), link=https://travis-ci.org/GoSecure/malboxes] // BlackHat Arsenal 2017 image:https://raw.githubusercontent.com/toolswatch/badges/master/arsenal/usa/2017.svg?sanitize=true[Black Hat Arsenal, link=https://www.toolswatch.org/2017/06/the-black-hat-arsenal-usa-2017-phenomenal-line-up-announced/] // Chat Gitter image:https://badges.gitter.im/malboxes_/Lobby.svg[link="https://gitter.im/malboxes_/Lobby?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge"] endif::[]
Costruisce macchine virtuali Windows per l'analisi malware così non devi farlo tu.
https://github.com/gosecure/malboxes
== Requisiti
=== Specifiche minime per la macchina di build
=== Fedora
dnf install ruby-devel gcc-c++ zlib-devel
vagrant plugin install winrm winrm-fs
=== Debian
apt install vagrant git python3-pip
=== Ubuntu
apt install git python3-pip
=== ArchLinux
pacman -Sy vagrant packer python-pip git
== Installazione
=== Linux/Unix
pip install malboxes:=== Windows
NOTA: A partire da Windows 10, Hyper-V è sempre in esecuzione sotto il sistema
operativo. Poiché VT-X deve essere gestito in esclusiva da un solo Hypervisor,
https://github.com/GoSecure/malboxes/issues/39[questo causa il fallimento di VirtualBox (e
malboxes)]. Per disabilitare Hyper-V e consentire a
VirtualBox di funzionare, esegui il seguente comando in un prompt dei comandi amministrativo
poi riavvia: bcdedit /set hypervisorlaunchtype off
==== Usando Chocolatey
I seguenti passaggi presuppongono che tu abbia https://chocolatey.org/[Chocolatey] installato. Altrimenti, segui la <<Manualmente,procedura di installazione manuale>>.
==== Manualmente
C:\Windows\System32\=== Per distribuire su AWS (opzionale) Esegui questo comando dopo l'installazione normale:
vagrant plugin install vagrant-aws
NOTA: La funzionalità AWS è stata testata solo su Linux per il momento e EC2 non supporta la versione desktop a 32 bit di Windows 10.
== Utilizzo
=== Creazione del box
Questo crea il tuo box di base che viene importato in Vagrant. In seguito puoi riutilizzare lo stesso box più volte per l'analisi di un campione.
Esegui:
malboxes build <template>
Puoi anche elencare tutti i template supportati con:
malboxes list
Questo costruirà un box Vagrant pronto per l'analisi malware che puoi ora includere in un Vagrantfile successivamente.
Per esempio:
malboxes build win10_x64_analyst
<<_configuration,La sezione configurazione>> contiene ulteriori informazioni su cosa può essere configurato con malboxes.
=== Per istanze di analisi
malboxes spin win10_x64_analyst <nome>
Questo creerà un Vagrantfile preparato per l'uso nell'analisi malware. Spostalo
in una directory a tua scelta ed esegui:
vagrant up
Per impostazione predefinita, la directory locale sarà condivisa nella VM sul Desktop. Questo
può essere modificato commentando la parte pertinente del Vagrantfile.
Per esempio:
malboxes spin win7_x86_analyst 20160519.cryptolocker.xyz
=== Per distribuire su AWS (opzionale)
Malboxes può caricare e interagire con una VM sui servizi Amazon Web. Per farlo, segui questi passaggi:
. Malboxes avrà bisogno di un bucket S3 su AWS per caricare la VM prima di convertirla in un AMI (Amazon Machine Image). Se non ne hai uno, link:https://docs.aws.amazon.com/quickstarts/latest/s3backup/step-1-create-bucket.html[creane uno ora.]
. La tua istanza richiede anche un link:https://docs.aws.amazon.com/vpc/latest/userguide/VPC_SecurityGroups.html#CreatingSecurityGroups[gruppo di sicurezza] con almeno una regola che consenta connessioni in entrata per WinRM (Tipo: WinRM-HTTP, Protocollo: TCP, Intervallo porte: 5985, Sorgente: IP pubblico dell'host).
. Successivamente, hai bisogno di un ruolo di servizio vmimport configurato.
Segui la sezione intitolata VM Import Service Role di https://docs.aws.amazon.com/vm-import/latest/userguide/vmimport-image-import.html[questa guida].
Questi passaggi devono essere eseguiti con un account che abbia i permessi iam:CreateRole e iam:PutRolePolicy.
. Se viene utilizzata la <<_configuration,configurazione predefinita>>, cambia l'hypervisor in aws e compila le opzioni obbligatorie correlate. Altrimenti, assicurati di aggiungere tutte le opzioni relative ad AWS nella tua configurazione personalizzata.
. Infine, puoi seguire gli stessi passaggi descritti nelle sezioni <> e <> per avviare la tua istanza!
NOTA: L'importazione AMI può richiedere molto tempo (circa un'ora), tuttavia puoi verificare lo stato dell'attività eseguendo <<Stato importazione AMI, questo>>. Al momento, può essere costruito un solo AMI per template.
==== Stato importazione AMI Installa awscli usando pip:
pip install awscli
link:https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-configure.html#cli-quick-configuration[Configura] awscli con:
aws configure
Poi esegui:
aws ec2 describe-import-image-tasks
==== RDP
Per connetterti a un'istanza nel cloud usando RDP, esegui questo comando nella stessa posizione del tuo Vagrantfile:
vagrant rdp -- /cert-ignore
Affinché funzioni, l'istanza richiederà un gruppo di sicurezza che consenta connessioni in entrata RDP (Tipo: RDP, Protocollo: TCP, Intervallo porte: 3389, Sorgente: IP pubblico dell'host).
NOTA: Puoi ignorare tranquillamente il seguente errore perché rsync non è ancora implementato: No host IP was given to the Vagrant core NFS helper. This is an internal error that should be reported as a bug.
==== Arresto di un'istanza
Per arrestare un'istanza nel cloud, esegui questo comando nella stessa posizione del tuo Vagrantfile:
vagrant halt
== Configurazione
La configurazione di Malboxes si trova in una directory che segue le convenzioni del sistema operativo abituali:
~/.config/malboxes/~/Library/Application Support/malboxes/C:\Users\<nomeutente>\AppData\Local\malboxes\malboxes\