
Strumento di iniezione DLL per sbloccare le VM guest.
V M I n j e c t o r
(c) 2012 di Marco Batista
<marco.batista [at] secforce.com>
Concesso in licenza sotto GPLv3 (vedi file LICENSE)
VMInjector è uno strumento progettato per aggirare le schermate di autenticazione di accesso dei principali sistemi operativi in esecuzione su VMware Workstation/Player, utilizzando la manipolazione diretta della memoria.
VMInjector è uno strumento che manipola la memoria degli ospiti VMware per aggirare la schermata di autenticazione del sistema operativo. VMware gestisce le risorse allocate ai sistemi operativi guest, inclusa la memoria RAM. VMInjector inietta una libreria DLL nel processo VMware per ottenere l'accesso alle risorse mappate. La libreria DLL funziona analizzando lo spazio di memoria di proprietà del processo VMware e individuando il file RAM mappato in memoria, che corrisponde all'immagine RAM del guest. Manipolando il file RAM allocato e applicando patch alla funzione responsabile dell'autenticazione, un attaccante ottiene accesso non autorizzato all'host virtuale sottostante. VMInjector può attualmente aggirare i sistemi operativi bloccati Windows, Ubuntu e Mac OS X. La patch in memoria non è persistente e il riavvio della macchina virtuale guest ripristina il normale funzionamento della password.
VMInjector può essere utilizzato se la password di un host virtuale è stata dimenticata e necessita di un reset. Più comunemente, questo strumento può essere utilizzato durante attività di penetration testing, quando si ottiene accesso a un host VMware e l'attaccante cerca di ottenere un accesso aggiuntivo ai guest in esecuzione su tale host.
Macchina Windows (con accesso amministrativo); VMware workstation o player edition; Una VM guest bloccata;
VMInjector è composto da 2 parti: L'applicazione di iniezione DLL (script Python o eseguibile convertito fornito) Libreria DLL (x86 e x64)
Lo strumento supporta sia le architetture x86 che x64 fornendo entrambe le DLL. Si può utilizzare il proprio iniettore DLL per selezionare la macchina virtuale guest in esecuzione sull'host.
Per eseguire lo strumento, eseguire l'eseguibile VMInjector (32 o 64) fornito dalla riga di comando VMWare esegue ogni guest in un processo diverso. VMInjector deve essere puntato al processo che esegue il guest che richiede il bypass. Una volta che l'utente sceglie un processo, inietterà la DLL nel target scelto. Una volta iniettata la DLL, l'utente dovrà specificare il sistema operativo, così che la patch della memoria possa essere eseguita
Questo strumento è solo per scopi legali. Il codice è rilasciato sotto licenza GPLv3.
Vorrei ringraziare Michael Ligh per la sua preziosa ricerca sull'iniezione di shellcode nelle macchine virtuali guest nel 2006.
Vorrei anche ringraziare Carsten Maartmann-Moe per il suo lavoro su Inception, uno strumento in grado di sbloccare macchine Windows, Ubuntu e OS X bloccate utilizzando il trucco IEEE 1394 FireWire. Questo è stato mostrato per la prima volta dal (ora obsoleto) strumento winlockpwn.