Skip to content
KitploitKITPLOIT
FerramentasExploitsBlog
Log in
Enviar
FerramentasExploitsBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
antivmdetection — Script para criar modelos para usar com VirtualBox para dificultar a detecção de VM | Kitploit
Ferramentas/GitHubGitHub/nsmfoo/antivmdetection
Evasão de IDS/IPSAnálise de MalwareAnti-Bot
GitHubnsmfoo/antivmdetection

antivmdetection

Script para criar modelos para usar com VirtualBox para dificultar a detecção de VM

Ver Repositório
77712418há 5 anosRevisado pelo Kitploit

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

Antivmdetection

Contexto

Um script para ajudar a criar templates, que podem ser usados com VirtualBox para dificultar a deteção de VM.

A minha primeira publicação sobre o assunto foi em 2012 e, desde então, foi atualizada esporadicamente. O formato de blogue pode não ter sido a melhor forma de publicar a informação e algumas pessoas criaram scripts interessantes e "fáceis de aplicar" com base no conteúdo.

Para facilitar a adição de novos conteúdos, decidi fazer exatamente o mesmo.

O objetivo deste script é utilizar as definições disponíveis sem modificar a base do VirtualBox. Há quem faça coisas realmente interessantes ao modificar o VirtualBox, mas isso está fora do âmbito deste script. Acredito que esta abordagem tem os seus méritos, pois (espero) não quebra a cada nova versão do VirtualBox. Ao longo do tempo, também incluí "coisas" que não estão diretamente relacionadas com VM, mas sim com o que o malware utiliza para identificar instalações. Espero que não se importem..

O script principal criará os seguintes ficheiros:

  • Um script shell, que pode ser usado como template, para ser executado a partir do sistema anfitrião e aplicado à VM que pretende modificar.
  • Um dump do DSDT, utilizado no script template acima.
  • Um ficheiro Windows Powershell para ser utilizado no interior do convidado, para tratar das definições que não podem ser alteradas a partir do anfitrião. Este script terá de ser executado duas vezes: uma para as alterações que requerem reinicialização e a segunda para as coisas teimosas que reaparecem ao reiniciar.

Utilização

Gerar script a partir do anfitrião

  • Instalar dependências sudo apt install python3-pip libcdio-utils acpica-tools mesa-utils smartmontools
  • Instalar módulos Python: sudo pip3 install -r requirements.txt
  • Descarregar os seguintes binários Windows e extraí-los no diretório antivmdetection: wget https://download.sysinternals.com/files/VolumeId.zip https://www.nirsoft.net/utils/devmanview-x64.zip (versão x64).
  • Criar ficheiros de texto para computador e utilizador: hostname > computer.lst, whoami > user.lst. Modifique se pretender usar nomes de máquina e utilizadores diferentes para as VMs (recomenda-se preencher os ficheiros com uma longa lista de nomes de utilizador e computador).
  • Executar o script Python como sudo sudo python3 antivmdetect.py
  • Tornar o script anfitrião gerado executável pelo utilizador atual sudo chmod a+x xxxxx.sh
  • Se receber a seguinte mensagem: "ACPI tables bigger than 64KB (VERR_TOO_MUCH_DATA)", isto deve-se a uma limitação do Virtualbox. Para mais contexto, consulte este caso: https://github.com/nsmfoo/antivmdetection/issues/37 . Não verificado como funcional, mas https://www.tonymacx86.com/dsdt-database pode ser um bom recurso...

Configurar a VM

  • Crie a VM mas não a inicie; saia também da interface gráfica do VirtualBox. O script shell precisa de ser executado antes da instalação!.
  • Verifique se "I/O APIC" está ativado (System > Motherboard tab).
  • Verifique se "Paravirtualization Interface" está definido como "None" (System > Acceleration tab).
  • Altere a contagem de CPUs para 2 ou mais, se possível.
  • Defina o IP da VM (File > Host Network Manager > Configure Adapter Manually > IPV4 address).
  • O script espera que o layout de armazenamento seja o seguinte: + IDE: Primary master (Disk) e Primary slave (CD-ROM) + * ATA: Port 0 (Disk) e Port 1 (CD-ROM)
  • Execute o script como utilizador atual (porque as VMs estão localizadas no diretório home do utilizador atual): /bin/bash xxxxx.sh my-virtual-machine-name
  • Instale o Sistema Operativo Windows (Suporta W7 e W10)

Executar script a partir do interior da VM

  • Mova o script batch (xxxx.ps1) para o convidado recém-instalado.

  • Execute o script batch no interior do convidado. Lembre-se de que a maioria das definições modificadas são revertidas após cada reinicialização. Portanto, faça-o executar no arranque, se necessário.

  • A partir da versão 0.1.4, algumas definições aplicadas exigem uma reinicialização. Execute o script batch uma vez; o convidado será reiniciado. Em seguida, execute o script novamente para finalizar a configuração.

  • Antes de aplicar o script batch no interior do convidado, desative o UAC (necessita reinicialização), caso contrário não conseguirá modificar o registo com o script.

  • Para utilizadores do Windows 10: execute o script PS como administrador (clique direito em cmd.exe -> executar como administrador, navegue até ao script PS e execute).

  • Se aplicado corretamente, uma execução do Pafish resultará nisto (não é necessário modificar o Virtualbox).

  • Note que este script faz outras coisas não cobertas pelo Pafish (por exemplo, artefactos do W10)

alt text

Notas

  • Quando o script antivmdetect não encontra valores adequados para usar, comenta essas definições no script recém-criado com um "#". Estas necessitam de revisão manual, pois podem ter impacto no que é exibido na VM.

Histórico de Versões

  • 0.1.9:
    Compatível com Python3
    Primeira tentativa de extrair o disco correto, que tem sido fonte de dores de cabeça para muitos. (Issue #35 (e algumas outras issues antigas), obrigado @oaustin)
    Melhorias no tratamento de strings no script shell (Issue #35 e #36 e PR #44, obrigado @oaustin, @dashjuvi e @corownik)
    Adicionado um link para um recurso DSDT online (Issue #37, obrigado @MasterCATZ)
    Atualizado o README para tornar as instruções de instalação mais claras, obrigado @jorants (issue #38)
    Verificar se o dump DSDT foi realmente criado, obrigado @nov3mb3r (Issue: #42)
    Adicionado um aviso de licença, obrigado @obilodeau (issue #43)
    Limpeza de código: removido suporte a discos RAID por falta de acesso a hardware de servidor... e muitas outras pequenas melhorias

  • 0.1.8:
    Melhorado suporte para Windows 10
    Correção de markup fundida de @bryant1410 (PR #14)
    Resolvido um problema para utilizadores de macOS + VBox/VMWare Fusion ao criar os templates.
    Criar o template a partir de uma máquina virtual não é a melhor forma, independentemente... (issue #12 e possivelmente #15)

  • 0.1.7:
    Windows 10 agora suportado (feedback bem-vindo)
    Vários novos artefactos "corrigidos" para instalações W10
    Nova dependência: mesa-utils
    Correção de bug fundida de @Fullmetal5 (#10)
    Várias correções de código diversas
    READme atualizado

  • 0.1.6:
    Adicionado um pop-up após a segunda execução, para tornar mais claro que está pronto
    Adicionada uma função que cria algumas instâncias do notepad. Esta funcionalidade será alargada em versões futuras
    Refeita a função RandomDate, obrigado a @Antelox por me alertar para o problema com a antiga (#8)
    O Acpidump fornecido com versões antigas do Ubuntu não suporta a opção "-s". Isto é agora tratado com uma mensagem de erro. Obrigado a @Antelox por esta issue (#7)
    Devmanview.exe não era removido após a segunda execução, corrigido

Baixar ferramenta