Recuperar un disco corrupto

Un par de comandos útiles para recuperar datos de un disco problemático. Para copiar el disco, mostrando una barra de progeso: dd if=/dev/sda | pv | dd of=/dev/sdb conv=noerror,sync Lanzamos ddrescue: ddrescue -d -r3 /dev/sda /dev/sdb output.log

January 30, 2018 · 1 min · 37 palabras · Nacho Cano

Abrir archivos .tec en GNU/Linux

Haciendo una copia de seguridad de los datos de un móvil con Android ICS, he visto que existe un directorio llamado cache en el mismo directorio donde se guardan las fotos, /sdcard/DCIM/Camera, que contiene archivos cuya extensión es .tec. Echando un vistazo al contenido de estos archivos con hexer, parece ser que se trata de un archivo JFIF: 00000000: ff d9 66 b3 00 00 ff d8 ff e0 00 10 4a 46 49 46 ..f.........JFIF 00000010: 00 01 01 00 00 01 00 01 00 00 ff db 00 43 00 05 .............C.. 00000020: 03 04 04 04 03 05 04 04 04 05 05 05 06 07 0c 08 ................ Por el nombre del directorio y por el tamaño de las fotos, menos de 100K, parece que deben ser imágenes en miniatura. ...

June 23, 2012 · 2 min · 321 palabras · Nacho Cano

Arch en Raspberry Pi

Después de haber estado usando la Raspberry Pi con Debian, he querido probar otras distribuciones, en este caso Arch. Desde la página de descargas, nos bajamos el torrent, así no sobrecargamos el servidor. Crear una copia de la tarjeta SD He estado unos días trasteando con Debian, ya sabéis, modificando la tabla de particiones para utilizar todo el espacio disponible, instalando paquetes, configurándola a mi gusto, no mucho, pero si ahora formateo la tarjeta, es un trabajo perdido. No sólo eso, sino que no descarto tener que repetirlo de nuevo si posteriormente vuelvo a debian. Puede que al final me quede con Arch, pero me apetece probar alguna distribución más, como Raspbmc o PwnPi, así que me interesa guardar una copia de la tarjeta. Quizá sería mejor opción crear una máquina virtual con qemu para probar otras distribuciones, o utilizar tarjetas SD diferentes, pero dado lo sencillo que es hacer la copia esto será lo primero que haga. ...

June 22, 2012 · 7 min · 1400 palabras · Nacho Cano

Cifrar una partición o un disco duro externo

Tenemos un disco duro externo y queremos cifrarlo. El comando cryptsetup, que se encuentra en los repositorios, hace uso de DM-Crypt, que es la parte del kernel que se encarga del cifrado de discos, y LUKS, un estándar independiente de la plataforma y del software para acceder a volúmenes cifrados. Requisitos El primer paso, después de instalar el comando, es tener claro qué dispositivo es nuestro disco duro. Un vistazo mediante fdisk debería ser suficiente. Además, si está montado, lo desmontamos. ...

July 8, 2011 · 3 min · 628 palabras · Nacho Cano

Sonido a través de SSH

Si tenemos acceso por ssh a otro ordenador, ambos con micrófono y altavoces, podemos redirigir el sonido en ambos sentidos, es decir, podemos conseguir cosas como: que lo que capta nuestro micrófono se escuche en los altavoces del otro ordenador y [viceversa][] que lo que se escribe en un ordenador se escuche en el otro y [viceversa][1] que el contenido de un fichero de texto se oiga en los altavoces remotos y [viceversa][1] que un archivo de audio se escuche en los altavoces remotos y [viceversa][2] que el audio de un archivo de vídeo se escuche en los altavoces remotos y [viceversa][3] Dispositivos de sonido en Ubuntu Maverick Meerkat Uno de los cambios de Ubuntu Maverick Meerkat (10.10) fue la desaparición del dispositivo /dev/dsp y otros, como /dev/mixer, /dev/sndstat y /dev/audio, al utilizar la interfaz ALSA en detrimento de la OSS API. ...

May 5, 2011 · 4 min · 694 palabras · Nacho Cano

USB Dumping

El USB Dumping consiste en copiar el contenido de un USB introducido en un ordenador, sin que la víctima se entere. En Ubuntu, podemos conseguir que se ejecute el script que llevará a cabo el robo de información, cuando se conecte un dispositivo USB. Para ello, deberemos crear alguna regla de udev. udev y sysfs udev se encarga de crear los nodos en /dev para los dispositivos presentes en el sistema. Para ello, se basa en la información prorcionada por sysfs y una serie de reglas proporcionadas por el usuario. sysfs devuelve información de los dispositivos conectados al sistema, y udev lo utiliza para crear los nodos /dev. ...

October 27, 2010 · 5 min · 895 palabras · Nacho Cano

Recuperando archivos del USB

Tengo la mala costumbre de borrar archivos utilizando la combinación shift+del, para borrarlos directamente sin pasar por la papelera. Llegará el momento en que borre algo que no debería o algo que necesitaré más tarde. Si esto sucediese, lo mejor podría ser: Desmontar el USB para evitar males mayores $ sudo umount /media/miusb # 'miusb' es el nombre del volumen del USB Hacer una copia del USB con dd $ dd if=/dev/sdb1 of=/tmp/miusb.dd # sdb1 es la unidad donde se monta el USB Podemos listar los archivos borrados con ils $ ils -r /tmp/miusb.dd class|host|device|start_time ils|anacreonte||1288172460 st_ino|st_alloc|st_uid|st_gid|st_mtime|st_atime|st_ctime|st_crtime|st_mode|st_nlink|st_size 8|f|0|0|1263329350|1265842800|0|1263329350|777|0|33076 12|f|0|0|1265738134|1288130400|0|1265738134|777|0|31609 14|f|0|0|1263325690|1288130400|0|1263325690|777|0|28946 16|f|0|0|1263326438|1288130400|0|1263326438|777|0|2305751 19|f|0|0|1263327386|1288130400|0|1263327386|777|0|91028 Creamos un directorio para tener todos los archivos que se puedan recuperar $ mkdir /tmp/miusb_tmp Recuperamos los archivos con icat $ for i in $(ils -r /tmp/miusb.dd | awk '{print $1}' FS="|" | sed 1,3d); do icat -r /tmp/miusb.dd $i > /tmp/miusb_tmp/$i echo $i done Comprobamos el tipo de archivos recuperados $ file /tmp/miusb_tmp/* 8: OpenDocument Text 12: PDF document, version 1.2 14: PDF document, version 1.3 16: PDF document, version 1.4 19: PDF document, version 1.2 ils y icat vienen incluidos en el paquete sleuthkit, que se encuentra en los repositorios. También existe autopsy, que es una interfaz web para sleuthkit.

October 27, 2010 · 1 min · 204 palabras · Nacho Cano

Random Bash

“Los números aleatorios no deberían ser generados por un método elegido aleatoriamente”. Donald E. Knuth En Bash, podemos obtener números enteros aleatorios: $ echo $RANDOM 20684 Cada vez que se referencia el parámetro RANDOM, éste devuelve un valor entre 0 y 32767, es decir, 2^15^-1. Podemos inicializar la secuencia de números aleatorios asignando un valor a RANDOM. Debemos tener en cuenta que si le asignamos un valor vacío a RANDOM se pierden sus propiedades especiales, aunque después lo inicialicemos. ...

September 25, 2010 · 6 min · 1192 palabras · Nacho Cano