Archivos en la categoría 'Linux'

ZTE680 Hardware V4.0 (V2?) Hack

Domingo, Agosto 20th, 2017

I just got recently installed my first FTTH router (pepephone, but same model is used in masmovil and jazztel) and as any network engineer I wanted to have full access to the router. Looking over the vast internet I found a blogpost that used a USB with a symlink to smb.conf so it can be edited to add exec parameters to execute an downloaded busybox to open an alternative telnetd but the article had a big problem that make it imposible to work on my router: the F680 of the article has an ARM architecture. My router has MIPS instead. This is important to know beforehand if using external-downloaded busybox binaries. In the end I skipped the busybox hack to directly allow admin telnet connection instead the buggy limited one. This is how I did it, I will assume that router has IP address 192.168.1.1.

(más…)

Editando una imagen initrd a pelo

Martes, Septiembre 28th, 2010

En realidad es muy sencillo y generalmente conocido comprimir y descomprimir un árbol de archivos para editar por ejemplo las opciones del arranque del init y demás, esta entrada es mas a titulo personal para recordarlo en un futuro. Para descomprimir:

cp initrd.img initrd.gz
gunzip < initrd.img | cpio -i –make-directories

y para comprimir:

find ./ | cpio -H newc -o > initrd.cpio
gzip initrd.cpio
mv initrd.cpio.gz initrd.img

Así de sencillo!

Esconder usuario y contraseña, cifs mount

Jueves, Junio 25th, 2009

La verdad es que es un tema un poco tonto pero que me ha dado bastante guerra. La historia era añadir en el /etc/fstab un dispositivo de red compartido por samba de forma que se auto-montase, pero tanto smbfs como cifs necesitan como parámetros de montaje el usuario y la contraseña:

# mount -t cifs //machine/share /mnt/share -o username=blah,password=blah

Con el consecuente problema de que cualquier usuario que ejecute la instrucción mount verá las opciones de montaje, incluyendo el usuario y contraseña del recurso compartido que se ha montado.

La solución a esto es de sobra conocida. En lugar de pasarse como parámetros el usuario y contraseña se pasa la opción credentials=/path/to/file en donde estarán el usuario y la contraseña, legibles solo por root (no hay que olvidarse del chmod):

# mount -t cifs //machine/share /mnt/share -o credentials=/etc/share_credentials
# cat /etc/share_credentials
username=blah
password=bla

Hasta aqui correcto, información que se puede encontrar en cualquier parte. El problema vino cuando al intentar montarlo usando credentials me denegaba el montaje y me decía que mirase dmesg | tail, en donde aparecía esto:

CIFS VFS: No username specified
CIFS VFS: cifs_mount failed w/return code = -22

Era como si la opción credentials no existiese o no funcionase. Al final después de mucho buscar me di cuenta de que no tenía mount.cifs y que solo necesitaba ese helper de mount para que funcionase correctamente:

# emerge mount-cifs

Y problema solucionado. Lo sé, es una tontería, pero esta es de esas tonterías que joden hasta que das con la solución tonta por lo que me lo anoto para el futuro.

MMC Module for OpenWrt 2.6.19.1

Sábado, Abril 25th, 2009

Recientemente he puesto un lector de tarjetas SD a una de mis foneras y a la hora de buscar el módulo del kernel que lo hace funcionar no lo encontraba mas que para la versión 2.6.19.2 del kernel, siendo la de mi OpenWrt 2.6.19.1, por lo que me tuve que compilar el módulo.

Pese a que no es difícil compilarlo, sí que requiere tiempo, espacio y paciencia, así que aqui cuelgo el paquete para ipkg del módulo compilado para 2.6.19.1 MIPS 32bits, junto a un script de inicio en /etc/init.d.

Red WiFi Segura con Gentoo: WPA + MSCHAP-EAP-TLS + RADIUS + MySQL

Miércoles, Abril 15th, 2009

Update: Recientemente he creado esta aplicación web para gestionar los usuarios WiFi de la base de datos en MySQL.

El objetivo de este artículo es que al final hayamos configurado un acceso seguro a la red WiFi a través de algo tan sencillo como un usuario y una contraseña. Eston son los elementos que tomarán parte:

  • WPA: Es el método de acceso que se ha de configurar en el AP (Punto de Acceso).
  • TLS: Será nuestro método de cifrado de la información que circule a través de la WiFi.
  • MSCHAP: Utilizaremos la implementación de Microsoft del protocolo CHAP para la autenticación por ser el mas extendido.
  • RADIUS: Instalaremos un servidor RADIUS que soporte TLS, CHAP y utilice como base de datos MySQL para autenticar a nuestros usuarios.
  • MySQL: Será utilizado principalmente para almacenar usuarios y contraseñas.

Se toma como punto de partida que tenemos un Sistema Operativo instalado junto a un servidor MySQL. Este manual está principalmente orientado a Gentoo, aunque puede utilizarse como punto de referencia para otras distribuciones GNU/Linux.

(más…)