Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
antivmdetection — Script per creare modelli da utilizzare con VirtualBox per rendere più difficile il rilevamento delle macchine virtuali. | Kitploit
Strumenti/GitHubGitHub/nsmfoo/antivmdetection
Evasione IDS/IPSAnalisi MalwareAnti-Bot
GitHubnsmfoo/antivmdetection

antivmdetection

Script per creare modelli da utilizzare con VirtualBox per rendere più difficile il rilevamento delle macchine virtuali.

Vedi Repository
7771243 anni faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

Antivmdetection

Background

Uno script per aiutarti a creare template, che puoi usare con VirtualBox per rendere più difficile il rilevamento delle VM.

Il mio primo post sull'argomento risale al 2012 ed è stato aggiornato sporadicamente in seguito. Il formato blog potrebbe non essere stato il modo migliore per pubblicare le informazioni e alcune persone hanno creato script carini e "facili da applicare" basati sul contenuto.

Come modo per rendermi più facile aggiungere nuovi contenuti, ho deciso di fare lo stesso.

Lo scopo di questo script è utilizzare le impostazioni disponibili senza modificare la base di VirtualBox. Ci sono persone che fanno cose davvero interessanti patchando Virtualbox. Ma ciò esula dallo scopo di questo script. Penso che questo approccio abbia alcuni meriti in quanto non (si spera) si rompe con ogni nuova release di VirtualBox. Col tempo ho anche incluso "cose" che non sono direttamente correlate alla VM, ma piuttosto cose che il malware usa per fingerprintare le installazioni, spero non ti dispiaccia..

Lo script principale creerà i seguenti file:

  • Uno script shell, che può essere usato come template, da eseguire dal sistema host e applicato alla VM che desideri modificare.
  • Un dump del DSDT, utilizzato nel template script sopra.
  • Un file PowerShell di Windows da usare all'interno del guest, per gestire le impostazioni che non è possibile modificare dall'host. Questo script dovrà essere eseguito due volte, una per le modifiche che richiedono un riavvio e la seconda volta per le cose ostinate che riemergono al riavvio.

Utilizzo

Generare lo script dall'host

  • Installa le dipendenze sudo apt install python3-pip libcdio-utils acpica-tools mesa-utils smartmontools
  • Installa i moduli Python: sudo pip3 install -r requirements.txt
  • Scarica i seguenti binari Windows ed estraili nella directory antivmdetection: wget https://download.sysinternals.com/files/VolumeId.zip https://www.nirsoft.net/utils/devmanview-x64.zip (versione x64).
  • Crea i file di testo computer e utente: hostname > computer.lst, whoami > user.lst. Modifica se desideri utilizzare nomi macchina e utenti diversi per le VM (consigliato è riempire i file con una lunga lista di nomi utente e computer)
  • Esegui lo script Python come sudo sudo python3 antivmdetect.py
  • Rendi eseguibile lo script host generato dall'utente corrente sudo chmod a+x xxxxx.sh
  • Se ricevi il seguente messaggio: "ACPI tables bigger than 64KB (VERR_TOO_MUCH_DATA)", ciò è dovuto a una limitazione in Virtualbox, per maggiori contesto vedi questo caso: https://github.com/nsmfoo/antivmdetection/issues/37 . Non verificato che funzioni, ma https://www.tonymacx86.com/dsdt-database potrebbe essere una buona risorsa...

Configurare la VM

  • Crea la VM ma non avviarla, esci anche dall'interfaccia GUI di VirtualBox. Lo script shell deve essere eseguito prima dell'installazione!.
  • Verifica che "I/O APIC" sia abilitato (Sistema > scheda Motherboard).
  • Verifica che "Interfaccia di Paravirtualizzazione" sia impostata su "Nessuno" (Sistema > scheda Accelerazione).
  • Cambia il conteggio CPU a 2 o più se possibile.
  • Imposta l'IP della VM (File > Gestore Rete Host > Configura Adattatore Manualmente > Indirizzo IPV4).
  • Lo script si aspetta che la disposizione dello storage sia la seguente: + IDE: Master primario (Disco) e Slave primario (CD-ROM) + * ATA: Porta 0 (Disco) e Porta 1 (CD-ROM)
  • Esegui lo script come utente corrente (perché le VM si trovano nella home directory dell'utente corrente): /bin/bash xxxxx.sh nome-della-tua-macchina-virtuale
  • Installa il sistema operativo Windows (Supporta W7 e W10)

Eseguire lo script dall'interno della VM

  • Sposta lo script batch (xxxx.ps1) nel guest appena installato.

  • Esegui lo script batch all'interno del guest. Ricorda che la maggior parte delle impostazioni modificate vengono ripristinate dopo ogni riavvio. Quindi fallo eseguire all'avvio se necessario.

  • A partire dalla versione 0.1.4, alcune impostazioni applicate richiederanno un riavvio. Quindi esegui lo script batch una volta, il guest verrà riavviato. Quindi esegui lo script un'altra volta per finalizzare la configurazione.

  • Prima di applicare lo script batch all'interno del guest, disabilita UAC (richiede riavvio) altrimenti non potrai modificare il registro con lo script.

  • Per gli utenti di Windows 10: esegui lo script PS come amministratore (clic destro su cmd.exe -> esegui come amministratore, naviga fino allo script PS ed esegui)

  • Se applicato correttamente, un'esecuzione di Pafish darà questo risultato (non è necessario modificare Virtualbox).

  • Tieni presente che questo script fa anche altre cose non coperte da Pafish (ad esempio artefatti di W10)

alt text

Note

  • Quando lo script antivmdetect non riesce a trovare valori adatti da usare, commenterà queste impostazioni nello script appena creato, con un "#". Queste necessitano di revisione manuale poiché potrebbero avere un impatto su ciò che viene visualizzato nella VM.

Storico versioni

  • 0.1.9:
    Compatibile con Python3
    Primo tentativo di estrarre il disco corretto, è stata fonte di mal di testa per molti. (Issue #35 (e alcune altre vecchie issue), grazie @oaustin)
    Migliorata la gestione delle stringhe nello script shell (Issue #35 e #36 e PR #44, grazie @oaustin, @dashjuvi e @corownik)
    Aggiunto un collegamento a una risorsa DSDT online (Issue #37, grazie @MasterCATZ)
    Aggiornato il README per rendere le istruzioni di installazione più chiare, grazie @jorants (issue #38)
    Controllo se il dump DSDT è stato effettivamente creato, grazie @nov3mb3r (Issue: #42)
    Aggiunta una nota sulla licenza. grazie @obilodeau (issue #43)
    Pulizia del codice: rimosso il supporto per dischi RAID a causa della mancanza di accesso all'hardware del server.. e molti altri piccoli miglioramenti

  • 0.1.8:
    Migliorato supporto per Windows 10
    Unito fix markup da @bryant1410 (PR #14)
    Risolto un problema per gli utenti che utilizzano macOS + VBox/VMWare Fusion per creare i template.
    Creare il template da una macchina virtuale non è comunque il modo migliore .. (issue #12 e forse #15)

  • 0.1.7:
    Windows 10 è ora supportato (feedback benvenuto)
    Diversi nuovi artefatti "corretti" per installazioni W10
    Nuova dipendenza: mesa-utils
    Unito fix bug da @Fullmetal5 (#10)
    Correzioni varie al codice
    Aggiornato il readme

  • 0.1.6:
    Aggiunto un pop-up dopo la seconda esecuzione, per rendere più chiaro che si è pronti
    Aggiunta una funzione che genera alcune istanze di notepad, questa funzionalità sarà estesa nelle versioni future
    Rielaborata la funzione RandomDate, grazie a @Antelox per avermi segnalato il problema con la vecchia (#8)
    Acpidump fornito con versioni precedenti di Ubuntu, non supporta l'opzione "-s". Questo è ora gestito con un messaggio di errore. Grazie a @Antelox per questa segnalazione (#7)
    Devmanview.exe non veniva rimosso dopo la seconda esecuzione, risolto

  • 0.1.5:
    Aggiunto supporto per associare e dissociare (disabilitato per default) estensioni di file. Riferimento: https://www.proofpoint.com/us/threat-insight/post/massive-adgholas-malvertising-campaigns-use-steganography-and-file-whitelisting-to-hide-in-plain-sight
    Aggiunto supporto per un buffer degli appunti fornito dall'utente. Se non presente, verrà generata una stringa casuale. Riempi il file con Honeytoken a tua scelta
    Rimosso il supporto XP
    Convertite le sezioni dello script batch in Powershell. Maggiore logica spostata nello script guest, in breve c'è meno motivo di creare/rigenerare spesso il template, poiché più elementi sono randomizzati sul guest. Aggiunta una funzione che randomizza l'immagine di sfondo del Desktop Aggiunta una funzione che crea documenti di "tutti" i tipi sul guest Aggiunta una funzione che crea documenti di "tutti" i tipi sul guest e li sposta nel Cestino Randomizzazione del DigitalProductId in altre due posizioni: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\Registration\DigitalProductId. HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\DefaultProductKey\DigitalProductId. Utilizzare Interfaccia di Paravirtualizzazione: Nessuno (verificato con VBox 5.1.4) - Controllo aggiornato per riflettere questo cambiamento. Presumo che questa modifica in VBox sia stata grazie a: TiTi87, grazie!

/Mikael

Il feedback è sempre benvenuto! =)

Scarica lo strumento







  • 0.1.4:
    Risolto un bug per gli utenti di python-dmidecode 3.10.13-3, colpa mia..
    Aggiunta una funzione che randomizza VolumeID (nuovo prerequisito: VolumeID.exe), questa informazione è ad esempio raccolta da Rovnix
    Aggiunta una funzione che randomizza nome utente e nome computer/hostname (nuovi prerequisiti: elenco di nomi utente e nomi computer)
    Primo tentativo di aggiungere informazioni al buffer degli appunti, idea (comando) da un tweet di @shanselman. Migliorerò nella prossima release
    Aggiornato il readme: nuove dipendenze e nuove funzionalità che richiedono riavvio

  • 0.1.3:
    Copia e imposta la stringa del brand della CPU.
    Controlla se un dispositivo audio è collegato al guest. Riferimento: http://www.joesecurity.org/reports/report-61f847bcb69d0fe86ad7a4ba3f057be5.html
    Controlla l'architettura del sistema operativo rispetto al binario DevManView.
    Randomizzazione del ProductId in altre due posizioni:
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\Registration\ProductId.
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\DefaultProductKey\ProductId.
    Pulisci la chiave prodotto di Windows dal registro (per evitare che qualcuno la rubi...).
    Modifica il DigitalProductId (HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\DigitalProductId) per corrispondere al nuovo ProductId.

  • 0.1.2:
    Controlla se viene utilizzata l'interfaccia di paravirtualizzazione Legacy (l'uso dell'interfaccia Legacy mitiga il rilevamento della "funzionalità cpuid").

  • 0.1.1:
    Controlla il conteggio CPU (Meno di 2 == allarme).
    Controlla la dimensione della memoria (Meno di 2GB == allarme).
    Controlla se viene utilizzato l'IP/intervallo IP predefinito per vboxnet0 (puoi ignorare la notifica se non lo usi).
    Randomizzazione del ProductId.
    Unito PR #3 da r-sierra (Grazie per l'aiuto!
    Risolto un bug in AcpiCreatorId (Grazie @Nadacsc per avermelo segnalato!).
    Risolto un bug nell'analisi di DmiBIOSReleaseDate.
    Risolto un bug in DmiBIOSReleaseDate, per gestire sia la variante "predefinita" errata sia quella corretta (Grazie @WanpengQian per avermelo segnalato!).
    L'inclusione di DevManView non funzionava come previsto, dovrebbe essere risolta in questa release.
    Supporta anche il controller SATA (in precedenza venivano modificate solo le impostazioni IDE)
    Aggiornato il readme

  • 0.1.0:
    Risolto il rilevamento WMI reso famoso da HT. Aggiunto
    DevManView.exe (a tua scelta dell'architettura) ai prerequisiti.

  • < 0.1.0 Nessuno storico delle versioni mantenuto prima di questo, bisogna pur iniziare da qualche parte.