Páginas

sábado, 24 de diciembre de 2011

Ejecutar una version de busybox mas avanzada en router Homestation ADB P.DG A4001N y hacer un backup del firmware

Lo primero de todo hay que indicar que no estoy al 100% seguro de que con este procedimiento se realize un backup correcto del firmware del router, pero que mienstras no se demuestre lo contrario... es valido.

Lo segundo es, que toquetear un router y jugar con su firmware sin saber lo que se hace puede provocar que el router se estropee, y el autor de este texto no se hace responsable de nada. Este blog, de hecho, se ha realizado para que el autor pueda tener siempre a mano algunas notas que le interesan por motivos personales en cualquier parte del mundo, y que no le importa compartir con mas gente. Por este motivo no se hace responsable de los estropicios causados por usar las entradas de este blog.

El procedimiento para ejecutar la version 1.19 de busybox mas avanzada que la que lleva el router Homestation ADB P.DG A4001N es la que sigue:

Descargar la version busybox de aqui, y la guardaremos en un pendrive.
Conectaremos el pendrive al router Homestation y obtendremos acceso root tal y como se explica en esta entrada. Una vez obtenido el acceso en modo root ejecutaremos lo siguiente:

# dmesg
..

sb-storage: device found at 2
usb-storage: waiting for device to settle before scanning
scsi 0:0:0:0: Direct-Access     Generic  USB Flash Disk   2.00 PQ: 0 ANSI: 2
usb-storage: device scan complete
ready
sd 0:0:0:0: [sda] 2047488 512-byte hardware sectors: (1.04 GB/999 MiB)
sd 0:0:0:0: [sda] Write Protect is off
sd 0:0:0:0: [sda] Mode Sense: 03 00 00 00
sd 0:0:0:0: [sda] Assuming drive cache: write through
sd 0:0:0:0: [sda] Assuming drive cache: write through
 sda:
sd 0:0:0:0: [sda] Attached SCSI removable disk



# mkdir /tmp/p
# mount /dev/sda /tmp/p
# cd /tmp/p
# ls
busybox-mips

# ./busybox-mips
BusyBox v1.19.0 (2011-08-14 23:54:39 CDT) multi-call binary.
Copyright (C) 1998-2011 Erik Andersen, Rob Landley, Denys Vlasenko
and others. Licensed under GPLv2.
See source distribution for full notice.

Usage: busybox [function] [arguments]...
   or: busybox --list[-full]
   or: function [arguments]...

BusyBox is a multi-call binary that combines many common Unix
utilities into a single executable.  Most people will create a
link to busybox for each function they wish to use and BusyBox
will act like whatever it was invoked as.

Currently defined functions:
[, [[, acpid, add-shell, addgroup, adduser, adjtimex, arp, arping, ash,
awk, base64, basename, beep, blkid, blockdev, bootchartd, brctl,
bunzip2, bzcat, bzip2, cal, cat, catv, chat, chattr, chgrp, chmod,
chown, chpasswd, chpst, chroot, chrt, chvt, cksum, clear, cmp, comm,
cp, cpio, crond, crontab, cryptpw, cttyhack, cut, date, dc, dd,
deallocvt, delgroup, deluser, depmod, devmem, df, dhcprelay, diff,
dirname, dmesg, dnsd, dnsdomainname, dos2unix, du, dumpkmap,
dumpleases, echo, ed, egrep, eject, env, envdir, envuidgid, ether-wake,
expand, expr, fakeidentd, false, fbset, fbsplash, fdflush, fdformat,
fdisk, fgconsole, fgrep, find, findfs, flock, fold, free, freeramdisk,
fsck, fsck.minix, fsync, ftpd, ftpget, ftpput, fuser, getopt, getty,
grep, groups, gunzip, gzip, halt, hd, hdparm, head, hexdump, hostid,
hostname, httpd, hush, hwclock, id, ifconfig, ifdown, ifenslave,
ifplugd, ifup, inetd, init, insmod, install, ionice, iostat, ip,
ipaddr, ipcalc, ipcrm, ipcs, iplink, iproute, iprule, iptunnel,
kbd_mode, kill, killall, killall5, klogd, last, less, linux32, linux64,
linuxrc, ln, loadfont, loadkmap, logger, login, logname, logread,
losetup, lpd, lpq, lpr, ls, lsattr, lsmod, lspci, lsusb, lzcat, lzma,
lzop, lzopcat, makedevs, makemime, man, md5sum, mdev, mesg, microcom,
mkdir, mkdosfs, mke2fs, mkfifo, mkfs.ext2, mkfs.minix, mkfs.vfat,
mknod, mkpasswd, mkswap, mktemp, modinfo, modprobe, more, mount,
mountpoint, mpstat, mt, mv, nameif, nbd-client, nc, netstat, nice,
nmeter, nohup, nslookup, ntpd, od, openvt, passwd, patch, pgrep, pidof,
ping, ping6, pipe_progress, pivot_root, pkill, pmap, popmaildir,
poweroff, powertop, printenv, printf, ps, pscan, pstree, pwd, pwdx,
raidautorun, rdate, rdev, readahead, readlink, readprofile, realpath,
reboot, reformime, remove-shell, renice, reset, resize, rev, rm, rmdir,
rmmod, route, rpm, rpm2cpio, rtcwake, run-parts, runlevel, runsv,
runsvdir, rx, script, scriptreplay, sed, sendmail, seq, setarch,
setconsole, setfont, setkeycodes, setlogcons, setserial, setsid,
setuidgid, sh, sha1sum, sha256sum, sha512sum, showkey, slattach, sleep,
smemcap, softlimit, sort, split, start-stop-daemon, stat, strings,
stty, su, sulogin, sum, sv, svlogd, swapoff, swapon, switch_root, sync,
sysctl, syslogd, tac, tail, tar, tcpsvd, tee, telnet, telnetd, test,
tftp, tftpd, time, timeout, top, touch, tr, traceroute, traceroute6,
true, tty, ttysize, tunctl, ubiattach, ubidetach, ubimkvol, ubirmvol,
ubirsvol, ubiupdatevol, udhcpc, udhcpd, udpsvd, umount, uname,
unexpand, uniq, unix2dos, unlzma, unlzop, unxz, unzip, uptime, users,
usleep, uudecode, uuencode, vconfig, vi, vlock, volname, wall, watch,
watchdog, wc, wget, which, who, whoami, whois, xargs, xz, xzcat, yes,
zcat, zcip

#



Ahora ya estamos en disposicion de poder hacer un backup del firmware del router, para lo cual usaremos la version de busybox que tenemos en el pendrive y comando dd:


# ls -l /dev/mt*
crw-r--r--    1 1234     root      90,   0 Jul  4 19:51 /dev/mtd0
crw-r--r--    1 1234     root      90,   2 Jul  4 19:51 /dev/mtd1
brw-r--r--    1 1234     root      31,   0 Jul  4 19:51 /dev/mtdblock0
brw-r--r--    1 1234     root      31,   1 Jul  4 19:51 /dev/mtdblock1
brw-r--r--    1 1234     root      31,   2 Jul  4 19:51 /dev/mtdblock2
brw-r--r--    1 1234     root      31,   3 Jul  4 19:51 /dev/mtdblock3
brw-r--r--    1 1234     root      31,   4 Jul  4 19:51 /dev/mtdblock4
brw-r--r--    1 1234     root      31,   5 Jul  4 19:51 /dev/mtdblock5
brw-r--r--    1 1234     root      31,   6 Jul  4 19:51 /dev/mtdblock6
brw-r--r--    1 1234     root      31,   7 Jul  4 19:51 /dev/mtdblock7

Comando para realizar el backup:

# ./busybox-mips dd if=/dev/mtdblock0 of=mtdblock0.bin
11224+0 records in
11224+0 records out
5746688 bytes (5.5MB) copied, 3.679483 seconds, 1.5MB/s


# ls -l
-rwxr-xr-x    1 1234     root      1694608 Jul  4 20:03 busybox-mips
-rwxr-xr-x    1 1234     root      5746688 Jul  4 20:08 mtdblock0.bin


El archivo que se ha creado llamado mtdblock0.bin es el backup del firmware de nuestro router (pendiente de confirmar)


Recopilatorio de entradas tratando este tema aqui

martes, 20 de diciembre de 2011

Obtener acceso root en modem adsl Homestation ADB P.DG A4001N

Para conseguir acceso root en los nuevos modems adsl que entrega telefonica/movistar, realizaremos una conexion telnet a nuestro router con nuestro usuario y password, una vez realizada escribiremos sh y alehop! ya habremos conseguido el acceso como root.

A continuacion se muestra el log de dicha operacion

agente47@47laptop:~$ telnet 192.168.1.1
Trying 192.168.1.1...
Connected to 192.168.1.1.
Escape character is '^]'.
BCM96328 Broadband Router
Login: 1234
Password:
 > help
?
help
logout
exit
quit
reboot
adsl
xdslctl
xtm
brctl
cat
loglevel
logdest
virtualserver
ddns
df
dumpcfg
dumpmdm
meminfo
ledctl
setmacaddress
factorywlup
clearsyslog
psp
kill
dnsproxy
syslog
echo
ifconfig
ping
ps
pwd
sntp
sysinfo
tftp
wlctl
wifi
arp
defaultgateway
dhcpserver
dns
lan
lanhosts
passwd
ppp
restoredefault
route
save
swversion
cfgupdate
swupdate
exitOnIdle
wan
factory
getdeviceinfo
getmdm
getusbdevices
 > sh

(notese que el comando sh no esta en la ayuda de telnet. ¿¿Error de firmware o puerta trasera??)

BusyBox v1.00 (2011.07.04-19:36+0000) Built-in shell (ash)
Enter 'help' for a list of built-in commands.

# ls
bin      dev      lib      mnt      sbin     tmp      var
data     etc      linuxrc  proc     sys      usr      webs
#

Recopilatorio de entradas tratando este tema aqui

miércoles, 7 de diciembre de 2011

Obtener informacion completa de la BIOS en linux

La forma mas simple para obtener la informacion completa de la BIOS de una placa madre desde linux es ejecutando el siguiente comando desde la consola como usuario root.

# dmidecode

sábado, 3 de diciembre de 2011

Apagado del monitor desde la consola

Para apagar el monitor desde una consola en linux escribiremos el siguiente comando:

# xset dpms force off

Lo interesante es hacer un script en bash con los comando de antes y asignarlos a una combinacion de teclas, asi al pulsar una combinacion de teclas determinada apagaremos el monitor automaticamente. El monitor se volvera a encender al mover el raton o al pulsar una tecla.

lunes, 28 de noviembre de 2011

Reproducir archivos flv en linux

Los archivos con extension .flv de youtube se pueden visualizar rapidamente en linux usando ffmpeg.

Desde una consola y como root ejecutaremos:

# apt-get install ffmpeg

Una vez instalado podremos escribir en la consola:

# ffplay nombrearchivo.flv

miércoles, 2 de noviembre de 2011

Qr Codes en Linux

Para crear etiquetas Qr Codes (Quick Response Codes) en Debian solo necesitamos instalar el paquete qrencode, desde una terminal y como root ejecutaremos:

# apt-get install qrencode

Por ejemplo para crear un qr y verlo en la pantalla:

# qrencode "Hola mundo" -o -|display 


Para crearlo en un fichero:

# qrencode "Hola mundo" -o hola.png


Para poder decodificar un archivo de imagen que contiene un codigo QR
instalaremos el paquete zbar:

# apt-get install zbar-tools

Para decodificar un qr usaremos:

# zbarimg hola.png
QR-Code:Hola mundo
scanned 1 barcode symbols from 1 images in 0.02 seconds


Capacidad de datos del código QR
Solo numericoMáx. 7.089 caracteres
Alfanumérico Máx. 4.296 caracteres
Binario Máx. 2.953 bytes
KanaMáx. 1.817 caracteres

martes, 1 de noviembre de 2011

Instalar wine en Linux Mint Debian

Puesto que han eliminado Wine de los repositorios de Debian, Wine ya no esta disponible en ellos y como consecuencia tampoco viene en los repositorios de Liniux Mint Debian. La forma mas facil que he encontrado para poder instalarlo es descargar los paquetes .deb desde la web de launchpad desde la rama maverick de Ubuntu. Puesto que uso la version de 64 bits los enlaces que pongo son los de dicha version.

https://launchpad.net/~ubuntu-wine/+archive/ppa/+build/2868905

Para instalarlo solo hay que descargar los paquetes .deb dentro de un directorio cualquiera

https://launchpad.net/~ubuntu-wine/+archive/ppa/+build/2868905/+files/wine1.3-dbg_1.3.31-0ubuntu1%7Eppa1%7Emaverick1_amd64.deb

https://launchpad.net/~ubuntu-wine/+archive/ppa/+build/2868905/+files/wine1.3-dev_1.3.31-0ubuntu1%7Eppa1%7Emaverick1_amd64.deb

https://launchpad.net/~ubuntu-wine/+archive/ppa/+build/2868905/+files/wine1.3_1.3.31-0ubuntu1%7Eppa1%7Emaverick1_amd64.deb

Una vez descargados desde una terminal como root entramos dentro del directorio donde hemos guardado los .deb y ejecutaremos:

# dpkg -i *

Y si no hay ningun problema podremos ejecutar Wine en nuestra instalacion Linux Mint Debian

viernes, 19 de agosto de 2011

Menu oculto en Blackberry

Menu de Desarrollo

   Pulsar Alt+EACE

Menu de Eventos

   Pulsar Alt+LGLG

Activar el valor numerico de cobertura

   Pulsar Alt+NMLL
   Para volver a ver la barra de cobertura volver a pulsar Alt+NMLL

lunes, 20 de junio de 2011

Configuracion de exim4 para poder enviar correos desde la consola

Primero de todo instalar el paquete exima4 si no esta instalado con el siguiente comando (como usuario root claro) :


# apt-get install install exim4

Si previamente ya lo teniamos instalado ejecutaremos como usuario root:

# dpkg-reconfigure exim4-config

Configurarlo tal y como indican las siguientes pantallas













martes, 14 de junio de 2011

Velocidades no estandard en un puerto serie con linux

Para activar una velocidad no estandard en un puerto serie en linux, abre una consola y como root ejecuta

# setserial /dev/ttySn baud_base 125000

Donde n es el numero de puerto y 125000 es cualquier velocidad rara que se te ocurra.

Siempre puedes tener mas ayuda ejecutando:

# man setserial

viernes, 25 de febrero de 2011

Manifiesto Hacker

"Este mundo es nuestro... el mundo del electron y los interruptores, la belleza del byte. Utilizamos un servicio ya existente, sin pagar por eso que podria haber sido mas barato sino fuese por los especuladores. Y nos llaman delincuentes. Exploramos.... y nos llaman  delincuentes . Buscamos ampliar nuestros conocimientos... y nos llaman delincuentes.No diferenciamos el color de piel, ni la nacionalidad, ni la religion... y nos llaman delincuentes. Construyen bombas atomicas, hacen guerras, asesinan, estafan al pais y nos mienten tratando de hacernos creer que son buenos, y aun nos tratan como delincuentes.

Si soy un delincuente. Mi delito es la curiosidad. Mi delito es juzgar a la gente por lo que dice y por lo que  piensa, no por lo que parece.
Mi delito es ser mas inteligente que ustedes, algo que nunca me perdonaran.

Soy un hacker, y este es mi manifiesto. Pueden eliminar algunos de nosostros pero no pueden eliminarlos a todos... despues de todo somos iguales."

The Mentor. 08/01/1986





"This is our world now... the world of the electron and the switch, the beauty of the baud. We make use of a service already existing without paying for what could be dirt-cheap if it wasn't run by profiteering gluttons, and you call us criminals. We explore... and you call us criminals. We seek after knowledge... and you call us criminals. We exist without skin color, without nationality, without religious bias... and you call us criminals.
You build atomic bombs, you wage wars, you murder, cheat, and lie to us and try to make us believe it's for our own good, yet we're the criminals.

Yes, I am a criminal. My crime is that of curiosity. My crime is that of judging people by what they say and think, not what they look like.
My crime is that of outsmarting you, something that you will never forgive me
for.

I am a hacker, and this is my manifesto. You may stop this individual, but you can't stop us all... after all, we're all alike."

The Mentor. 08/01/1986

miércoles, 16 de febrero de 2011