
Herramienta de inyección DLL para desbloquear máquinas virtuales invitadas.
V M I n j e c t o r
(c) 2012 by Marco Batista
<marco.batista [at] secforce.com>
Con licencia GPLv3 (consulte el archivo LICENSE)
VMInjector es una herramienta diseñada para omitir las pantallas de autenticación de inicio de sesión de los principales sistemas operativos que se ejecutan en VMware Workstation/Player, mediante la manipulación directa de la memoria.
VMInjector es una herramienta que manipula la memoria de las máquinas invitadas de VMware para omitir la pantalla de autenticación del sistema operativo. VMware gestiona los recursos asignados a los sistemas operativos invitados, incluida la memoria RAM. VMInjector inyecta una biblioteca DLL en el proceso de VMware para obtener acceso a los recursos mapeados. La biblioteca DLL funciona analizando el espacio de memoria propiedad del proceso de VMware y localizando el archivo de RAM mapeado en memoria, que corresponde a la imagen de la RAM de la máquina invitada. Al manipular el archivo de RAM asignado y parchear la función encargada de la autenticación, un atacante obtiene acceso no autorizado al host virtual subyacente. VMInjector puede omitir actualmente sistemas operativos Windows, Ubuntu y Mac OS X bloqueados. El parcheo en memoria no es persistente, y reiniciar la máquina virtual invitada restaurará la funcionalidad normal de la contraseña.
VMInjector puede utilizarse si la contraseña de un host virtual se ha olvidado y es necesario restablecerla. Habitualmente, esta herramienta puede utilizarse durante actividades de pruebas de penetración, cuando se obtiene acceso a un host de VMware y el atacante busca conseguir acceso adicional a las máquinas invitadas que se ejecutan en dicho host.
Máquina Windows (con acceso administrativo); Edición VMware Workstation o Player; Una máquina virtual invitada bloqueada;
VMInjector consta de 2 partes: La aplicación de inyección de DLL (script de Python o ejecutable convertido proporcionado) Biblioteca DLL (x86 y x64)
La herramienta admite arquitecturas x86 y x64 al proporcionar ambas DLL. Se puede utilizar su propio inyector de DLL para seleccionar la máquina virtual invitada que se ejecuta en el host.
Para ejecutar la herramienta, ejecute desde la línea de comandos el ejecutable VMInjector (32 o 64) proporcionado. VMware ejecuta cada máquina invitada en un proceso diferente. VMInjector debe apuntar al proceso que ejecuta la máquina invitada que requiere la omisión. Una vez que el usuario elige un proceso, se inyectará la DLL en el objetivo seleccionado. Una vez inyectada la DLL, el usuario deberá especificar el sistema operativo para que se pueda llevar a cabo el parcheo de memoria.
Esta herramienta es solo para fines legales. El código se publica bajo la licencia GPLv3.
Me gustaría agradecer a Michael Ligh su valiosa investigación sobre la inyección de shellcode en máquinas virtuales invitadas en 2006.
También me gustaría agradecer a Carsten Maartmann-Moe su trabajo en Inception, una herramienta que puede desbloquear máquinas Windows, Ubuntu y OS X bloqueadas mediante el truco de IEEE 1394 FireWire. Esto fue presentado por primera vez por la herramienta (ya obsoleta) winlockpwn.