viernes, 4 de marzo de 2016

Crónica RootedCon 2016: Día 2

De nuevo, otro día más en RootedCon 2016.

RootedCon 2016 - Cartel presentación
RootedCon 2016 - Cartel presentación
No nos podemos olvidar de los compañeros que nos han estado acompañando estos días: Pablo F. Iglesias (@PYDotCom), Julián (@tXambe), David (@ESFERARED), Longinos (@L0ngin0s)...

Y, una vez más, tuvimos un día con unas ponencias muy interesantes. 

Para empezar el día, Pedro Cabrera nos habló de las distintas posibilidades de atacar un dron, descartando los ataques ya conocidos.

RootedCon 2016 - Pedro Cabrera secuestrando drones
RootedCon 2016 - Pedro Cabrera secuestrando drones
Los aparatos utilizados han sido de la marca Parrot, y la idea es poder secuestrarlo de tal forma que el propietario pueda perder el control del mismo. O forzar a que el dispositivo cliente para controlarlo reciba datos falsos acerca del estado del avión (batería baja, imágenes falsas) o manipularlo para llevarlo donde se desee. En una de las demos, el avión ha intentado quitar la mano de Román de enmedio y el pobre se ha hecho daño. El avión, Román, claro. En serio: Román ha intentado evitar que el avión fuera a parar a la pantalla y al pararlo se ha hecho algo de pupa. Siguiendo con la charla, nos demostró cómo se podía llegar a acceder a estos dispositivos a través de un telnet y subir ficheros que permitieran configurarle algunos parámetros para llevar a cabo esa manipulación.

La siguiente charla la ha dado Juan Garrido aka Juanillo aka Triana (@tr1ana). En ésta nos ha dado unos cuantos trucos con el fin de poner a prueba la seguridad ofensiva (aunque también en algún momento se ha hablado de defensiva). Se ha puesto de manifiesto el hecho de los muchos perfiles que hay en una empresa y las reticencias que hay para poner solución a los mismos. 

RootedCon 2016 - Juan Garrido aka tr1ana - ¿Quiénes somos?
Algunos trucos muy curiosos como montar un Anti-Ramson de 3000 € usando el servicio de Windows FSRM permitiendo construir unas acciones según lo que se ponga en unos filtros determinados. O usar unas claves del registro para que se bloqueen las ejecuciones de los programas según cómo sea el certificado con el que hayan firmado. También ha puesto de ejemplo el AuthCode y que unos procesos puedan acceder a otros (procesos protegidos). Ha presentado su herramienta: Voayer. 

Después del descanso, Laura García y Ricardo J. Rodríguez nos han hablado de bichos en iOS: En 5 minutos han hablado de la situación en Android para poner el contexto y después nos han explicado la situación en iOS, los distintos focos de infección y algunos casos históricos. Han explicado los controles de Apple para tumbar aplicaciones:

RootedCon 2016 - Laura García y Ricardo J. Rodriguez: Motivos de Apple para rechazar aplicaciones
RootedCon 2016 - Laura García y Ricardo J. Rodriguez: Motivos de Apple para rechazar apps
También han comentado quiénes son los objetivos: Una persona en particular, alguien a quien comprar/extorsionar, gobiernos... Al preguntar al público quién tenía su dispositivo jailbreakeado sólo ha respondido afirmativamente uno. Y casi todas las infecciones son consecuencia directa del usuario.

Al finalizar su charla hemos tenido la segunda ponencia del año en inglés: Hicham Tolimat (@hi_t_ch) nos ha hablado de un proyecto que se llama Docker. No voy a negar que no he terminado de entender del todo bien el proyecto. Se ha empezado comparando esta herramienta con máquinas virtuales para después hablar de contenedores que encapsulen una o varias aplicaciones para pasar por Jenkins y poder mandar reportes de vulnerabilidades a GitHub. 

RootedCon 2016 - Hicham Tolimat: Docker vs VM
RootedCon 2016 - Hicham Tolimat: Docker vs VM
 Y eso que a pesar de ser francés tenía un impecable inglés que se le entendía perfectamente sin ningún tipo de acento.

Después de la merienda, Matias Katz nos ha hablado de un servicio que utilizan muchas X en linux que se llama dbus

RootedCon 2016 - Matias Katz: Hardware backdoring X11
RootedCon 2016 - Matias Katz: Hardware backdoring X11
Nos ha explicado cómo se puede configurar un equipo que tenga este servicio activo para poder utilizar su propio hardware de tal forma que podamos bloquear la sesión de una forma sencilla. El equipo siempre tendrá que estar buscando dicho dispositivo para saber cuándo bloquearlo, por lo que se tendrá que poder identificar de forma univoca. Por eso, el servicio dbus que trabaja en el anillo 1 del sistema, es capaz de identificar las ICQs (interrupciones) que se producen, y así indicarle con cuál se ha de bloquear. A su vez nos ha preguntado a la sala cómo se podría desbloquear, ganándome una camiseta por dar una respuesta válida: con el micrófono o el jack de audio:

RootedCon 2016 - Matias Katz: Desbloqueando el equipo con el jack de audio
RootedCon 2016 - Matias Katz: Desbloqueando el equipo con el jack de audio
El equipo debe de responder aun estando bloqueado y el sistema operativo no puede interferir. Además, tiene que seguir funcionando sin cambios en el hardware. En cada ejemplo que nos ponía nos ha ido haciendo demos con unos scripts en python.

Lo siguiente ha sido el segundo panel del año. Una mesa redonda en la que hablaba sobre emprendimiento en España.

RootedCon 2016 - RootedPanel 2: Emprendimiento en España
RootedCon 2016 - RootedPanel 2: Emprendimiento en España
Se ha discutido sobre las dificultades que hay para emprender, sobretodo en lo que a ciberseguridad se refiere, financiación, vendedores de humo, motivación, ayudas a emprendedores...

Después de un descanso, Andrés Tarasco (@atarasco) de Tarlogic (@tarlogic) nos ha hablado de un estudio que le solicitaron sobre el uso fraudulento de la televisión por satélite (de pago). 

RootedCon 2016 - Andrés Tarasco: Tracking satelite TV piracy
RootedCon 2016 - Andrés Tarasco: Tracking satelite TV piracy
Nos ha explicado los distintos protocolos, desde el antiguo codificado de Canal + en el que había que ponerse "bizco para ver el porno" (Nagra v1), pasando por los famosos códigos que se dumpeaban en tarjetas para que el decodificador te dejase ver todo (Nagra v2) pasando por el Nagra v3. En otro protocolo, DVB-CA, también tenemos unos paquetes de control (mensajes) bastante importantes: ECM y EMM. Se ha hablado del término CardSharing y los tipos que hay. En este caso, se montan servidores que tienen conectadas las tarjetas y que comparten los contenidos a partir de éstas. Además, tenemos un sistema llamado iKS en el que el decodificador es prácticamente plug and play. Han buscado quiénes pueden estar involucrados en estas actividades y quiénes se benefician de estas actividades. Casi finalizando nos ha mostrado una gráfica:

RootedCon 2016 - Andrés Tarasco: Estadisticas de países que defraudan
Resulta que en España estamos en la barra azul claro (abajo del todo)... y hay que sumar la gris.

Y aquí han finalizado las charlas. En el hall estaban con el Rooted WarFare. Además de tener a David (@TaiksonTexas) hablando de sus drones, me ha gustado un proyecto para facilitar los análisis forenses recuperando información: OwadeReborn.

Y... esta es la crónica de hoy. Mañana tendremos más RootedCon. ¡Y seguro que sale igual de bien que hoy!

jueves, 3 de marzo de 2016

Crónica RootedCon 2016: Día 1

Un año más, hemos tenido la oportunidad de asistir a uno de los eventos de seguridad más famosos del país: RootedCon.

Como de costumbre, me he levantado pronto para llegar bien puntual a la cita. Por supuesto, he sido d de los primeros en llegar.

Para celebrar este séptimo año, se ha usado como motivo especial el cine, que, todo dicho sea de paso, es donde lo se han realizado las ponencias: en una sala de cines gigantesca. Y el logo de este año está relacionado con las bolas de dragón.

La keynote la han hecho con un espectacular vídeo simulando aspectos del cine, como, por ejemplo, las entradillas que se ponen en las peliculas: Metro Grolden Mayer, THX, Márvel...

RootedCon 2016 - Keynote con el motivo de Bola de Dragón
RootedCon 2016 - Keynote con el motivo de Bola de Dragón

Para empezar las charlas: Federico Dios nos habla sobre las investigaciones que hace Akamai del tráfico que pasa por sus servicios, una de las empresas por las que circula gran cantidad de paquetes que se generan en Internet. Aproximadamente un 30% del tráfico legítimo mundial.

Después, Jorge Hurtado nos ha hablado de los dispositivos que se permite que se conecten a Internet, pero que no se controla su seguridad. Estos dispositivos se pueden englobar en los que entran en la categoría del IoT (Internet of Things): Muñecas, osos de peluche, frigroríficos. Todos llenos de bugs muy peligrosos para la privacidad y seguridad de los usuarios.

RootedCon 2016 - Jorge Hurtado y uno de los bugs encontrados
RootedCon 2016 - Jorge Hurtado y uno de los bugs encontrados
Incluso se ha nombrado la posibilidad de hacer un sello de calidad tal y como se hace con a eficiencia energética:


RootedCon 2016 - Jorge Hurtado: ¿Ponemos un sello de certificación de seguridad?
RootedCon 2016 - Jorge Hurtado: ¿Ponemos un sello de certificación de seguridad?
Después del descanso, en el que pudimos desayunar un zumo y dos conchas Codan, Abel Valero nos ha hablado de bootkits: Cómo funcionan en general y uno, que ha destripado, en particular: rounix. Para poderla explicar ha tenido que poner mucho ensamblador. Así, pudo mostrar los dos tipos de análisis que hizo: tanto estático como dinámico.

Después tuvimos la oportunidad de escuchar a Jonathan Shimonovich, en inglés, en el que nos explicaba el cómo algunas aplicaciones se descargaban unos plug-ins propios.

RootedCon 2016 - Jonathan Shimonovich y certificados para móviles: CERTIFIGATE
RootedCon 2016 - Jonathan Shimonovich y certificados para móviles: CERTIFIGATE
Estos plug-ins están firmados con un certificado especial para que puedan hacer ciertas acciones que de no ser por ese certificado entregado por Google o los fabricantes no podrían realizarlas. El problema está en que la validación que hacen esos plug-ins no es la adecuada, por lo que éstos se podrían terminar usando en otras aplicaciones que no deberían de poder hacerlo y realizar acciones como, por ejemplo, visualizar la pantalla del móvil en remoto. Entre otras validaciones, nos encontramos, por ejemplo, con comprobaciones de códigos numéricos hardcodeados.

Después de comer, Rafael Sánchez y Federico J. Gómez nos han presentado el estado de IPv6 en Internet y su herramienta especial, que podríamos definirla como un Shodan para este protocolo. Se ha hecho incapie en las afirmaciones de servicios conocidos como Spamhaus que dicen que "IPv6 no está lo suficientemente extendido como para controlarlos". Con su herramienta se ha demostrado que esos servicios se equivocan. Dos servicios que han nombrado: ZoomEye y Censys.

La charla del Dr Alfonso Muñoz ha estado muy interesante: ha explicado cómo se puede usar un dispositivo que lee las hondas cerebrales se puede usar para generar números aleatorios, patrones para autenticaciones, etc. Estos dispositivos pueden ser baratos (80 € NeuroSky, 400 € EPOC Emotiv).

RootedCon 2016 - Dr. Alfonso Muñoz: ¿Qué medir y dónde poner los electrodos?
RootedCon 2016 - Dr. Alfonso Muñoz: ¿Qué medir y dónde poner los electrodos?
El problema está en que al ser unos valores que pueden cambiar con el tiempo (cada 6 meses habría que volver a calibrar o escanear el cerebro otra vez) y en cómo se encuentra en sujeto (muy nervioso, muy relajado, concentrado, etc) tiene ciertas limitaciones que solventar. También he podido apuntar las hondas con las que se trabajan: alfa, beta, gamma y P300. Una pequeña demo de un juego de prueba ha estado muy curiosa:

RootedCon 2016 - Dr. Alfonso Muñoz haciendo una demo con NeuroSky
RootedCon 2016 - Dr. Alfonso Muñoz haciendo una demo con NeuroSky
En la ponencia nos ha mostrado los distintos estudios que ha podido analizar, los resultados que se han encontrado en esos estudios (muchos con personas epilépticas), etc.

Después del último descanso hemos tenido la mesa redonda o RootedPanel:

RootedCon 2016 - RootedPanel 1: Ciberseguridad ofensiva civil y sus participantes
RootedCon 2016 - RootedPanel 1: Ciberseguridad ofensiva civil y sus participantes
Ha tratado de cómo contratar o llevar a cabo la gestión del personal que debería defender (o atacar) en lo que a ciberdefensa se refiere.

Por último, y ya para finalizar el día, Elías Grande nos ha hablado de una herramienta que ha montado que hace footprinting: IPs antiguas (abandonadas) o nuevas ("recien lllegadas") para hacer el análisis. Y poco a poco, según lo que va encontrado, va podando o llenando un árbol con el que se obtienen todos los datos encontrados de la URL o dirección IP que se le pase como parámetro a la herramienta.

Y así es como hemos finalizado la primera jornada de la Rooted 2016. Mañana viernes, vamos a por la segunda, que pinta igual de interesante que esta primera. ¡Hasta mañana!

martes, 16 de febrero de 2016

Windows 10: loop inifinito, 0x800704DD, registro 'system' y otros

He estado tres semenas pegándome con un equipo. Dos para intentar recuperar la actualización de un Windows 7 a Windows 10 y la última en montar todas las actualizaciones de una reinstalación del primero (teniendo en cuenta que no se le ha dedicado todo el día a este trabajo ya que hay que ir a currar).

Lo sé: se quiere evitar a toda costa una reinslación. Yo lo quise hacer y me ha consumido dos semanas de trabajo más a tercera de la reinstalación en sí misma. Si quieres probar estas cosas por si no se te habían ocurrido, adelante.

¡OJO! Estos procesos podrían funcionar... O no. Cualquier operación realizada podría estropear más el sistema. Si decides usar algunas de las acciones aquí explicadas, ya sabes: bajo tu responsabilidad.

Para resumir: me dijeron que no se terminaba la actualización. Probé distintas opciones (las que ofrece al arrancar pulsando F8) y de una u otra forma conseguí que terminara el proceso. Pude entrar en un usuario ya existente, configurarlo... Y la última prueba de todas, la de fuego, reiniciar para ver que todo funcionaba bien. Craso error. Tanto es así que me terminé llevando el equipo para poder trabajar con él tranquilamente.

Lo primero de todo: una imagen dd. Lo más importante son los datos, por lo que con una de éstas puedes trastear con más tranquilidad que si se pierde información o quieres hacer otras pruebas puedas tirar para atrás.

No puedo dar información de todos los errores que tuve y en qué orden estuve luchando contra ellos pero el peor de todos, y la razón por la que me llevé el portátil, es que se reiniciaba constantemente mostrando el mensaje "Preparando reparación Automática" y entrando en el recovery.

Las primeras pruebas de reparación de inicio no funcionaron. Incluso mostraban el resultado en C:\Windows\System32\LogFiles\Srt\SrtTrail.txt (también cabe la posibilidad de que me lo ofreciera en alguno de los arranques. Sé que se me ofreció como fichero de información).

Intenté desactivar en el arranque la recoverymode y que me mostrara el menú de los sistemas para arrancar utilizando bcdedit:

bcdedit /set {default} recoveryenabled no
bcdedit /set {bootmgr} displaybootmenu yes

Al no arrancar el modo de reparación nos llegaba a mostrar el error de que el fichero de registro C:\Windows\System32\config\SYSTEM estaba estropeado,

También probé a usar el comando

sfc /scannow

fallando sin haber finaizado todo el proceso.

Otra prueba que hice fue el checkdisk con alguno de sus parámetros:

chkdsk /f /r /x

En un momento determinado decido intentar montar un soporte externo (DVD / USB) del Windows 10 con el fin de intentar hacer las reparaciones desde esta unidad y de tener un soporte bootable.

También intenté reinstalar los sectores de arranque, entre los tantos que probé:

bootrec /rebuildbcd
Reparticionados con diskpart tampoco me ayudó. Ni volviendo a la anterior versión, ni intentando restaurar el sistema manteniendo los ficheros y programas, o no manteniéndolos...

Total, que después de haber hecho todas estas pruebas no necesariamente en este orden, terminé haciendo lo siguiente: como ya había reparticionado y había eliminado la partición donde vienen los ficheros de instalación al comprar el equipo, pero ya los tenía en la imagen que hice antes de empezarr el trabajo desde casa, monté la imagen, busqué los ficheros, y me encontré con unos que tenían extensión .swm. Es como si tuviéramos un fichero .wim, pero con la diferencia de que éste está dividido en varios. Sólo tuve que guardarlos en un disco externo, borrar los datos de la partición principal, arrancar el sistema con el USB bootable que me monté, y en un cmd lanzar:

dism /Apply-Image /ImgeFile:rutaPrimer.swm /SWMFile:rutaFicherosSWM*.swm /Index:numeroIndice /ApplyDir:C:

Y al esperar un rato y reiniciar, ya me apareció el sistema como si lo hubiera reseteado con su propio software.

Han sido muchas pruebas, muchos "ensayos y errores" muchos quebraderos de cabeza. Y aunque sólo os pongo algunos enlaces aquí abajo, voy a cerrar unas cuantas ventanas con muchas pestañas.


Bajarse ISO Windows 10:
https://www.microsoft.com/es-es/software-download/windows10

SFC /Scannow:
https://answers.microsoft.com/es-es/insider/forum/insider_wintp-insider_repair/windows-10-no-arranca-dice-preparando/88a36e1f-3ce2-4821-825c-31c24b7e0b7b?auth=1

La idea para mostrar el menú de arranque:
http://pocospasos.com/como-iniciar-windows-10-en-modo-seguro/


BCDEdit de Microsoft:
https://msdn.microsoft.com/en-us/library/windows/hardware/ff541231(v=vs.85).aspx

Restaurar sistema:
http://h30467.www3.hp.com/t5/Sistemas-operativos-y-software-para-notebooks/ayuda-mensaje-preparando-reparacion-automatica/td-p/521196

Instalación de imágenes SWM:
https://technet.microsoft.com/en-us/library/hh825258.aspx



lunes, 18 de enero de 2016

Asterisk: Estaba en inglés, ahora en español

En todo el tiempo que llevo con la centralita de Asterisk instalado no le he cambiado los mensajes de sonido del inglés al español de manera definitiva. Lo intenté en una ocasión pero no funcionaba: el sistema dejaba de funcionar. Por lo que volvía otra vez a la configuración inicial.

Voy a volver a probar. Lo primero, es buscar los ficheros de audio. He encontrado varias fuentes:

  • http://www.voipnovatos.es
  • http://www.asterisksounds.org
De hecho, voy a usar la segunda fuente. De esta usaremos los dos ficheros que nos ofrecen: http://www.asterisksounds.org/es-es/download.

Lo primero es saber dónde lo vamos a guardar. Será en una carpeta con el nombre es dentro de /var/lib/asterisk/sounds

mkdir /var/lib/asterisk/sounds/es

Ahí es donde lo vamos a descargar. Como estas descargas son en formato .zip, hay que acordarse de tenerlo instalado. Además, al bajarlo en un Linux, hay que pasarle el parámetro -a que permita al unzip extraerlo acorde al sistema:

unzip -a core.zip
unzip -a extra.zip

Una vez extraído, hay que cambiarle los dueños (tanto el usuario como el grupo) y los permisos de los subdirectorios:

chown -R asterisk.asterisk /var/lib/asterisk/sounds/es
find /var/lib/asterisk/sounds/es -type d -exec chmod 0775 {} \;

En teoría, sólo con esto debería de ser suficiente. Pero como los audios están en formato sln16, y nosotros trabajamos con gsm729ulaw y alaw, hay que reconvertirlos. Según las instrucciones, se puede usar este script, que habrá que guardar en un fichero y asignarle permisos de ejecución:

#!/bin/bash
for a in $(find . -name '*.sln16'); do
  sox -t raw -e signed-integer -b 16 -c 1 -r 16k $a -t gsm -r 8k `echo $a|sed "s/.sln16/.gsm/"`;\
  sox -t raw -e signed-integer -b 16 -c 1 -r 16k $a -t raw -r 8k -e a-law `echo $a|sed "s/.sln16/.alaw/"`;\
  sox -t raw -e signed-integer -b 16 -c 1 -r 16k $a -t raw -r 8k -e mu-law `echo $a|sed "s/.sln16/.ulaw/"`;\
done

Ojo, que le costará hacerlo un tiempecillo. Además, os habréis fijado que falta la conversión de uno de los formatos indicados: g729. Al ser un formato propietario, hay que hacerlo de otra forma. Aunque lo he intentado hacer, no lo he conseguido. Y aún así no lo estaba usando. De todas formas, si quieres probar, el comando sería:

asterisk -rx "file convert fichero.wav fichero.g729"

La siguiente acción es indicarle al sistema que utilice estos audios. Si se busca en Internet encontraremos que nos indican que se configura en el menú Settings --> Asterisk Sip Settings. Pero ya no está ahí. Al menos, en la versión 13. Tendremos que utilizar el módulo Sound Languages

Módulo Sound languages en FreePBX - Sección global
Módulo Sound languages en FreePBX - Sección global
Hay dos opciones: indicarle que se descargue distintos paquetes de idiomas. Si os preguntáis por qué descargarlos... No lo sé. Cogí los de español también porque no conseguí que sonasen los descargados antes:

Módulo Sound languages en FreePBX - Language packs
Módulo Sound languages en FreePBX - Language packs
Nos descargaremos los idiomas que nos hagan falta y para os codecs que tengamos configurados. Aún así, en español no tenemos el paquete extras. 

Y, por último, la sección custom languages, que es la que nos permite indicarle los paquetes con los que empezamos este post

Módulo Sound languages en FreePBX - Custom languages
Módulo Sound languages en FreePBX - Custom languages
Como se puede apreciar esta es la última configuración que he utilizado. Como he encontrado en alguna documentación que alguien tuInstavo ejecutar el comando 

amportal restart

Aunque es el que he ejecutado, recordemos que está deprecated. Habría que usar fwconsole

Espero que os sirva y sea de utilidad. Si tenéis alguna otra forma de hacer esta configuración, bienvenida sea.

De todas formas, si tenéis dudas, también podéis ver los enlaces de donde he conseguido los audios y parte de las instrucciones que he intentado seguir:


lunes, 11 de enero de 2016

RasPBX: De Asterisk 11 a Asterisk 13

Hoy voy a escribir un post muy rápido. Como voy a hacer una serie de ajustes a mi centralita a la que la versión de Asterisk podría afectar, he decidido actualizarla. Eso sí, no sin antes hacer los backups que creí necesarios: si sigues estas instrucciones, hazlo bajo tu responsabilidad.

Lo primero de todo: por defecto al instalar RasPBX viene con Asterisk 11. Pero existe la posibilidad de actualizar a Asterisk 13. Lo primero que se hace es buscar en la documentación de FreePBX. Y dicen que se lance el script:

asterisk-version-switch

Pero no hay forma de detectarlo. Según explican, si la distribución instalada fuera 100 % FreePBX debería de existir. Pero, parece ser que al ser un port para ARM éste no se encuentra. Por lo que toca buscar en la documentación, que, por cierto, está algo desactualizada. Indican que hay que ejecutar una serie de comandos, que serían los siguientes:

raspbx-upgrade
apt-get update
amportal stop
apt-get purge asterisk11
apt-get install asterisk13
amportal start
Pero, amportal ya no "existe". Ahora, hay que usar fwconsole, que, fundamentalmente es cambiar el nombre del comando y alguna detalle más.

raspbx-upgrade
apt-get update
fwconsole stop
apt-get purge asterisk11
apt-get install asterisk13
fwconsole start
Y así ya lo tendríamos actualizado. Los siguientes pasos ya son las configuraciones que nos mejoren la nueva versión.


lunes, 4 de enero de 2016

Raspberry pi 2 B en Tele sin HDMI

Recientemente me he comprado una raspberry pi 2 B. En este nuevo caso es un juguetito para mi tele. Sólo hay que tener en cuenta una cosa: si bien no es cabezona (como se las llama a las antiguas) no cuenta con HDMI. 

Hay que tener en cuenta las posibilidades que tengo y que trae este cacharro. Descartando el HDMI, tiene otra opción. Lo llaman de diversas formas: TRRS(EN), 3.5mm Audio/Video Jack,  cable iPod... y visualmente es el típico conector de cascos de 3,5 mm. Estos conectores suelen tener unas franjas negras. Esas franjas negras definen qué se va a enviar a cada cable: 

  • si tiene 1 franja negra (luego, 2 secciones): es audio mono
  • si tiene 2 franjas negras (luego, 3 secciones): es audio estéreo
  • si tiene 3 franjas negras (luego, 4 secciones [importante]): es audio (estéreo) y vídeo. 

Perfecto. Luego, vamos a necesitar un cable como el último: un cable cuyo conector tenga las 4 secciones. Pero: ¿qué son cada una de las secciones? 

  • 2 secciones: audio. Cada una de ellas pertenecerá a cada uno de los lados: izquierdo y derecho.
  • 1 sección vídeo.
  • 1 sección: toma de tierra o ground.

"Perfecto. Me compro un cable que tenga ese conector, con las 4 secciones y ya lo tengo. "

Me temo que no va a ser tan fácil. El problema está en que cada una de ellas tiene que estar en una posición determinada. En caso contrario, no vamos a poder usar ese cable. Me preguntaréis: 

"Entonces,  ¿qué posiciones debe de tener?"

O, a lo mejor os estáis diciendo 

"no puedo ver la tele con la rasp"

porque no tenéis HDMI u os estáis encontrando con problemas a la hora de usar el jack. Veámoslo con la siguiente foto de un cable que no sirve:

Cable 3,5 mm audio/vídeo erroneo
Cable 3,5 mm audio/vídeo erroneo

Lo importante es comprobar que una sección determinada se encuentre donde debe. Sobretodo el vídeo y la toma de tierra (GND). Como se puede ver, este cable se corresponde con la descripción. Pero, internamente está construido de una forma incompatible con el que necesitamos. En el cable mostrado se encuentra en la segunda sección por la derecha y debería de estar en la segunda por la izquierda tal y como indican en la siguiente imagen, obtenida de la página oficial(EN):

Secciones conectores 3,5 mm audio/video jack
Secciones conectores 3,5 mm audio/video jack: Fuente oficial

¿Y cómo sé si el cable que acabo de comprar es compatible? Tendrás que usar un polímetro (también conocido como voltimetro). 

Polimetro o voltimetro
Polimetro o voltimetro

Con uno tan básico como el que se muestra te debería de servir. Lo configurarás para comprobar las resistencias (en mi caso, girando la rosca hasta "la una"). Una vez configurado, cogerás uno de los terminales (por ejemplo, el rojo) y lo llevarás uno de los jacks (por poner un ejemplo, también el rojo). El otro terminal (el negro) lo irás situando en cada una de las secciones hasta que la aguja se mueva. En cuanto lo haga, sabrás que esa sección se corresponde con ese jack. Así, podrás ir comprobando una a una todas las secciones hasta que tengas definido a qué jack pertenece cada sección. Sabiendo que cada sección tiene su función, sabrás dónde deberá de ir ese jack. Te podrás encontrar con un jack rojo que en vez de ser audio sea vídeo, siendo el de audio el amarillo. Incluso, que el audio cuyo color suele ser el izquierdo ahora sea el derecho. 

Si queremos resumir esta parte: no tener en cuenta los colores sino qué conector eléctricamente hablando se corresponde con la función esperada para la rasp

Tal y como os dije, el cable de arriba no es correcto, por lo que ha tocado buscar otro que sí que se corresponde con la configuración esperada. 

¡¡Estupendo!! Ahora que ya sabemos que el cable es el adecuado , tenemos que configurar el sistema para que funcione con la salida de televisión con formato PAL, que es el que tenemos aquí en España. Dando por hecho que tenemos la imagen transferida a la tarjeta (tal y como hicimos en este otro sistema) tendremos que hacer, como mínimo, un cambio. 

Abramos el fichero que se llama config.txt. Dentro hay una sección que está comentada: sdtv_mode. Para que funcione en un televisor PAL tiene que estar igualado a 2.

sdtv_mode=2

A partir de aquí, ya deberíamos de poder ver sin ningún problema cómo arranca el sistema y su escritorio (o consola, según corresponda). Aunque existen más configuraciones para indicar qué formato queremos (4:3, 16:9, 14:9) no las tocamos. 

Y ya está. Espero que os sea de utilidad. Y si tenéis algún problema más, avisad. A ver si os podemos ayudar.

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).