Recientemente he adquirido un reproductor multimedia para ver todo tipo de ficheros en la Television, el cacharro ha sido un Emtec n200, el cacharro es como un disaco duro multimedia, pero sin tener disco duro incorporado, por lo que puede leer discos usb conectados, o lo que es mas interesante montado recursos compartidos de otro ordenador. Pues bien urgando un poco mas resulta que esta montado con Linux y Emtec ha liberado la modificaciones opensource que han realizado MovieCube_SourceCode. Por ahora no se han desarrollado firmware alternativos, pero todo hace pensar que iran apareciendo cosas, mientras tanto le he pasado un nmap al cacharro y me he encontrado con el puerto 80 y el 23 abiertos:
nmap 192.168.1.100
Starting Nmap 4.62 ( http://nmap.org ) at 2009-07-22 17:09 CEST
Interesting ports on 192.168.1.100:
Not shown: 1713 closed ports
PORT STATE SERVICE
23/tcp open telnet
80/tcp open http
Nmap done: 1 IP address (1 host up) scanned in 8.995 seconds
Accediendo por web aparece un cgi que suma de ejemplo, ¡Que cutre! Como sacan eso en el producto definitivo, pero esperen no se vayan todavia, si hacemos un telnet….
telnet 192.168.1.100
Trying 192.168.1.100...
Connected to 192.168.1.100.
Escape character is '^]'.
Venus login: root
warning: cannot change to home directory
BusyBox v1.1.3 (2009.05.11-02:44+0000) Built-in shell (ash)
Enter 'help' for a list of built-in commands.
/ #
Si ponemos root, y no ponemos password, estamos dentro…. y podemos ver un poco las cosas por dentro
# uname -a
Linux Venus 2.6.12.6-VENUS #1 Mon May 11 10:42:33 CST 2009 mips unknown
# ps ax
PID Uid VmSize Stat Command
1 root 364 S init
2 root SWN [ksoftirqd/0]
3 root SW< [events/0]
4 root SW< [khelper]
5 root SW< [kthread]
6 root SW< [kblockd/0]
7 root SW [khubd]
8 root SW [pdflush]
9 root SW [pdflush]
11 root SW< [aio/0]
12 root SW< [cifsoplockd]
13 root SW< [cifsdnotifyd]
10 root SW [kswapd0]
14 root SW [eth0]
15 root SW [mtdblockd]
27 root 368 S init
28 root 368 S init
31 root 368 S init
34 root 368 S init
55 root SW< [sata_eh/0]
60 root 404 S inetd
65 root SW [scsi_eh_0]
66 root SW [scsi_eh_1]
82 root 168 S ./RootApp DvdPlayer
83 root 168 S ./RootApp DvdPlayer
86 root 8764 S < DvdPlayer
87 root 168 S ./RootApp DvdPlayer
94 root 8764 S DvdPlayer
[...]
146 root 8764 S DvdPlayer
147 root 8764 S DvdPlayer
148 root 8764 S DvdPlayer
149 root 8764 S DvdPlayer
156 root SW [scsi_eh_2]
157 root SW [usb-storage]
173 root 360 S /sbin/udhcpc -p /var/lock/udhcpc_eth0.pid -t 15 -b -s
1197 root SW [cifsd]
1207 root 8764 S DvdPlayer
1208 root 8764 S DvdPlayer
1211 root 8764 S DvdPlayer
1259 root 8764 S DvdPlayer
1285 root 308 S telnetd
1286 root 488 S -sh
1301 root 352 R ps ax
# mount
/dev/root on / type yaffs2 (ro,noatime)
none on /dev type devfs (rw)
none on /proc type proc (rw,nodiratime)
devpts on /dev/pts type devpts (rw)
none on /sys type sysfs (rw)
/dev/mtdblock/2 on /usr/local/etc type yaffs2 (rw,noatime)
none on /tmp type ramfs (rw)
/dev/rd/0 on /mnt/rd type vfat (rw,nodiratime,fmask=0022,dmask=0022,codepage=cp437,iocharset=iso8859-1)
//192.168.1.22/OPT2 on /tmp/netb/mnt/My_Shortcuts/SAMPLESERVER:damia/OPT2 type cifs (rw,nodiratime,recovery,unc=\\192.168.1.22\OPT2,username=sample,domain=SAMPLE.NET,rsize=32768,wsize=57344)
# cat /proc/cpuinfo
system type : Realtek Venus
processor : 0
cpu model : MIPS 24K V7.8
BogoMIPS : 269.51
wait instruction : yes
microsecond timers : yes
tlb_entries : 32
extra interrupt vector : yes
hardware watchpoint : yes
ASEs implemented : mips16
VCED exceptions : not available
VCEI exceptions : not available
# cat /proc/meminfo
MemTotal: 121856 kB
MemFree: 29672 kB
Buffers: 60 kB
Cached: 6800 kB
SwapCached: 0 kB
Active: 10788 kB
Inactive: 1448 kB
HighTotal: 0 kB
HighFree: 0 kB
LowTotal: 121856 kB
LowFree: 29672 kB
SwapTotal: 32 kB
SwapFree: 32 kB
Dirty: 0 kB
Writeback: 0 kB
Mapped: 10028 kB
Slab: 4392 kB
CommitLimit: 60960 kB
Committed_AS: 10640 kB
PageTables: 388 kB
VmallocTotal: 1048548 kB
VmallocUsed: 1012 kB
VmallocChunk: 1047176 kB
Mirando el /etc
# ls -l /etc
-rw-r--r-- 1 1010 1013 341 May 11 2009 fstab
lrwxrwxrwx 1 1010 1013 22 Jun 4 2009 group -> ../usr/local/etc/group
-rw-r--r-- 1 1010 1013 6 May 11 2009 hostname
-rw-r--r-- 1 1010 1013 20 May 11 2009 hosts
-rw-r--r-- 1 1010 1013 385 May 11 2009 httpd.conf
-rw-r--r-- 1 1010 1013 460 May 11 2009 inetd.conf
drwxr-xr-x 1 1010 1013 2048 May 11 2009 init.d
lrwxrwxrwx 1 1010 1013 28 Jun 4 2009 ld.so.cache -> ../usr/local/etc/ld.so.cache
lrwxrwxrwx 1 1010 1013 27 Jun 4 2009 ld.so.conf -> ../usr/local/etc/ld.so.conf
lrwxrwxrwx 1 1010 1013 14 Jun 4 2009 mtab -> ../proc/mounts
lrwxrwxrwx 1 1010 1013 23 Jun 4 2009 passwd -> ../usr/local/etc/passwd
lrwxrwxrwx 1 1010 1013 24 Jun 4 2009 passwd- -> ../usr/local/etc/passwd-
lrwxrwxrwx 1 1010 1013 24 Jun 4 2009 profile -> ../usr/local/etc/profile
drwxr-xr-x 1 1010 1013 2048 May 11 2009 reexec_init
lrwxrwxrwx 1 1010 1013 26 Jun 4 2009 resolv.conf -> /usr/local/etc/resolv.conf
-rw-r--r-- 1 1010 1013 20373 May 11 2009 services
-rw-r--r-- 1 1010 1013 7 May 11 2009 system_svn_version
-rwxr-xr-x 1 1010 1013 1893 May 11 2009 udhcpc.script
Seguro que alguien mas como yo ya lo esta mirando para hackearlo, y hacer cosas nuevas con el.
PD: Por lo visto no es tan facil meterle mano, ya que lo que es el core que reproducr, accede al video, etc.. esta metido en un binario que no es GPL. Mas info aqui