Archivo de la etiqueta: AppleTV

HOWTO: Instalar Asterisk en el AppleTV

Por fín!! Ya tenía yo ganas, pero por falta de tiempo no había podido hacerlo antes, pero hoy ha sido el día y he podido instalar Asterisk en el AppleTV! 😉

Lo primero que necesitamos es un Mac Intel (o uno virtualizado ;)) y el Xcode, que se puede bajar de aquí (ojo, que es casi 1GB!). Una vez hecho esto, podemos descargar y compilar Asterisk con normalidad:

./configure
make menuselect
make
make install

Una vez tenemos Asterisk instalado, probamos que funciona correctamente ejecutanto:

asterisk -vvvvvvvvvvvvvvvvvvvvc

Si todo ha ido correctamente, ya estamos listos para transferir Asterisk al AppleTV, y para ello lo comprimimos:

sudo tar -czvf asterisk1.4.3.tar.gz \
/var/lib/asterisk \
/var/spool/asterisk \
/var/log/asterisk \
/usr/lib/asterisk \
/usr/sbin/asterisk \
/usr/sbin/astgenkey \
/etc/asterisk \

Ahora entramos en el AppleTV por SSH y ejecutar lo siguiente para copiar el fichero por SCP:

sudo scp usuario@ip_donde_tengamos_asterisk:/asterisk1.4.3.tar.gz /

Una vez lo tenemos copiado:

cd /

sudo tar -zxvf asterisk1.4.3.tar.gz

Y listo!! Para probarlo ejecutamos:

sudo asterisk -vvvvvvvvvvvvvvvvvvvvvvvvc

A disfrutar!! 😉

Por si no podéis compilar Asterisk, aquí os dejo un fichero con Asterisk 1.4.3 compilado: http://saghul.net/blog/downloads/appletv/asterisk1.4.3.tar.gz No tiene los sonidos (para ahorrar tamaño) y no he compilado el GUI porque evoluciona muy deprisa, lo compilaré cuando salga la versión final.

asterisk-appletv.jpg

AppleTV: Instalando binarios importantes (vi, nano, gzip)

De cara a trabajar mas comodamente con el AppleTV, vamos a instalar el Vi, el Nano y el GZip, que “tomaremos prestados” de un MacOSX (Intel) y los copiaremos al AppleTV.

Los podemos copiar por scp o conectando el disco duro por USB…

Una vez tengamos los archivos en el disco duro, los movemos a /usr/bin y les damos permiso de ejcucion con:

chmod +x vi
chmod +x nano
chmod +x gzip

Por si no teneis acceso a un Mac Intel y no os apetece demasiado virtualizarlo, podeis bajaros los binarios de aqui: http://saghul.net/blog/downloads/appletv/binarios.tar.gz

AppleTV: Deshabilitando protecciones: Watchdog y sistema de ficheros en lectura/escritura

Este es mi siguiente paso con el AppleTV: hay que habilitar la lectura y escritura (permanente) en el sistema de ficheros y deshabilitar el Watchdog, que se encarga de supervisar la integridad del AppleTV, así que si esta funcionando, no le podrmos “meter mano”.

Lo primero es preparar el AppleTV para que siempre tenga habilitada la lectura/escritura en su sistema de ficheros, y para ello ejecutamos:

sudo mount -o rw,remount /dev/disk0s3 /

Con esto tendremos habilitada la escritura, pero solo de manera temporal, si reiniciamos la perdemos. Para solucionarlo:

sudo touch /Volumes/OSBoot/.readwrite

Ya esta! 🙂 ya tenemos habilitada la escritura permanente.

Ahora deshabilitaremos el Watchdog, y ejecutamos:

mkdir /etc/mach_init.disabled
mv /etc/mach_init.d/ripstop.plist /etc/mach_init.disabled

Reiniciamos con:

sudo shutdown -r now

Y al arrancar ejecutamos:

kextunload -b com.apple.driver.AppleTCOWatchdog

Esto hay que ejecutarlo cada vez que se reinicie el AppleTV, yo he intentado poner unscript en /etc/rc.local pero no me deja escribir ahí…

Pues ya esta! Ya tenemos el AppleTV desprotegido y listo para enredar con el! 😉

AppleTV: Instalando SSH

El no tener un Mac Intel no es problema para instalar SSH y comenzar a hackear al AppleTV, así que vamos a ello!! Necesitaremos lo siguiente:

  • El binario de sshd, descargadlo de aqui.
  • El programa Macdrive para windows, para poder leer las particiones del HD. Con la trial vale y la teneis aqui.
  • Una caja para conectar el disco duro de 2,5″ al puerto USB.

Ahora, haremos lo siguiente:

  1. Extraemos el fichero sshd del archivo comprimido que nos habiamos bajado y lo copiamos a OSBoot/usr/sbin/
  2. Creamos el fichero OSBoot/System/Library/LaunchDaemons/ssh.plist y copiamos el contenido de aqui.

Para conectar con el AppleTV ejecutamos:

ssh -1 frontrow@ip_del_appletv

La clave es ‘frontrow’, y el uno que ponemos es porque de momento usaremos la versión 1 del protocolo SSH.

Activando SSHv2

  • Montamos la particion para lectura y escritura:
    sudo mount -o rw,remount /dev/disk0s3 /
  • Generamos la clave rsa sin passphrase:
    sudo ssh-keygen -t rsa -f /etc/ssh_host_rsa_key
  • Generamos la clave dsa:
    sudo ssh-keygen -t dsa -f /etc/ssh_host_dsa_key
  • Generamos la clave rsa1:
    sudo ssh-keygen -t rsa1 -f /etc/ssh_host_key
  • Montamos la particion en modo solo lectura:
    sudo mount -o ro,remount /dev/disk0s3 /

Ahora ya podemos entrar por SSHv2! 😉

-bash-2.05b$ uname -a
Darwin AppleTV.local 8.8.2 Darwin Kernel Version 8.8.2: Mon Jan 29 18:57:29 PST 2007; root:xnu-792.94.18~1/RELEASE_I386 i386 i386
-bash-2.05b$

AppleTV: Backup del disco duro

Antes de comenzar a hacer nada, se recomienda hacer un backup del disco duro, más que nada por si nos cargamos algo… 😉 Para ello necesitamos la caja para discos duros de 2,5″ que mencioné en el anterior post, y un ordenador con GNU/LInux, para utilizar la aplicación dd. Conectamos el disco duro al PC:

p1000129.JPG

Una vez el disco duro esta conectado, y suponiendo que el sistema lo ha detectado como sdb (consultad dmesg para ver como os lo ha detectado), ejecutaremos lo siguiente para hacer la copia de seguridad comprimida:

dd if=/dev/sdb bs=1024 | gzip > appletv.img.gz

Este proceso tardará bastante, dependiendo de vuestro PC, pero os creará una imagen del disco de 40GB de apenas 2,4GB!!

PD: El mío esta en ello, a ver si acaba ya para instalarle SSH… 😉

AppleTV: Que empiece la fiesta!! A desmontar!!

Bueno, tras una semana con el AppleTV sin tocar 🙁 hoy por fín he podido meterle mano y empezar con el tema. Let’s hack AppleTV!! Para hackear el AppleTV lo primero que necesitamos es activarle el SSH, para poder realizar modificaciones de manera remota. Para hacer “casi” cualquier cosa con el AppleTV se recomienda hacerlo desde un Mac Intel, pero como yo todavía (algún día espero tenerlo) no tengo uno, haré todo desde GNU/Linux o Windows.

Lo primero es que si no tienes un Mac Intel y si lo tienes pero no quieres comerte la cabeza, tienes que desmontar el AppleTV. Duele eh? Para ello utilizaremos un destornillador TORX nº10 y otro TORX nº8 además de una caja para discos duros de 2,5″ para conectar el HD al PC. Lo primero es retirar la goma de las esquinas de la base del AppleTV y soltar los tornillos del 10. Una vez hecho esto, podremos ver “las tripas” del AppleTV!

p1000124.JPG

p1000125.JPG

p1000126.JPG

p1000127.JPG

Una vez podemos ver “las tripas” del AppleTV, pelamos la goma hasta la mitas, y veremos los 4 tornillos TORX del 8, que sujetan el disco duro y los retiramos. Ya tenemos el disco duro!

p1000128.JPG