Mostrando entradas con la etiqueta máquinas virtuales. Mostrar todas las entradas
Mostrando entradas con la etiqueta máquinas virtuales. Mostrar todas las entradas

domingo, 3 de noviembre de 2019

Acceder a tarjeta SD desde máquina virtual

Una pequeña chuleta porque me hará falta más adelante (y seguro que a alguno de vosotros os ha pasado): intentar acceder a la tarjeta SD insertada en el lector integrado del portátil y no conseguir, ni siquiera, que la detecte.

Mi problema era que esta tarjeta SD tenía un sistema de ficheros ext4 y de las muchas formas de hacer el cambio esta era la que más seguridad me daba.

He encontrado varias fuentes que cuentan prácticamente lo mismo (entre otras, una pregunta en superuser.com).

Todo lo haremos con permisos elevados de administrador.

Desde un cmd ejecutamos:

wmic diskdrive list brief

Que nos debería devolver algo parecido a:

c:\> wmic diskdrive list brief

Caption             DeviceID            Model               Partitions  Size
SDHC Card           \\.\PHYSICALDRIVE1  SDHC Card           2           32004564480
TOSHIBA MQ01ABF050  \\.\PHYSICALDRIVE0  TOSHIBA MQ01ABF050  4           500105249280

A partir de estos datos usaremos el DeviceID. En nuestro caso será "\\.\PHYSICALDRIVE1". Aquí usaremos la herramienta de VirtualBox vbmanage:

C:\Program Files\Oracle\VirtualBox> VBoxManage internalcommands createrawvmdk -filename "%carpetaDestino%\sdcard.vmdk" -rawdisk "\\.\PHYSICALDRIVE1"

No genera realmente un disco duro virtual sino un enlace. No me ha pasado pero no quitaría la tarjeta hasta que no terminemos todo el proceso. No sé las consecuencias pero algo podría fallar. En mi caso para una tarjeta de 32GB no ha tardado casi nada en generar el fichero.

Ahora sólo quedaría ir a la máquina virtual que queremos utilizar (o crear una nueva) e incluir este disco virtual entre los que necesitemos. Para mí era necesario cambiar algunos datos que en Windows no podía, por lo que he tenido que crear una máquina virtual y además de añadir este "disco" de apenas unos pocos megas (por no decir KBs) la ISO con la que arrancarla. Eso sí: le ha costado arrancar más de lo que normalmente empiezan a arrancar las otras.

Recuerda: absolutamente todo lo tendrías que hacer con permisos de administrador (incluyendo la máquina virtual).

Espero que sea de utilidad si os veis en la necesidad.


martes, 30 de octubre de 2018

VMWare: Acceder al POST de la máquina virtual

Cuando estuve montando la máquina virtual que tantos problemas me dio también tuve la necesidad de accede al POST de la BIOS. El famoso Power On Self-Test. Y es una tarea que en unas cuantas ocasiones me ha hecho falta y no he sido capaz de realizar o me ha costado mucho encontrar cómo se hace. Así, me encontré con el enlace en el que explican cómo forzar que la pantalla del POST permanezca un tiempo determinado (y que te tiempo a pulsar la tecla adecuada si te hace falta) o que una única vez se acceda directamente a esta pantalla sin necesidad de pulsar dicha tecla (por ejemplo, DEL/SUPR).

Así, editando el fichero .vmx con la máquina virtual apagada y añadiendo alguna de las siguientes opciones podremos obtener nuestro objetivo:


  • bios.forceSetupOnce = "TRUE" : la siguiente vez que se encienda se accede directamente a la BIOS. Sólo lo hará una única vez. Para el resto de ocasiones, tocará volver a elegir entre algunos de estos procedimientos.
  • bios.bootDelay = "xxxx" : Donde el parámetro son los milisegundos que se mostrará el POST. El máximo tiempo permitido son 10 segundos (luego, 10.000 milisegundos, acordándose de no poner el separador de millar).

Espero que este proceso nos sea de ayuda en un futuro, sobretodo cuando no nos acordemos de cómo se hacían estas cosas.

[Update]

Actualizo con la aportación del compañero en la que SytAdm nos explica muchísimas más opciones para el acceso a la BIOS desde una máquina virtual. Muchas gracias!

miércoles, 30 de diciembre de 2015

Convertir vmdk a dd o raw

Como de costumbre, vamos a ponernos en situación.

Nos entregan unas evidencias que hay que analizar en un disco. Y cuando nos vamos a poner a trabajar sobre ellas, nos encontramos con que nos entregan unas máquinas virtuales de VMWare. Es una faena, porque queremos trabajar con herramientas como FTK o Autopsy. ¿Qué hacemos? Sencillo: instalar otro software de virtualización. 

Es totalmente en serio. Al menos, para la técnica que voy a mostrar aquí hace falta precisamente el producto de Oracle VirtualBox. La razón es que tiene una herramienta que se llama VBoxManage.exe. Con ésta, entre otras cosas, puedes convertir las imágenes al formato dd, también conocido como raw.

Por lo tanto, vamos a la carpeta de instalación de VirtualBox desde el cmd y ejecutamos:

VBoxManage clonehd fichero_vmdk fichero_dd --format raw

Donde el fichero_vmdk es el nombre del mismo y el fichero_dd lo mismo. Esta aclaración es para indicar que es muy recomendable (al menos así lo he hecho yo) usar rutas absolutas. 

Después del tiempo que tarde en convertir los gigas y gigas de datos de los que conste el vmdk, ya tendrás un formato más estándar, con el que trabajar más cómodamente (siempre que no te haga arrancarla, y de lo que ya hablaré en un futuro). Además hay que tener en cuenta otra cosa más: si ese disco de la máquina virtual es dinámico, lo más seguro es que el resultado final te ocupe más. Si en el destino no hay espacio suficiente, tendrás algún mensaje de error (que por desgracia no tengo a  mano). 

viernes, 22 de julio de 2011

Protegiendo con virtualización y sandboxes.

Estoy en LinkedIn. La verdad, ahora no me acuerdo muy bien si tengo el perfil totalmente público o no. Supongo que no, porque intento tener cuidado con todos esos temas. Que lo consiga... eso ya es otra historia.

Entre otros grupos, estoy dentro de uno que se llama... malware analysis. Hay un hilo en el que participé porque me interesaba aprender muy bien a analizar bichos. O, al menos, por analizar los cambios que producían en el sistema objetivo. Ya había jugado con bichos antes. Pero fue eso, jugar. No ver los cambios producidos en el sistema.

Así, algunos de los programas que tengo que probar un año de estos, y que me sugirieron,  sería InCtrl5. O RegShot. Que, según me cuentan, ambos hacen una comparación de dos snapshots del sistema. Un antes y un después. Así, te darán un informe sobre los cambios en el registro, o ficheros añadidos al sistema...

La otra cosa que sugerían, y que ya sabemos, es probar los bichos en una máquina virtual. Ya sea VMware, VirtualPC o VirtualBox, entre las famosas. Además, para mejorar el aislamiento, se podría ejecutar el programa de virtualización sobre una sandbox, como por ejemplo, Sandboxie. La sandbox, que no es algo muy común, permite aislar (en teoría) ese programa o bicho del resto del sistema. Si ya en teoría un proceso sólo puede acceder a su parte de memoria, esto lo que hace es... más o menos como si lo engañara para que en el caso de querer salir de su trozo de memoria asignado, no sea capaz de acceder.

Ahora bien, tal y como comentan en dicho hilo, una sandbox no tiene por qué ser 100% eficaz. En este tema no existe la seguridad absoluta. Del mismo modo que una máquina virtual te puede pasar un bicho sin necesidad de que tenga la red activada. Y sí, se puede hacer. A ver si lo escribo bien: Jhoanna  Rutcouska Joanna Rutkowska, de The invisible things, lo hizo. Es más, cuando dijo que no se podía las casas de software de virtualización dijeron que no lo era. Después de un "sí se puede", "no se puede".

- ¿Ah, no? Entonces ¿Y esto qué es?


Al menos, es tal y como me lo comentaron. La verdad, sólo me he leído un artículo suyo. Y estoy suscrito en los feeds. Pero así lo hizo. Consiguió pasar de una máquina virtual al equipo físico a través de la memoria. Siguiendo con LinkedIn. En dicho comentario han publicado un sitio en el que hablan de los rings del sistema operativo. Está muy bien explicado.

Luego, si nos hacemos la pregunta: ¿puedo usar la sandboxie con las máquinas virtuales? ¿O ambas por separado? Supongo que dependerá de para qué. Si vas a ejecutar un bicho, lo mejor es usar ambas. Al menos, mejor eso que nada. O, tener un equipo que sea exclusivo para esos menesteres y que esté bien aislado. No se. Creo que ahora mismo no me puedo posicionar al respecto. ¿Alguien quiere dar su opinión al respecto?

lunes, 29 de noviembre de 2010

Reutilizando máquinas virtuales con Windows

No creo que lo sepáis, no se lo he contado a mucha gente. Me estoy preparando por mi cuenta una certificación Microsoft.

Como ya he contado alguna vez, si no aquí, en alguno de los blogs sobre seguridad que suelo leer, antes era un maniático de "Linux, Linux, Linux..." y poco o nada de Microsoft. Al menos, en lo que a discusiones se refiere. Peeeerooo... Ahora estoy en el modo de "cada cosa, en su momento y en su lugar". Lo que significa que hay cosas en los que ambos sistemas operativos van bien... Y otras, en los que uno es mejor que otro.

Bueno. A lo que iba. Para prepararme la certificación me compré un libro, propio de Microsoft. Lo llaman training kit. Este training kit trae dos DVDs. Bueno, tres. Uno es el que tiene datos, información. Entre otras cosas, trae el mismo libro que compré impreso, pero en PDF. También trae una aplicación para hacer examenes, desde una manera muy sencilla en la que te indican nada más responder si la pregunta está bien o mal, y por qué... hasta una simulación de un examen real. Los otros dos DVDs son las versiones de Windows Server 2008, 120 días, tanto la de 32 como la de 64. Una versión trrial, vamos.

Así, una primera vez, me instalé una máquina virtual con el DVD. Pero, siendo precavido, la dejé para "futuras necesidades". Luego, me hice una copia de esa máquina que sería la que manipularía según las instrucciones del libro. No viene mucho a cuento, pero me hice una instalación de un Windows 7 Enterprise 90 días. Este sería el cliente que utilizaría en vez de el Vista, que es el que recomienda utilizar (evidentemente, porque se escribió antes de que saliera el 7).

Así, he estado siguiendo el libro y las instrucciones hasta que me dijeron que tenía que utilizar otro servidor más. Por lo tanto, tocaba hacer una nueva copia, cambiarle el nombre, las direcciones IP y poco más.

Para no liar las cosas más de lo que ya las habré liado, vamos a ponerle nombre a las máquinas. El primer server, es Glasgow. El otro servidor, el recién llegado, es Boston. Y el cliente no me acuerdo ahora, y no nos hace falta indicarlo. Me queda decir que son los nombres que me indicaban en el libro.

Puede que algunos sepan dónde metí la pata. Algunos otros, puede que no lo sepan todavía. Resulta que en momento determinado, tenía que añadir en Boston un grupo perteneciente al Glasgow, que es el controlador de dominio. Y no me dejaba. Un error parecido a este es el que me decía:

"The following error occurred while attempting to save properties for group Domain Admins on computer Boston A member could not be added to or removed from the local group because the member does not exist."

¿Cómo que no existe? Además, al lado del nombre del grupo añadido, aparecía una ristra muy grande de números. Mosquea mucho que salga el SID ahí. Hasta que caí en la cuenta. Resulta que a efectos internos, ambas máquinas son el mismo sistema operativo. Son la misma instalación. Luego, se estaban dando de leches. Aquí hay dos opciones para arreglarlo:

1) Utilizar sysprep.
2) Utilizar newsid.

Lo primero de todo. El SID es un identificador único de los usuarios y grupos, entre otros, con los que internamente trabajan los sistemas Windows. Una explicación buena de cómo funcionan está en la Wikipedia inglesa. Como de costumbre, sólo me he leído la parte interesante y la que estaba buscando.

El problema está en que obligar a trabajar dos sistemas distintos con los mismos SIDs es muy peliagudo. Y puede dar problemas como los ya descritos. Así, para evitar estos problemas al reutilizar máquinas virtuales, o hacer distintas instalaciones con una imagen de un mismo equipo, tenemos las herramientas antes mecionadas: sysprep y nersid.

Aunque se puede ver en el mismo artículo qué hace cada una de las dos herramientas, yo cuento lo que se, hasta dónde he llegado, cómo he trabajado con ellas...

Sysprep. Esta herramienta suele (¿solía?) venir en los CDs de Windows XP. No se si estarán en los de Vista y 7. ¿Alguna vez habéis comprado un ordenador que al arrancar ya venía el sistema operativo instalado y sólo os pedía algún paso de lo que sería una instalación completa? Pues en parte, eso se hace con el sysprep. Instalas un sistema. Lo dejas como más te guste. Con los programas instalados, con la configuración deseadas... Después, tienes la opción de crear un fichero que automatice determinados pasos, para que no tengas que meterlos a mano. Incluso, puedes hacer que ya aparezcan las respuestas introducidas y sólo tengas que hacer "siguiente" o que no veas nada y se haga todo sólito. El caso es que al ejecutar la herramienta, eliminas los SIDs del sistema y, cómo mínimo, tendrás que acabar de realizar alguno de los procesos de la instalación. Como ya he dicho, ideal para montar equipos que después se vayan a vender.

Newsid. Esta herramienta estaba en la paquetería del sysinternals. Ahora ya no la encontrarás porque la quitaron. Parece ser que el mismo que la programó, Mark Russinovich, acabó reconociendo que posiblemente no era necesaria. También he oído la otra versión, de que fue la propia Microsoft la que lo dijo. Sea como fuere, ya no está disponible en la paquetería. Y ha sido la que he utilizado (ya que la tenía antes de que la eliminaran). La he arrancado, me ha preguntado si quería un SID aleatorio u otras cosas más... Evidentemente he pedido el aleatorio. También preguntaba si quería cambiar el nombre del equipo (en este caso no) y ya. Al aceptar, ha mostrado un montón de cosas que ha ido cambiando. 5 o 10 minutos en movimiento, un reinicio... Y el problema del aviso de más arriba ya no sale.

¿Alguna vez os ha pasado algo similar? Si es así, ¿Cómo lo habéis solucionado?