ないなら自分で入れればいいじゃないかと、 telnetd を仕込んでみる。
yasunari@qube:~$ ssh -l root qvl root@LS-QVLF42:~#
root@LS-QVLF42:~# cd /boot root@LS-QVLF42:/boot# ls builddate.txt initrd.buffalo lost+found/ uImage.buffalo conf_save.tgz log.tgz u-boot_lsqvl.bin root@LS-QVLF42:/boot# dd if=initrd.buffalo of=initrd.gz bs=64 skip=1 150232+1 records in 150232+1 records out root@LS-QVLF42:/boot# root@LS-QVLF42:/boot# gunzip initrd.gz root@LS-QVLF42:/boot# mkdir /tmp/root root@LS-QVLF42:/boot# mount -o loop initrd /tmp/root root@LS-QVLF42:/boot#
root@LS-QVLF42:/boot# cd /tmp/root/etc root@LS-QVLF42:/tmp/root/etc# vi shadow : : root@LS-QVLF42:/tmp/root/etc# grep root shadow root::11009:0:99999:7::: root@LS-QVLF42:/tmp/root/etc#
root@LS-QVLF42:/tmp/root/etc# cd .. root@LS-QVLF42:/tmp/root# ls bin/ etc/ lost+found/ root/ share/ usr/ debugtool/ lib/ mnt/ rootfs/ sys/ var/ dev/ linuxrc* proc/ sbin/ tmp/ www/ root@LS-QVLF42:/tmp/root# mv linuxrc{,.orig} root@LS-QVLF42:/tmp/root# cp linuxrc{.orig,} root@LS-QVLF42:/tmp/root# vi linuxrc : : root@LS-QVLF42:/tmp/root# !cp:s/cp/diff -u/ diff -u linuxrc{.orig,} --- linuxrc.orig Mon Mar 12 14:37:14 2012 +++ linuxrc Sun Jun 17 16:46:02 2012 @@ -369,6 +369,7 @@ RamdiskRoot() { echo "-RamdiskRoot-" + /usr/sbin/telnetd echo "0x100" >/proc/sys/kernel/real-root-dev } @@ -467,7 +468,7 @@ echo "linuxrc:choose operation (timeout 4[s])" echo -n " 1:RamRoot other:HddRoot ? " ## timeout is 4[s] -ANSWER=`/usr/local/bin/keyinput -t 4` +ANSWER=1 case "$ANSWER" in 1) RamdiskRoot ;; 9) CommandMode ;; root@LS-QVLF42:/tmp/root# ls -l linuxrc* -rwxr-xr-x 1 root root 10387 Jun 17 16:46 linuxrc* -rwxr-xr-x 1 root root 10397 Mar 12 14:37 linuxrc.orig* root@LS-QVLF42:/tmp/root#
root@LS-QVLF42:/tmp/root# cp /mnt/disk1/share/hackkit/091128_lenny/busybox/busybox-telnetd_static usr/sbin/telnetd root@LS-QVLF42:/tmp/root# ls -l usr/sbin/telnetd -rwxr--r-- 1 root root 646596 Jun 17 16:52 usr/sbin/telnetd* root@LS-QVLF42:/tmp/root# chmod +x !$ chmod +x usr/sbin/telnetd root@LS-QVLF42:/tmp/root# ls -l !$ ls -l usr/sbin/telnetd -rwxr-xr-x 1 root root 646596 Jun 17 16:52 usr/sbin/telnetd* root@LS-QVLF42:/tmp/root# usr/sbin/telnetd root@LS-QVLF42:/tmp/root#
root@LS-QVLF42:/tmp/root# cd / root@LS-QVLF42:/# umount /tmp/root umount: cannot umount /mnt/ram/root: Device or resource busy root@LS-QVLF42:/# ps | grep telnetd 18524 root 868 S usr/sbin/telnetd root@LS-QVLF42:/# kill 18524 root@LS-QVLF42:/# !umount umount /tmp/root root@LS-QVLF42:/#
root@LS-QVLF42:/# cd /boot root@LS-QVLF42:/boot# mv initrd.buffalo{,.orig} root@LS-QVLF42:/boot# gzip initrd root@LS-QVLF42:/boot#mkimage はあったか?
root@LS-QVLF42:/boot# mkimage -bash: mkimage: command not found root@LS-QVLF42:/boot#ない。
root@LS-QVLF42:/boot# /mnt/disk1/share/hackkit/mkimage Usage: /mnt/disk1/share/hackkit/mkimage -l image -l ==> list image header information /mnt/disk1/share/hackkit/mkimage [-x] -A arch -O os -T type -C comp -a addr -e ep -n name -d data_file[:data_file...] image -A ==> set architecture to 'arch' -O ==> set operating system to 'os' -T ==> set image type to 'type' -C ==> set compression type 'comp' -a ==> set load address to 'addr' (hex) -e ==> set entry point to 'ep' (hex) -n ==> set image name to 'name' -d ==> use image data from 'datafile' -x ==> set XIP (execute in place) root@LS-QVLF42:/boot# /mnt/disk1/share/hackkit/mkimage -A ARM -O Linux -T ramdisk -C gzip -a 0x00000000 -e 0x00000000 -n initrd -d initrd.gz initrd.buffalo Image Name: initrd Created: Sun Jun 17 16:55:44 2012 Image Type: ARM Linux RAMDisk Image (gzip compressed) Data Size: 9890857 Bytes = 9659.04 kB = 9.43 MB Load Address: 0x00000000 Entry Point: 0x00000000 root@LS-QVLF42:/boot# ls -l initrd.buffalo* -rw-r--r-- 1 root root 9890921 Jun 17 16:55 initrd.buffalo -rw-r--r-- 1 root root 9614969 Mar 13 13:11 initrd.buffalo.orig root@LS-QVLF42:/boot#できた。
root@LS-QVLF42:/boot# reboot root@LS-QVLF42:/boot#LED は、
yasunari@qube:~$ telnet qvl Trying 192.168.2.56... Connected to qvl.yamasita.jp. Escape character is '^]'. BUFFALO INC. LinkStation series sh-3.2# sh-3.2# cat /proc/buffalo/board_info BoardId=83 BoardName=MVLSQV sh-3.2# sh-3.2#きたー。
|
← 実験用 HDD の作成 |
ハックの記録 LinkStation/玄箱 をハックしよう |
→ ハックキットのインストール |
Copyright (C) 2003-2012 Yasunari Yamashita. All Rights Reserved.
yasunari @ yamasita.jp 山下康成@京都府向日市